FILTER関数を使用した複数結果のルックアップ
メニューを表示するにはスワイプしてください
なぜ複数結果の検索が必要か
従来の検索関数(VLOOKUP、XLOOKUP、または INDEX と XMATCH の組み合わせ)は単一の結果のみを返します。
しかし、多くの実際の業務では複数の一致するレコードの取得が求められます。
例:
- 特定の顧客が行ったすべての注文;
- 部署内のすべての従業員;
- 一定金額を超えるすべての取引。
このような場合、単一値の検索では不十分です。 最新のExcelでは、複数の結果を一度に返す動的配列関数が利用できます。
FILTER関数
FILTER関数は、指定した条件を満たすデータセットの行を抽出します。
FILTERは単一の値ではなく、条件に一致するすべての行を返します。
基本構文
=FILTER(array; include; [if_empty])
array: データを含む範囲;include: 返す行を決定する条件;if_empty: 一致する結果がない場合に表示される省略可能な値。
顧客名はセル F2 に入力。
目的は、その顧客が行ったすべての注文を返すこと。
=FILTER(A2:D7; B2:B7=F2)
- Excel は条件
B2:B7=F2を評価。この条件で選択された顧客と一致する行を判定; FILTER関数が条件がTRUEとなるすべての行を抽出;- 結果は自動的に複数行にスピル。
F2 に Alice が入力されている場合、Excel は次のように返す:
動的配列の挙動
結果は自動的に隣接するセルに展開。 これをスピル範囲と呼ぶ。 データセットが増加した場合や入力値が変更された場合、結果も自動的に更新。
シナリオ
ワークシートには Employee ID, Employee Name, Department, Salary のテーブルがある。
入力セルに部門名を入力。
目標は、その部門で働くすべての従業員を返すこと。
手順
FILTER関数を使用して一致する行を抽出;- 選択した部門に属するすべての従業員を返す;
- 部門が変更された際に結果が自動的に更新されることを確認。
すべて明確でしたか?
フィードバックありがとうございます!
セクション 5. 章 1
AIに質問する
AIに質問する
何でも質問するか、提案された質問の1つを試してチャットを始めてください
セクション 5. 章 1