はじめに
DBを使うほどではないデータ処理では、多くの方がExcelを使うと思います。
Excel関数で内部結合、外部結合を行う際の備忘録として書いておきます。
基本的に「XLOOKUP」を使っての結合になります。
PowerQueryは追々…
結合
サンプルデータ
code | data |
---|---|
101 | …a…101… |
102 | …a…102… |
103 | …a…103… |
201 | …a…201… |
202 | …a…202… |
203 | …a…203… |
code | data |
---|---|
201 | …b…201… |
202 | …b…202… |
203 | …b…203… |
204 | …b…204… |
205 | …b…205… |
206 | …b…206… |
Excel上はこのようになります。
LEFT JOIN
1.A、B列は「table_a」のデータを張り付ける
2.C2セルに以下の式を入力 ⇒ C2:D7にコピーする
=XLOOKUP(\$A2,table_b!\$A:$A,table_b!A:A,"NULL")
RIGHT JOIN
1.C、D列は「table_b」のデータを張り付ける
2.A2セルに以下の式を入力 ⇒ A2:B7にコピーする
=XLOOKUP(\$C2,table_a!\$A:$A,table_a!A:A,"NULL")
INNER JOIN
1.LEFT JOINの「table_b.code」がNULLのデータを除外する
NOT EXISTS
1.LEFT JOINの「table_b.code」がNULLのデータ以外を除外する
FULL JOIN
1.「RIGHT JOIN」のデータと「NOT EXISTS」のデータを合わせる