いまさら聞けないExcelの使い方講座

【Excel】手元のデータがすべてサーバー上の名簿と一致しているか調べたい!エクセルで2つの表データを比較するテク

自分の手元にある名簿の内容が正しいかどうかわからなくなった……

 Excelを使えば見やすい名簿が簡単に作成でき、管理もしやすくて便利ですよね。Excelで作った名簿や予定表などの書類を社内サーバーにアップしておけば、複数の社員で書類を管理できます。

 ただ、複数の社員で書類を管理していると、自分の手元にある名簿の項目がすべて正しく入力されているか、ほかの社員と同じ状態になっているのかがわからなくなることがありませんか?

 今回は、ExcelのEXACT関数を使って、サーバーにアップされている名簿と自分の手元にある名簿の内容を比較し、違うデータが入力されている部分がひと目でわかるようにするテクニックを解説します。

準備:比較結果を表示するためのシートを作る

 例えば、社内のサーバーに「○○商事従業員名簿」(①)が入力された「従業員名簿」という名前のブックがアップされているとします。

 名簿に修正があった場合は、名簿の管理者が自分の手元のパソコンにこのブックをコピーし、修正してサーバーに再アップすることになっていて、自分の手元にはこの名簿をコピーした「従業員名簿_管理用」ブックがあるとします。ここでは、どちらのブックを操作しているかがわかりやすいように、手元にある名簿はコピー元の表とは見出し行の色を変えた従業員名簿(②)にしています。

 これらの2つの名簿を比較し、違いがあるかどうかを確認してみましょう。実際にデータを比較する操作に入る前の準備として、手元にある「従業員名簿_管理用」ブックに、比較結果を表示するためのシートを追加します。画面下部に表示されているシート見出しを[Ctrl]キーを押しながらドラッグすると、シートをコピーできます(③)。この操作でコピーすると、コピー元のシートと同名のシートができ、シート名の末尾には「(2)」と表示されます。

 シート見出しをダブルクリックして新しいシート見出しを入力します。ここでは「比較用」(④)としています。そのあと、表に入っているすべてのデータを削除します(⑤)。削除したい範囲をドラッグして選択したあとに[Delete]キーを押すと、簡単にすべてのデータを削除できます。

 これで[比較用]シートが完成し、準備は完了です。このシートに、2つの名簿の比較結果が表示されるようにしていきます。

EXACT関数を使って2つの名簿のデータを比較する

 2つのデータを比較したい時は、EXACT関数が便利です。EXACT関数は、「EXACT(文字列1,文字列2)」という書式で使い、2つの文字列が同じであればTRUE、違っていればFALSEを返します。文字列はセル参照で指定してもOKです。では、先ほど作成した[比較用]シートに、2つの名簿のデータを比較するための数式を入力していきましょう。[比較用]シートのセルA3に「=EXACT(」(①)と入力し、[Ctrl]+[Tab]キーを押してブックを切り替えます(②)。

 画面が、サーバーにアップされている方の「従業員名簿」ブックに切り替わるので、セルA3(③)をクリックします。数式バーの数式に、「[従業員名簿.xlsx]従業員名簿!$A$3」という内容が自動で追加されます。このように、別のブックのシートを参照すると、数式には「[]」で囲まれたブック名に続けて、シート名が表示されます。数式上ではシート名の後に「!」が表示されます。ちなみに、数式で参照したいセルと違うセルをクリックしてしまうと、目的とは違うセルが数式の中で参照されるようになってしまうので、間違えないようにしましょう。クリックするセルを間違えた場合は、数式の中でセルが参照されている部分を削除して、指定し直します。

 再度[Ctrl]+[Tab]キーを押してブックを切り替え(④)、「従業員名簿_管理用」ブックの[比較用]シートに戻ります。数式の末尾に「,」(半角のカンマ)(⑤)を入力したあと、同じブックにある[従業員名簿]シートのシート見出し(⑥)をクリックして表示を切り替えます。

 画面が[従業員名簿]シートに切り替わるので、セルA3(⑦)をクリックします。数式バーの数式に「従業員名簿!A3」という内容が自動で追加されます。

 [Enter]キーを押すと数式の末尾に自動で「)」が追加され、セルA3に「TRUE」(⑧)と表示されます。2つの名簿で入力されている内容が同じなので「TRUE」が表示されています。この数式をあとでほかのセルにもコピーするため、数式中の「$A$3」という部分から「$」を削除し、「A3」とします(⑨)。

 ここまででもEXACT関数の数式としては完成しており、この数式を表全体にコピーしても求めたい比較結果は得られるのですが、表のすべてのセルに「TRUE」か「FALSE」が表示されるので、結果が見づらくなります。そこで、IF関数を組み合わせて、2つのシートで違うデータが入力されているセルだけに「確認」と表示されるようにしてみましょう。先ほどセルA3に入力した数式の先頭の「=」の後に「IF(」(⑩)を追加します。IF関数の書式などについては、過去の記事も参考にしてください。

 さらに、数式の後には「,"","確認")」(⑪)と入力します。これで、2つの文字列が同じ場合にはセルには何も表示されず、違うデータが入力されているセルにだけ「確認」と表示されるようになります。

 [Enter]キーを押すと、先ほど「TRUE」と表示されていたセルA3に、何も表示されなくなります(⑫)。

 セルA3に入力した数式を表全体にコピーします。セルA3の右下にマウスポインターを合わせ、フィルハンドルをドラッグして数式を表全体にコピーすると(⑬)、2つのシートで違うデータが入力されているセルにだけ「確認」と表示されます(⑭)。

 これなら、2つのシートでどのセルのデータに違いがあるか、すぐにわかりますね。

EXACT関数を使いこなして表の照合をラクに進めよう!

 今回は、EXACT関数とIF関数を組み合わせて、2つのシートで違うデータが表示されているセルをわかりやすく表示するテクニックを解説しました。

 このテクニックを使えば、自分の手元にある名簿がサーバー上にアップされているものと同じ状態になっているかが簡単にわかりますよね。表の照合は、表が大きいほど大変ですが、EXACT関数を活用すればあっという間に確実な照合結果が得られます。

 EXACT関数を活用して、表の共有や照合を効率よく進めてくださいね!

今月のExcelTips