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 |
対象コードと明細表を結ぶ
- 「ファイルを追加」または「コピーしたデータを貼り付け」で2つの表を読み込み、Requestsを左、Detailsを右に置きます。
- PartIDの接続点からDetailPartへ接続し、「一致する行のみ」を選びます。対象コードの明細だけが残ります。
- DetailIDとQtyを結果に表示し、「結果のプレビュー」でK10に異なるDetailIDの2行があることを確認します。
- 保存する順番を決めるには「結果を整理」で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を使った事例ではありません。