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

Excel で2 つの列間のすべての一致/重複をカウントする

著者Xiaoyang変更日

2 つのデータ列を比較し、両方に含まれるすべての一致または重複をカウントするのは、多くのユーザーにとって日常的な作業です。たとえば、2 つの名前のリストがあり、一部の名前が第1 列と第2 列の両方に存在しているとします。このような場合、下記のスクリーンショットのように、2 つの列のどこにあっても一致するすべての名前をカウントしたいときがあります。本チュートリアルでは、その目的をExcel で実現するための数式をいくつかご紹介します。

doc-count-all-matches-in-two-cols-1


SUMPRODUCT 関数と COUNTIF 関数で2 つの列間のすべての一致をカウントする

2 つの列間のすべての一致をカウントするには、SUMPRODUCT 関数と COUNTIF 関数を組み合わせるのが便利です。一般的な構文は次のとおりです:

=SUMPRODUCT(COUNTIF(range1,range2))
  • range1, range2この2 つの範囲には、すべての一致をカウントしたいデータが含まれています。

以下の数式を空白セルに入力またはコピーし、Enterキーを押して結果を取得してください:

=SUMPRODUCT(COUNTIF(A2:A12,C2:C12))

doc-count-all-matches-in-two-cols-2


数式の説明:

=SUMPRODUCT(COUNTIF(A2:A12,C2:C12))

  • COUNTIF(A2:A12,C2:C12):この COUNTIF 関数は、列 C の各名前が列 A に含まれているかをチェックします。含まれている場合は「1」、含まれていない場合は「0」を返します。具体的には、次のような結果になります:{1;1;0;0;0;1;0;0;1;0;1}。
  • SUMPRODUCT(COUNTIF(A2:A12,C2:C12))=SUMPRODUCT({1;1;0;0;0;1;0;0;1;0;1}):SUMPRODUCT 関数はこの配列内のすべての要素を合計し、結果として5 を得ます。

COUNT 関数と MATCH 関数で2 つの列間のすべての一致をカウントする

COUNT 関数と MATCH 関数を組み合わせれば、2 つの列間で一致する値の個数を簡単に取得できます。一般的な構文は次のとおりです:

{=COUNT(MATCH(range1,range2,0))}
Array formula, should press Ctrl + Shift + Enter keys together.
  • range1, range2この2 つの範囲には、すべての一致をカウントしたいデータが含まれています。

次の数式を空白セルに入力またはコピーし、正しい結果を得るためにCtrl + Shift + Enterキーを同時に押してください(スクリーンショット参照):

=COUNT(MATCH(A2:A12,C2:C12,0))

doc-count-all-matches-in-two-cols-3


数式の説明:

=COUNT(MATCH(A2:A12,C2:C12,0))

  • MATCH(A2:A12,C2:C12,0):この MATCH 関数は、列 A の各名前を列 C 内から検索し、一致する値の位置を返します。見つからない場合はエラー値が表示されるため、次のような配列が得られます:{11;2;#N/A;#N/A;#N/A;6;1;#N/A;#N/A;#N/A;9}。
  • COUNT(MATCH(A2:A12,C2:C12,0))= COUNT({11;2;#N/A;#N/A;#N/A;6;1;#N/A;#N/A;#N/A;9}):COUNT 関数はこの配列内の数値をカウントし、結果は5 になります。

SUMPRODUCT 関数、ISNUMBER 関数、MATCH 関数で2 つの列間のすべての一致をカウントする

Excel では、SUMPRODUCT 関数、ISNUMBER 関数、MATCH 関数を組み合わせて、2 つの列に含まれる一致する値を検索し、その件数をカウントすることも可能です。一般的な構文は次のとおりです:

=SUMPRODUCT(--(ISNUMBER(MATCH(range1,range2,0))))
  • range1, range2この2 つの範囲には、すべての一致をカウントしたいデータが含まれています。

以下の数式を空白セルに入力またはコピーして結果を出力し、計算結果を返すためにEnterキーを押してください(スクリーンショット参照):

=SUMPRODUCT(--(ISNUMBER(MATCH(A2:A12,C2:C12,0))))

doc-count-all-matches-in-two-cols-4


数式の説明:

=SUMPRODUCT(--(ISNUMBER(MATCH(A2:A12,C2:C12,0))))

  • MATCH(A2:A12,C2:C12,0):この MATCH 関数は、列 A の各名前を列 C 内から検索し、一致する値の位置を返します。見つからない場合はエラー値が表示されるため、次のような配列が得られます:{11;2;#N/A;#N/A;#N/A;6;1;#N/A;#N/A;#N/A;9}。
  • ISNUMBER(MATCH(A2:A12,C2:C12,0))= ISNUMBER({11;2;#N/A;#N/A;#N/A;6;1;#N/A;#N/A;#N/A;9}):ここでは、ISNUMBER 関数が配列内の数値を TRUE に、それ以外の値(例:#N/A)を FALSE に変換します。その結果、次のような配列が得られます:{TRUE;TRUE;FALSE;FALSE;FALSE;TRUE;TRUE;FALSE;FALSE;FALSE;TRUE}。
  • --(ISNUMBER(MATCH(A2:A12,C2:C12,0)))=--({TRUE;TRUE;FALSE;FALSE;FALSE;TRUE;TRUE;FALSE;FALSE;FALSE;TRUE}):この二重マイナス記号(--)は、TRUE を1 に、FALSE を0 に変換し、次のような結果を返します:{1;1;0;0;0;1;1;0;0;0;1}。
  • SUMPRODUCT(--(ISNUMBER(MATCH(A2:A12,C2:C12,0))))=SUMPRODUCT({1;1;0;0;0;1;1;0;0;0;1}):最後に、SUMPRODUCT 関数がこの配列内のすべての要素を合計し、結果として5 が得られます。

関連する関数:

  • SUMPRODUCT
  • SUMPRODUCT 関数を使えば、2 つ以上の列や配列の要素をそれぞれ掛け合わせ、その積の合計を簡単に求められます。
  • COUNTIF
  • COUNTIF 関数はExcel の統計関数で、指定した条件を満たすセルの個数をカウントするために使われます。
  • COUNT
  • COUNT 関数は、数値を含むセルの個数や、引数リストに含まれる数値の個数をカウントするために使用されます。
  • MATCH
  • Microsoft Excel の MATCH 関数は、指定されたセル範囲内で特定の値を検索し、その値の相対位置を返します。
  • ISNUMBER:
  • ISNUMBER 関数は、セルに数値が含まれている場合は TRUE を、そうでない場合は FALSE を返します。

関連記事:

  • 2 つの列間での一致の個数をカウントする
  • たとえば、列 A と列 C にそれぞれデータリストがあり、これら2 つの列を比較して、列 A の各値が同じ行の列 C に含まれているかどうかをカウントしたいとします(下記スクリーンショット参照)。このようなタスクには、Excel で SUMPRODUCT 関数を使うのが最適です。
  • Excel で特定のテキストを含むセルの個数をカウントする
  • テキスト文字列のリストの中から、特定のテキストを一部に含むセルの個数をカウントしたい場合があります。そんなときは、COUNTIF 関数の条件に、任意のテキストや文字を表すワイルドカード「*」を活用できます。本記事では、Excel でこの操作を行うための数式の使い方をご紹介します。
  • Excel で複数の値と一致しないセルの個数をカウントする
  • Excel では、COUNTIF 関数を使えば特定の値と一致しないセルの個数を簡単に取得できますが、複数の値と一致しないセルをカウントしたことはありますか?たとえば、列 A にある製品の総数を取得したいものの、下記スクリーンショットのように C4:C6 の特定アイテムを除外したい場合です。本記事では、Excel でこのタスクを解決するためのいくつかの数式をご紹介します。

最高の Office 生産性ツール

Kutools for Excel - あなたを群衆の中から際立たせます

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

Kutools for Excel は300 以上の機能を備えており、必要な機能が常にワンクリックで利用できます…


Office Tab - Microsoft Office(Excel を含む)でタブを使った閲覧・編集を可能にします

  • 数十もの開いているドキュメントを1 秒で切り替えられます!
  • 毎日何百回ものマウスクリックを削減して、マウス手の悩みともさよならしましょう。
  • 複数のドキュメントを閲覧・編集する際の生産性が50%も向上します。
  • Office(Excel を含む)に、Chrome、Edge、Firefox のような効率的なタブ機能をもたらします。