2つのテーブルから複合キーが重複しないデータをExcelでマクロを使わないで抽出する方法を考えた
1. はじめに
2つのテーブルから複合キーが重複しないデータを抽出する方法を考えた。
2. 前提条件
お気軽に作業できるように、
3. 手順
1. 対象となるテーブルを用意する
この例の場合、列「key」と列「value」が複合キー。
また、この方法では、列「key」と列「value」の値を文字列として結合するので、結合した文字列(複合キー)の一意性が満たされる(重複しない)必要がある。
2. 重複判定用の複合キー列を追加する
重複判定用の複合キーの列を追加する。
複合キーの列には、以下のように各キーを&(アンパサンド)で結合する数式を入力する。
例) =B8&C8
3. 重複判定結果用の列を追加する
他方のテーブルに複合キーが存在するか否かを判定結果の列を追加する。
判定結果の列には、以下のように他方の複合キーの範囲に複合キーと一致するデータの件数をカウントする数式を入力する。
例) =IF(COUNTIF($F$33:$F$52,F9)>0,“Yes”,“No”)
COUNTIF($F$33:$F$52,F9)
で、指定した範囲($F$33:$F$52)に期待する複合キー(F9)が含まれる件数を取得する。
IF(…>0,“Yes”,“No”)
で、重複していたら"Yes", 重複していなければ"No"を表示する。
正直、IF文の部分は見た目だけの処理なんで不要
4. 他方のテーブルに複合キーが存在しないデータを抽出する
フィルターを使用するなどして、他方のテーブルに複合キーが存在するか否かを判定する列がNoのデータを抽出する。