2列のデータを比較して、データの有無を検証をする

おはようございます! Excel講師の榊裕次郎です。

昨日の夜はなかなか寝付けず、しかも眠りも浅くて、朝のめざましが鳴ってもなかなか起きれなかったです……。きつい午前6時30分でした。

Excel講座がないので、Excelの質問もなく、Excelを開くこともないのですが、今朝は父から2列のデータを比較して、データの有無を検証できるかどうかのお問い合わせをいただきました。

さっそく紐解いていきましょう。要件はこのとおり。


    • \[データA\] 列のグループが親になる。
    • \[データB\] 列のグループが子になる。
    • 2列を比較して、\[データA\] 列(親側)のみ含まれているデータを抽出したい。
    • ただし、\[データA・B\] 列ともに、重複したデータが含まれている。
    • 該当データが抽出できれば、作業は完了。

新卒向けのExcel練習ドリルです。

↑のサンプルデータの場合、\[データA\] 列の「B」というデータをピックアップできれば正解です。上記データは目視で解決できますが、これが1,000行以上あるデータだったら目視では処理できません。

さて、どう解決しましょう?


Excelの操作は、答えが1通りであることはないので、これが正解。というものでもないのですが、ぱっと思いついたのが\[COUNTIF関数\]を使った検証です。

検証列を作成し、アクティブセルを赤枠の位置に置きます。

\[数式\] タブ → \[その他の関数\] → \[統計\] → COUNTIF関数を選択します。

引数の範囲は、 \[データB\] 列のある場所を列ごと選択します。この場合、見出しなどは無視されるので特に問題ありません。検索条件には、\[データA\] 列の先頭のセルを選択します。

サンプルの場合は  C:C , B3 となりました。C列のデータから、セルB3に含まれる \[A\] というデータは何件あるか? という数式になります。

COUNTIF関数は、条件にマッチしたデータの件数を出してくれるので、もし \[0\] と出力された場合、そのセルのデータはC列に含まれていない、ということになります。

OKボタンで確定したら、オートフィルを行います。データで \[0\] と出力された \[データA\] 列の個所が、\[データB\] 列に含まれていないデータです。

検証列で、\[データ\]タブより、フィルターを設定します。\[0\] のみチェックを入れて抽出しましょう。

検証した結果、\[データB\] に存在していないデータは \[B\] ということがわかりました。

この手の作業をする際、ポイントとなるのは、① 元データ上のシートで操作をしない、② データ列がA・B それぞれ別シート・別ブックにあるなら、値貼り付けで整理する、というもの。

新しいシートを1つ作って、そこを調理台として検証してください。

← 一覧へ戻る トップページへ →