IT女子がお届けするオフィスワーク効率化・VBA技術紹介

ノンプログラマーによるノンプログラマーのためのやさしい解説付き

スポンサーリンク

【Excel実務】文字列(数値)一覧を比較して差分チェックをしたい

こんにちは。@excelprogです。

エクセルとプログラミングで毎日のオフィスワークを進歩(progress)させましょう!


A列とB列の文字列を比較して、下記のような差分チェックをする作業を想定した記事です。

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

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

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

f:id:excel-accounting:20180501164624p:plain:w400

実例

会計システムから出力した「X月15日締めの伝票番号一覧」と「X月末日締めの伝票番号一覧」を突き合わせて、「15日~末日の間に増加した伝票一覧」を抽出したい。

f:id:excel-accounting:20180325112009p:plain

「両方の列を昇順ソートして差分をみる」が手っ取り早く思えますが、上記の例だと、伝票の種類によって番号の先頭が「1からはじまる」「2からはじまる」「3からはじまる」の3種類存在するので、昇順ソートだけではわからないんですね。

使用関数

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

  • IF関数
  • COUNTIF関数


f:id:excel-accounting:20180325112228p:plain

「末日伝票」を1件ずつ「15日伝票」でCOUNTIFして、結果0件だったら”追加伝票”と判定する単純な仕組みです。

f:id:excel-accounting:20180325112431p:plain

関数チェックだけで満足せず、検証もきちんとしましょうね!

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

なので、増加伝票は6件のはずなのですが、件数チェックをすると7件!

ここから想定できるのが、『15日時点で存在した伝票のうちの1件が、末日までの間に削除されている』ということです。

これも同じ要領で関数チェックしてみます。C列に列を追加して、

f:id:excel-accounting:20180325113242p:plain

やはり1件削除されていました。

15日時点では存在した20005が末日には消えています。

f:id:excel-accounting:20180325113952p:plain

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

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

スポンサーリンク