KutoolsforOffice— 1 つのソリューション、5 つの強力なツール。少ない労力で大きな成果。

Excel で2 つのセル内のカンマ区切り値を比較し、重複する値や一意の値を抽出するにはどうすればよいですか?

著者Siluvia変更日

以下のスクリーンショットのように、列1 と列2 の2 つの列があり、各セルにはカンマ区切りの数値が含まれています。列1 のカンマ区切り数値を同じ行の列2 のセル内容と比較し、すべての重複値または一意の値を取得するには、どうすればよいでしょうか?

このチュートリアルでは、このタスクを実行する2 つの方法をご紹介します。

2つのセル内のカンマ区切りの値を比較


数式を使用して2 つのセル内のカンマ区切り値を比較し、重複値または一意の値を返す

このセクションでは、2 つのセルに含まれるカンマ区切りの値を比較し、その間に存在する重複値や一意の値を返すための2 つの数式をご紹介します。

:以下の数式は、Excel 365 でのみご利用いただけます。他のバージョンのExcel をご利用の場合は、下記の VBA メソッドをお試しください

上記の2 つの列を例に挙げて、列1 のカンマ区切り数値を同じ行の列2 のカンマ区切り数値と比較し、重複値または一意の値を取得するには、次のように操作してください。

サンプルデータ

重複値を返す重複する値

1。2 つの指定セル間で重複する数値をカンマ区切りで出力するセルを選択します。ここではセル D2 を選択し、次の数式を入力してEnterキーを押してください。その後、数式が入力されたセルを選択し、そのオートフィルハンドルを下にドラッグして、他の行のセル間にある重複数値を取得します。

=LET(x, TRANSPOSE(TEXTSPLIT(TEXTJOIN(", ",TRUE,A2:B2), ", ")),y,UNIQUE(x),z,UNIQUE(x,,1), TEXTJOIN(", ",TRUE,IF(ISERROR(MATCH(y,z,0)),y, 「」)))

 重複する値を返すために比較

一意の値を返す

同じ行にある2 つの指定セル内のカンマ区切り数値から一意の数値を抽出するには、次の数式が役立ちます。

1。一意の数値を出力するセルを選択します。ここではセル E2 を選択し、次の数式を入力してください。Enterキーを押してください。その後、数式が入力されたセルを選択し、そのオートフィルハンドルを下にドラッグして、他の行にも一意の数値を適用します。

=TEXTJOIN(", ",TRUE,UNIQUE(TRANSPOSE(TEXTSPLIT(TEXTJOIN(", ",TRUE,A2:B2), ", ")),,1))

一意の値を返すために比較

1) 上記の2 つの数式は、365 用Excel でのみ使用できます。365 用Excel 以外のバージョンをご使用の場合は、以下の VBA メソッドをお試しください。
2) 比較対象のセルは、同じ行または列内で隣接している必要があります。
kutools for excel AIのスクリーンショット

KUTOOLS AI でExcel の魔法を解き放ちましょう

  • スマート実行:セル操作、データ分析、チャート作成をすべてシンプルなコマンドで実現します。
  • カスタム数式:ワークフローの効率化に役立つ、あなただけのカスタマイズ数式を生成します。
  • VBA コーディング:VBA コードを簡単に記述・実装できます。
  • 数式の解釈:複雑な数式が簡単に理解できます。
  • テキスト翻訳:スプレッドシート内で言語の壁を乗り越えましょう!
AI 搭載のツールでExcel の機能をさらに強化しましょう。今すぐダウンロードして、これまでにない効率を体験してください!

VBA を使用してカンマ区切り値を含む2 つの列を比較し、重複値または一意の値を返す

このセクションで提供されるユーザー定義関数を使えば、2 つの指定セル内のカンマ区切り値を比較し、その間に重複する値や一意の値を簡単に抽出できます。以下の手順に従って操作してください。

上記と同じ例を使用して、列1 のカンマ区切り数値を同じ行の列2 のカンマ区切り数値と比較し、重複値または一意の値を返すには、このセクションのユーザー定義関数をお試しください。

 サンプルデータ

1。開いているブックで、AltF11キーを押すと、Microsoft Visual Basic for Applicationsウィンドウが開きます。

2。Microsoft Visual Basic for Applicationsウィンドウで、挿入 > モジュールをクリックし、次の VBA コードをモジュール(コード)ウィンドウにコピーしてください。

 コードをモジュールにコピーして貼り付け

VBA コード:2 つのセル内のカンマ区切り値を比較し、重複値/一意の値を返す

Private Function COMPARE(Rng1, Rng2 As Range, Op As Boolean)
'Updated by Extendoffice 20221019
    Dim R1Arr As Variant
    Dim R2Arr As Variant
    Dim Ans1 As String
    Dim Ans2 As String
    Dim Separator As String
    Dim d1 As New Dictionary
    Dim d2 As New Dictionary
    Dim d3 As New Dictionary
    Application.Volatile

    Separator = ", "
    
    R1Arr = Split(Rng1.Value, Separator)
    R2Arr = Split(Rng2.Value, Separator)
    
    Ans1 = ""
    Ans2 = ""
    
    For Each ch In R2Arr
        If Not d2.Exists(ch) Then
            d2.Add ch, "1"
        End If
    Next
    
    If Op Then
        For Each ch In R1Arr
            If d2.Exists(ch) Then
                If Not d3.Exists(ch) Then
                    d3.Add ch, "1"
                    Ans1 = Ans1 & ch & Separator
                End If
            End If
        Next
        If Ans1 <> "" Then
            Ans1 = Mid(Ans1, 1, Len(Ans1) - Len(Separator))
        End If
        COMPARE = Ans1
    Else
        For Each ch In R1Arr
            If Not d1.Exists(ch) Then
                d1.Add ch, "1"
            End If
        Next
        
        For Each ch In R1Arr
            If Not d2.Exists(ch) Then
                If Not d3.Exists(ch) Then
                    d3.Add ch, "1"
                    Ans2 = Ans2 & ch & Separator
                End If
            End If
        Next
        For Each ch In R2Arr
            If Not d1.Exists(ch) Then
                If Not d3.Exists(ch) Then
                    d3.Add ch, "1"
                    Ans2 = Ans2 & ch & Separator
                End If
            End If
        Next
        If Ans2 <> "" Then
            Ans2 = Mid(Ans2, 1, Len(Ans2) - Len(Separator))
        End If
        COMPARE = Ans2
    End If

End Function

3。モジュール(コード)ウィンドウにコードを貼り付けた後、ツール > 参照設定をクリックして参照設定 – VBAProjectウィンドウを開き、Microsoft Scripting Runtimeのチェックボックスをオンにして、OKボタンをクリックします。

 [ツール] > [参照設定] をクリックし、[Microsoft Scripting Runtime] チェックボックスをオン

4。Alt+Qキーを押して、Microsoft Visual Basic for Applicationsウィンドウを閉じます。

5。次に、カンマ区切り値を含む2 つのセルから重複値と一意の値をそれぞれ取得するために、2 つの関数を別々に適用する必要があります。

重複値を返す

重複数値を出力するセルを選択します。この例ではセル D2 を選択し、次の数式を入力してEnterキーを押し、セル A2 と B2 の間の重複数値を取得します。

数式が入力されたセルを選択し、オートフィルハンドルを下方向にドラッグして、他の行のセル間で重複する値を抽出します。

=COMPARE(A2,B2,TRUE)

 数式を使用して重複する値を返す

一意の値を返す

一意の数値を出力するセルを選択します。この例では、セル E2 を選択し、次の数式を入力してください。Enterキーを押して、セル A2 と B2 の間にある一意の数値を取得します。

数式が入力されたセルを選択し、オートフィルハンドルを下にドラッグして、各行のセルに一意の数値を自動入力しましょう。

=COMPARE(A2,B2,FALSE)

数式を使用して一意の値を返す

最高の Office 業務効率化ツール

🤖KUTOOLS AI アシスタント:次に基づいてデータ分析を革新します:インテリジェント実行     コード生成  カスタム数式作成    データ分析とチャート生成  拡張機能呼び出し
人気の機能検索・ハイライト、または重複をマーキング     空白行を削除する     データを失うことなく列の結合またはセルを     数式を使用しない四捨五入...
スーパー LOOKUP複数条件 VLookup    複数値 VLookup     複数シート間 VLookup      ファジーマッチ....
高度なドロップダウンリストドロップダウンリストをすばやく作成     連動型ドロップダウンリスト     複数選択可能なドロップダウンリスト....
列マネージャー指定した数の列を追加列の移動非表示列の表示状態を切り替え範囲および列の比較...
注目の機能グリッドフォーカス     デザインビュー   強化された数式バー    ワークブックとシートマネージャー     リソースライブラリ(オートテキスト)  日付ピッカー     ワークシートの統合    暗号化/セルの復号化    リストからメール送信     スーパーフィルター      特殊フィルタ(太字のフォントを持つセルをフィルタリング/斜体/取り消し線。。。) 。。。
トップ15 ツールセット12 テキストツールテキストの追加特定の文字を削除、...)   50+チャートタイプガントチャート、...)   40+実用的関数誕生日に基づいて年齢を計算します、...)   19 挿入ツールQR コードを挿入パスから画像を挿入、...)   12 変換ツール単語に変換する為替レートの変換、...)   7 結合と分割ツール高度な行のマージセルの分割、...)さらに多数
Kutools はお好みの言語でご利用いただけます。英語、スペイン語、ドイツ語、フランス語、中国語、および40+の他の言語をサポートしています!

Kutools for Excel でExcel スキルを強化し、これまでにない効率を体験しましょう。Kutools for Excel は、生産性を高め、時間を大幅に節約できる高度な機能を300 以上提供します。最も必要な機能を今すぐ入手するにはこちらをクリック。。。


Office Tab は Office にタブインターフェースをもたらし、作業を大幅に簡単にします

  • Word、Excel、PowerPoint でタブを使った編集と閲覧を有効にします。Publisher、Access、Visio、Project でもご利用いただけます。
  • 複数のドキュメントを、新しいウィンドウではなく、同じウィンドウ内の新しいタブで開いたり作成したりできます。
  • 日々の生産性を50%も向上させ、毎日数百回ものマウスクリックを削減します!

すべてのKutools アドインが、たった1 つのインストーラーで完結。

Kutools for Officeスイートには、Excel ・Word ・Outlook ・PowerPoint 用のアドインと Office Tab Pro が含まれており、複数の Office アプリを横断して作業するチームに最適です。

ExcelWordOutlookTabsPowerPoint
  • オールインワンスイート— Excel、Word、Outlook、PowerPoint 用アドイン+Office Tab Pro
  • インストーラー1 つ、ライセンス1 つ— 数分でセットアップ可能(MSI 対応)
  • 連携してさらにパワーアップ— Office アプリ全体で生産性が向上
  • 30 日間のフル機能トライアル— 登録不要、クレジットカード不要
  • 最高のお得感— 個別アドイン購入よりお得