例えば、メーリングリストがあり、その中から配信したくないメールアドレスを削除して、配信したいメールアドレスのみを取得する場合に使える方法です。
以下のようにA行へ元データ一覧が存在して、C行にはA行から削除したいデータ群が存在するとします。
B2へ
1 |
=IF(COUNTIF(OFFSET($C$2,,,COUNTA(C:C),1),A2),"",A2) |
と入力して、下へオートフィルして下さい。以下のように、削除データのマスは空白になり、それ以外はA行のデータが表示されます。
これで、A行からC行のデータを取り除いたものがB行へ表示されます。
1 |
=IF(COUNTIF(OFFSET($C$2,,,COUNTA(C:C),1),A2),"",A2) |
の解説です。
1 |
OFFSET($C$2,,,COUNTA(C:C),1) |
これは、C行2列目から最終行までを意味しています。1 は、C行のみを意味しています。2 だと C行とD行を意味します。
1 |
COUNTIF(OFFSET($C$2,,,COUNTA(C:C),1),A2) |
C行2列目から最終行までにA2と等しいデータが何個あるかを計算します。
1 |
IF(COUNTIF(OFFSET($C$2,,,COUNTA(C:C),1),A2),"",A2) |
もし、A2 と等しいデータが C行にあった場合は、 A2の値を入力し、無い場合は、空白を入力します。
如何でしょうか?中々ネットで検索しても出てこないので、記事にしました。お役に立てれば幸いです。
あ、よく考えれば、C行にA2と等しいデータが何個あるか?を計算するだけならば、
1 |
=IF(COUNTIF(C:C,A2),"",A2) |
でもいけますね。