XLOOKUPの基本
メニューを表示するにはスワイプしてください
XLOOKUP は、ある列で一致する値に基づいて、別の列から値を取得する関数。
使用する場面:
- 一意の識別子が存在する場合;
- 1つの結果が期待される場合;
- 完全一致が必要な場合。
XLOOKUP は値を検索し、同じ行の別の列から関連情報を返す。
構文
=XLOOKUP(lookup_value, lookup_array, return_array)
lookup_value: 検索する値;lookup_array: Excelが一致を検索する列;return_array: 結果を返す列。
従業員IDを使用した給与の取得
ワークシートには2つのテーブルがある。
Employee Directory には Employee ID、Employee Name、Department が含まれる。
Employee Salaries には Employee ID と Monthly Salary が含まれる。
目的は、Monthly Salary に基づいて Employee Directory テーブルに Employee ID を返すこと。


参照式の作成
Employee Directory テーブルに新しい列 Monthly Salary を挿入。
その列の最初のセルに次の式を入力:
=XLOOKUP(A3; F:F; G:G)
A3はディレクトリテーブルのEmployee ID;F:FはSalaryテーブルのEmployee ID列;G:GはSalaryテーブルのMonthly Salary列。
Excelは列 F で A3 の値を検索し、一致するものが見つかると、列 G から対応する値を返す。


一致しない場合の処理
Employee ID が Salary テーブルに存在しない場合、Excel はエラーを返します。
出力を制御するには、4 番目の引数を追加します:
=XLOOKUP(A3; F:F; G:G; "Not Found")
一致が見つからない場合、Excel はエラーの代わりに Not Found を表示します。


内部処理の流れ
数式が実行されると、Excelは以下の処理を行います:
- 検索値を読み取る;
- 検索列を上から下へスキャンする;
- 最初に一致する値を見つける;
- 同じ行の戻り値列から値を返す。
元のデータテーブルは変更されません。結果は数式に基づいて動的に計算されます。
シナリオ
ワークシートには2つのテーブルがあります:
Employee Directory と Employee Details。
目的は、Job Title を使用して各従業員の XLOOKUP を取得することです。
タスク手順
- Employee Directory テーブルに
Job Titleという新しい列を挿入する; XLOOKUPを基にJob TitleでEmployee IDを取得する;- 一致しない場合は数式が
Not Foundを返すようにする; - 数式を列全体にコピーする。
フィードバックありがとうございます!
AIに質問する
AIに質問する
何でも質問するか、提案された質問の1つを試してチャットを始めてください