1つのコードに一致する明細をすべて取り出すには

コード一覧と明細表を結合して、一致するすべての行を取り出します。複数の明細がある場合の件数も確認できます。

1つのコードに一致する明細をすべて取り出すには 説明図
架空のデータを使った説明図です。実際の画面キャプチャではありません。

1つのコードに配送や作業の明細が複数ある場合は、それぞれを別の行として取り出します。JOIN SHEETで対象コードと明細表を結ぶと、一致する明細がすべて結果に表示されます。

K10に対応する2件の明細を両方残す

架空のRequests表にはK10とK20が1回ずつあります。Details表ではK10にD101とD102の2件が対応します。最初の一致だけを取得するとD102が欠けます。

Requests

PartID
K10
K20

Details

DetailPart DetailID Qty
K10 D101 2
K10 D102 5
K20 D103 1
K30 D104 4

対象コードと明細表を結ぶ

  1. 「ファイルを追加」または「コピーしたデータを貼り付け」で2つの表を読み込み、Requestsを左、Detailsを右に置きます。
  2. PartIDの接続点からDetailPartへ接続し、「一致する行のみ」を選びます。対象コードの明細だけが残ります。
  3. DetailIDとQtyを結果に表示し、「結果のプレビュー」でK10に異なるDetailIDの2行があることを確認します。
  4. 保存する順番を決めるには「結果を整理」でPartID、DetailIDの順に昇順の並べ替えを追加し、「適用」を押します。

接続と条件の設定 説明図

1コードの明細2行を確認

結果は3行です。K10の数量2と5は別の行に残り、K20は1行です。K30は対象一覧にないため含まれません。複数の値を1つのセルにまとめる処理ではありません。

PartID DetailPart DetailID Qty
K10 K10 D101 2
K10 K10 D102 5
K20 K20 D103 1

結果で確認する点 説明図

対象コード側の重複にも注意

RequestsにもK10が2回あると、2件の明細とそれぞれ一致してK10だけで4行になります。各明細を1回ずつ取り出すには、対象一覧をコードごとに1行にしてください。コードごとに1行へ集約する場合は、合計などの集計方法を別途決めます。

自分のファイルで始めましょう

JOIN SHEETを使ってみる ↗

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

サンプルの検証日:

出典

Excel 365 XLOOKUP - New User Question (Microsoft Community Hub)

原文は、XLOOKUPで最初の一致だけが返され、FILTERでも条件の指定を繰り返す必要があるという質問です。この記事では架空の明細を使って説明しており、質問者がJOIN SHEETを使った事例ではありません。