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

【Excel】目視は無理! 2つの名簿に重複する・重複していない人を探す簡単な方法

2つの表に共通する値を見つけるには?

並べ替えて目視でチェック!?

 似たようなデータが入力されている2つの表から重複を探したいことがありますよね。単純に見つけるだけの作業もありますし、重複データだけ、もしくは、重複していないデータだけを取り出したいこともありますね。

 以下の2つの表には、同じ氏名も含まれています(安田 郁美など)。これらを比較するのに並べ替えて、目視で確認していませんか? 結論から言うと目視の必要はなく、確認漏れの原因になるのでやめましょう。

2つの表の重複データを目視でチェックしてはいけません

 重複データのチェックには定番のテクニックがあります。今回は、重複データを目立たせる方法、重複データだけを取り出す方法、重複データを取り除く方法をまとめて紹介します。

「条件付き書式」で重複データを目立たせる

 単純に重複データを目立たせるだけなら、「条件付き書式」が最も簡単です。比較したいセル範囲を選択して、[セルの強調表示ルール]から[重複する値]を選択するだけです。

チェックしたいセル範囲を選択します(①)。離れたセル範囲を選択するときは[Ctrl]キーを押しながらドラッグします。[ホーム]タブ(②)の[条件付き書式](③)-[セルの強調表示ルール](④)-[重複する値](⑤)の順にクリックします
重複する値の書式を指定します。特に変更する必要はありません。[OK](⑥)をクリックします
重複する値が強調されました

COUNTIF関数で重複データを目立たせる

 COUNTIF関数を使った定番のチェック方法も覚えておきましょう。引数[範囲]と[検索条件]の2つを指定します。比較先の表に同じデータがあれば数えるという考え方です。

 重複していなければ「0」、重複データの数だけ加算されます。1つのデータの重複なら「1」となります。もし、「2」や「3」となれば、同姓同名の人がいるのではないかと推測できます。

セルF3に「=COUNTIF($B$3:$B$102,E3)」と入力します(⑦)。数式をコピーすることを考えて、引数[範囲]は絶対参照で指定しておきます
数式をコピーすれば(⑧)、重複データを判断できます。「0」以上の値は重複しています

 なお、スピルの機能が使えるバージョンなら、「=COUNTIF(B3:B102,E3:E105)」のように1つの数式を入力するだけで済みます。

重複データだけを取り出す

 重複データを強調できていれば、それだけを取り出すのは簡単です。[色フィルター]を使って絞り込み、コピペするだけです。

フィルターボタン(⑨)をクリックして、[色フィルター](⑩)から色を選択します(⑪)
書式の設定された重複データだけが絞り込まれます。

[重複の削除]で重複データを取り除く

 単純に重複データを取り除くなら[重複の削除]の機能が便利です。あらかじめデータをコピペして並べておきます。

B列とE列のデータを続けて貼り付けておきます。セル範囲を選択して(⑫)、[データ]タブ(⑬)の[重複の削除](⑭)をクリックします
[重複の削除]ダイアログボックスが表示されます。このまま[OK](⑮)をクリックします
重複データの数が表示されます(⑯)。この時点で重複データは削除されています。[OK](⑰)をクリックしてメッセージを閉じます

UNIQUE関数とVSTACK関数で重複データを取り除く

 Microsoft 365のExcelを使っているなら、UNIQUE関数とVSTACK関数を利用することもできます。VSTACK関数は複数の配列(セル範囲)を結合できます。UNIQUE関数は、重複のない一意のデータを取り出す関数です。

 ここでは、VSTACK関数で2つのセル範囲を結合した後、UNIQUE関数を組み合わせてみます。入力する数式は以下の通りです。結果はスピルで表示されます。

=UNIQUE(VSTACK(B3:B102,E3:E105))
セルJ3に「=VSTACK(B3:B102,E3:E105)」と入力します(⑱)。「=VSTACK(」と入力して、セル範囲をドラッグすると簡単に指定できます
B列とE列のデータが結合されました
セルJ3を編集モードに切り替えて、UNIQUE関数を追加します(⑲)。引数はVSTACK関数の数式そのままです。数式は「=UNIQUE(VSTACK(B3:B102,E3:E105))」となります
重複データを除いた一覧が表示されます

 さらにSORT関数を組み合わせて、結果を昇順で並べ替えることもできます。以下のように入力します。

=SORT(UNIQUE(VSTACK(B3:B102,E3:E105)))
SORT関数(⑳)を組み合わせて、重複しないデータを昇順で並べ替えることも可能です

Excelの機能と関数の両方を活用しよう

 最終的に重複データをどのように扱いたいのかを考えて、Excelの機能と関数を使い分けましょう。単純に強調するだけなら[重複する値]が簡単です。重複データを取り除いて、かつ並べ替えたいといった場合は、関数を利用したほうが便利です。