エクセルでA列とB列の差分を調べる方法

サイト運営しているとページの削除や画像の削除などがあった場合、過去と現在の差分を調べたいことがあります。差分を調べるソフトもあるのかもしれませんが、今回はエクセルを使って差分を調べたいと思います。

以下のようにエクセルのA列とB列に調べたい文字列をひとつずつ入力します。今回はURLを入れてみました。

ExcelのA列とB列の比較例

A列
http://www.example.com/001.html
http://www.example.com/002.html
http://www.example.com/003.html
http://www.example.com/004.html
http://www.example.com/005.html

B列
http://www.example.com/001.html
http://www.example.com/003.html
http://www.example.com/005.html

内容が少ないので目視でも差分は確認できますがA列にあってB列にないのは002.htmlと004.htmlです。

A列にあってB列にないものをC列に出したいと思います。
C列の1行目に以下の関数を入力します。

=IF(COUNTIF($B$1:$B$3,A1)=0,A1,””)

上記の関数を言葉で説明すると「B列の1行目~3行目の間にA列1行目の文字列はあるか?」と言うことになります。文字列がない場合、その文字列を表示するので、C列1行目には何も表示されません。
あとはA列2行目から5行目までを同様に調べていきます。関数を手入力してもいけますが、面倒なのと間違えがあってはいけないのでC列1行目を選択して5行目まで引っ張ります

C列の1行目を5行目までコピー

そうするとC列にB列にはなかった002.htmlと004.htmlが表示されます。

A列とB列の差分抽出結果

ちなみにC列のそれぞれの関数は以下のようになります。

=IF(COUNTIF($B$1:$B$3,A2)=0,A2,””)
=IF(COUNTIF($B$1:$B$3,A3)=0,A3,””)
=IF(COUNTIF($B$1:$B$3,A4)=0,A4,””)
=IF(COUNTIF($B$1:$B$3,A5)=0,A5,””)

私は抽出された結果をテキストエディタで加工(不要な空行を削除など)して使っています。

  • このエントリーをはてなブックマークに追加
  • Pocket   
  • 5 follow us in feedly
comments powered by Disqus