シートの接続

2つのExcelファイルを片方だけのデータも残して結合するには?

売上表と在庫表を商品コードで結合し、一致しない商品も残す方法です。両方の全行を保持する設定と空の値の意味を確認します。

説明図:P10・P20の販売表とP20・P30の在庫表
架空のデータを使った説明図です。実際の画面キャプチャではありません。

両方のファイルのデータを残しながら共通商品の情報を横に並べるには、JOIN SHEETの「両方のシートの全行を保持」を選びます。一致するコードがない側の値は空欄になります。これは全外部結合に相当し、片方を基準にする結合とは残るデータが異なります。

販売された商品と在庫だけの商品を同時に確認する

架空の販売表ではP10が4個、P20が2個売れています。在庫表にはP20が8個、P30が5個あります。一致した商品だけを残すとP20の1行になり、P10とP30は確認できません。

コードの有無だけなら「値を比較」でも確認できます。販売数量と在庫数量を横に並べたい場合は、コードを結合キーとして接続します。表を上下に追加する「縦結合」とは異なる操作です。図は架空データを使った説明図で、画面キャプチャではありません。

両側の全行を保持する設定

  1. 「ファイルを追加」で販売と在庫のシートを読み込みます。
  2. 販売側の「販売コード」を在庫側の「在庫コード」の接続ポイントへドラッグします。
  3. 「接続方法を選択」で「両方のシートの全行を保持」を選びます。
  4. 「結果のプレビュー」で両側のコードと数量を確認します。

説明図:販売コードと在庫コードを接続して両側の行を残す手順

結果は3行。空欄は0ではない

販売コード 販売数量 在庫コード 在庫数量
P10 4 — —
P20 2 P20 8
— — P30 5

表の「—」は空の値です。P10の在庫が空欄なのは、一致するコードが在庫表にないためです。在庫が0個だと確認されたわけではありません。P30の販売数量も同じです。

説明図:共通するP20と片方だけのP10・P30を残した結果

なぜコードの列が2つ残りますか?

結合は対応するデータを並べる処理であり、2つの元の列を1つに上書きする処理ではありません。販売コードと在庫コードは別々に保持され、自動的に1つの共通コードへ統合されるわけではありません。販売コードだけで探すと在庫側だけにあるP30を見落とします。

両側に同じコードが繰り返される場合は、一致する組み合わせの数だけ行数が増えます。結合キーの重複を調べる方法も使い、残したい商品の有無と数量の重複計上を別々に確認してください。

自分のデータでも試してみましょう

繰り返しの作業を減らす

シートを接続・比較して、必要な結果を確認できます。

この記事はProプランの利用環境を前提としています。

JOIN SHEETを使ってみる ↗

Excel・CSVの作業はPCでご利用ください。新しいタブで開くため、作業中のデータは置き換わりません。

サンプルの検証日:

出典

Join two spreadsheets on a common column in Excel or OpenOffice — Stack Overflow

Joining two data sets together to create a combined table — Reddit r/excel

全外部結合に関する公開質問を参考に架空例を作成しました。原文で扱うすべての列加工を再現するものでも、質問者の製品利用を示すものでもありません。