Excel

【Excel実務】IF関数とCOUNTIF関数でリストの差分比較をする

ねぇもりさん、2つのリストを目で見比べて、違いを確認する作業をやってるんだ。なんか良い方法ないかな~?
もりさん
もりさん
それなら、関数を使ってサクッと調べちゃおう!

Excel作業で、列同士の文字列や数字を比較して、差分チェックをすることってありますよね。

たとえば、A列とB列の文字列を比較して、

  • A列にあってB列にないもの
  • B列にあってA列にないもの
  • A列B列両方にあるもの

まさかこれを全件目視でチェックするなんて・・・苦行ですよね。

ここはサクッと関数でチェックしちゃいましょう。

Excelシートの二つのリストを比較する

「X月15日締めの伝票番号一覧」と「X月末日締めの伝票番号一覧」を比較して、「15日~末日の間に増加した伝票一覧」を抽出します。

Excelリスト比較サムネイル

「両方の列を昇順ソートして同じ行の値比較する」方法がありますが、上記の例の場合、伝票の種類によって番号の先頭が「1からはじまる」「2からはじまる」「3からはじまる」の3種類存在するので、昇順ソートでは比較できないのです。

使用する関数

この作業で使用するのは、毎度おなじみこの2つです。

  • IF関数
  • COUNTIF関数

IF関数とCOUNTIT関数を入れ子にして使用します。

Excelリスト比較2

「C列の伝票番号」が「B列の一覧」に存在するか、COUNTIF関数で件数を確認します。

もし、COUTIF関数の結果が0件であれば、C列の伝票番号はB列に存在しないことがわかります。

つまり、それは15日~末日までの間の”追加伝票”となります。

Excelリスト比較3

「C列にあってB列にない伝票番号」が7件ありますね。

関数のチェックだけでなく、念には念を、件数確認もしましょう!

  • 15日伝票:15件
  • 末日伝票:21件

追加伝票は6件のはずなのですが、なぜか7件ありますね。

ここから考えられるのが、「15日時点で存在した伝票のうちの1件が、末日までの間に削除されている」ことです。

これも関数でチェックしてみましょう。
C列に列を追加します。

「B列の伝票番号」が「D列の一覧」に存在するか、COUNTIF関数で件数を確認します。

Excelリスト比較4

やはり1件削除されていました。
15日時点では存在した20005が末日には消えています。

Excelリスト比較5

これで件数チェックの整合性もOKですね。

差分チェックは関数を使ってサクッと、正確に、片づけちゃいましょう。

もりさん
もりさん
目視点検なんてぜったいダメだよ!
そもそも人間の目はあてにならないし、時間もかかるからね
2020年・小学校でプログラミング教育が必修化

2020年、いよいよ小学校でプログラミング授業が始まります。続く2021年からは「中学校」で開始。2022年からは「高校」でも導入されます。

あと何年かしたら、あたりまえにプログラミングを使いこなす新入社員が入ってくるかもしれません。2020年、大人も一緒に学んでみませんか?

1週間のオンライン無料体験
いつでもどこでも今すぐ視聴OK