エクセルでデータを扱っていると「入力されている2つのデータが同じかどうかチェックしたい」という状況に直面します。今回はそんな場合に使える方法をいくつかご紹介します。比較後のチェックを楽にするために条件付き書式を使って異なる部分をハイライトする方法も一緒にご紹介します。
下記では例題として次のようなデータがA列とB列に入っており、両者を比較して違いがあるかどうかを見ていきます。
イコール(=)でつなぐ
もっとも簡単に入力値が同じかどうかを確認するには、単純に二つのセルの値をイコールでつなぎ判定する方法があります。もし二つのセルの値が同じであれば「TRUE」、そうでなければ「FALSE」が値として帰ってきます。
例えば例題として挙げた表の値1と2が同じかどうか判定する式としてC2セルには次のような式を入力してやります。
= A2=B2
C2セルの数式をコピーしてC9セルまでコピーしてやれば、判定結果として以下のような値が得られます。C5セルのみFALSEになっていることがわかります。
ここでもう一つ注意しなければならないのがC8セルはTRUEとなっている点です。単純にイコール(=)でつなぐだけではアルファベットの大文字と小文字を区別してくれないので注意が必要です。
Exact関数を使用する
イコール(=)でつないだ場合はアルファベットの大文字・小文字が区別されませんでしたが、これを回避するExact関数を使う方法があります。Exact関数はその名の通り引数の値が同じであればTRUEを、そうでなければFALSEを返します。
Exact関数
[戻り値] = EXACT([引数1], [引数2])
具体例に適用してみると、例えばC2セルには次のような式を入れてやります。
= EXACT(A2, B2)
実際に具体例に適用した結果は以下のようになります。先ほどの場合と違ってC8セルもFALSEになっています。
ちなみに、アルファベットの大文字・小文字を区別するだけであれば、一度元の値を全てLOWER関数やUPPER関数を用いて大文字や小文字にすべて変換してやってから比較するということも可能ですが、EXACT関数を使う方が作業は少なくて済むとおもいます。
異なる箇所を抽出する
上記の例では比較したいデータがそれほど多くないので目視で「FALSE」を探しても苦にはなりませんが、何千何万というデータを比較したい場合には目視で行うのは非効率です。
異なっている部分があるかどうかは、フィルター機能を使って「FALSE」のみを抽出したり、条件付き書式を使ってFALSEとなっている部分だけ色を変えるなどでわかりやすくすることが可能です。
フィルター機能を使う
フィルター機能はリボンのデータタブからフィルターという項目をクリックすることで設定することができます。上記の例でいえば、まずA1~C1のデータ項目の部分を選択し、リボンから以下のようにフィルターを設定します。
フィルターが設定されたら、各項目部分に現れた下向き三角形から「FALSE」を選択してください。これで異なる値だけを抽出することができます。
条件付き書式を使う
条件付き書式は「セルの値がある一定のルールを満たした場合に適用される書式」のことを指します。今回の例では「C列の値がFALSEであればセルの背景を赤色にする」という書式設定を実際に行ってみます。
まずは表全体を選択します(B2~C9)。この状態で、上部のリボンから「ホーム > 条件付き書式 > 新しいルール」と進みます。
すると「新しい書式ルール」というウィンドウが開くので「数式を使用して、書式設定するセルを決定」を選択し、条件となる数式を入力します。今回の例では、C列の値がFALSEの時に書式を設定したいので以下の式を入力します。
= $C2 = FALSE
$マークが列側のみに入っているのは、C列の値だけを参照して列全体に書式を設定したいからです。
最後に数式の条件が満たされた場合に適用される書式を設定します。右下の書式ボタンを押して設定してください。最後にお見せする適用例では塗りつぶしを赤色かつ文字色を白色にするように設定しました。
うまく設定できていれば、以下のように異なっている部分だけがハイライトされるようになっているはずです。