Excelで2つのリストを照合する

「2つのイベントの参加者のリストがあり、両方に参加された方のみを調べたい」について考えてみました。

MATCH関数を使う

次のようにMATCH関数を使うことで、ほかのリスト内に同じものがあるかを調べることができます。

=MATCH([@イベントAの参加者リスト],テーブル2[イベントBの参加者リスト],0)

つまり、

=MATCH(調べたいセル,照合する範囲,0)

のように入力することで、右側のリストの何番目に合致しているかを調べることができます。

最後の引数に「0」を設定することで、一致する値のみが検索の対象になります。

人数を調べる

COUNT関数を使って、両方に参加された方のみを調べます。

=COUNT(テーブル1[Bに参加しているか])

整形

ISERROR関数を使うことで、「#N/A」になる値を調べることができます。

=ISERROR(MATCH([@イベントAの参加者リスト],テーブル2[イベントBの参加者リスト],0))

FALSEのときだけ、MATCH関数で計算させれば、照合されない行は空白になります。

=IF([@照合]=FALSE,MATCH([@イベントAの参加者リスト],テーブル2[イベントBの参加者リスト],0),"")

次のようにマージすることもできます。

=IF(ISERROR(MATCH([@イベントAの参加者リスト],テーブル2[イベントBの参加者リスト],0)),"",MATCH([@イベントAの参加者リスト],テーブル2[イベントBの参加者リスト],0))

この場合、「ISERRORでエラーのときには空白、そうでなければ計算する」のように、引き数が逆になります。