おはようございます! 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つ作って、そこを調理台として検証してください。


広告