高度なXLOOKUPの応用
メニューを表示するにはスワイプしてください
XLOOKUPによる近似一致の利用
完全一致は識別子が完全に一致する場合に有効です。しかし、ビジネスの場面によっては値を範囲内で一致させる必要があります。
例:売上閾値に基づくコミッション率。
Sales Table
Minimum Sales | Commission Rate |
|---|---|
0 | 2% |
5,000 | 5% |
10,000 | 8% |
20,000 | 12% |
営業担当者の売上が12,000の場合、コミッション率は8%となります。これには近似一致が必要です。
一致モード付きの構文
=XLOOKUP(lookup_value, lookup_array, return_array, [if_not_found], match_mode)
match_mode のオプション:
0: 完全一致;-1: 完全一致または次に小さい値;1: 完全一致または次に大きい値;2: ワイルドカード一致。
範囲検索の場合は -1 を使用。これは、完全一致が見つからない場合に次に小さい値を返すことを意味します。
近似一致の使用
成績表を想定。
Column A には必要な最低点数が含まれる。
Column B には対応する成績(レターグレード)が含まれる。
学生の得点はセル D2 に入力。
得点に基づいて正しい成績を返すことが目的。
Minimum Score 列は昇順で並べ替える必要がある。
=XLOOKUP(D2; A3:A8; B3:B8; "Not Found"; -1)
D2: 学生の数値スコアが入力されているセル;A3:A8: 最低点数のしきい値が含まれている範囲;B3:B8: レターグレードが含まれている範囲;"Not Found": 一致する値がない場合に表示する内容;-1: 完全一致が見つからない場合に、最も近い小さい値を返す指定。



D2が73の場合、Excel は最小スコア列を検索します。73と完全一致する値は見つかりません。- より小さい最も近い値である
70が見つかります。 - 対応する評価
Bが返されます。
これは範囲に基づく近似一致です。
複数列の返却
従業員テーブルがあると仮定します: Employee ID | Salary | Bonus。1回の検索で Salary と Bonus の両方を返したい場合。
=XLOOKUP(A3;E3:E7;F3:G7)
A3:Employee IDを含むセル。E3:E7: 検索テーブル内のEmployee ID。F3:G7: 2列のSalaryとBonusを含む範囲。



- Excelは列
Employee IDで一致するEを検索します。 - 列
SalaryとBonusからFとGの両方を返します。 - 結果は自動的に隣接する2つのセルにスピルされます。
1つの数式で複数の関連フィールドを返します。
下から検索
従業員テーブルにEmployee IDの重複が時間とともに存在する場合を想定します。
最新のレコードは常に一番下に追加されます。
デフォルトでは、XLOOKUPは上から下へ検索します。最新のレコードを返すには、下から上へ検索します。
=XLOOKUP(A2; E3:E7; F3:F7; "Not Found"; 0; -1)
A2: 検索するEmployee ID;E3:E7: 検索列;F3:F7: 返却列;0: 完全一致を指定;-1: 下から上への検索を指定。



- Excelは列
Eの下から検索を開始; - 下から最初に一致するIDを見つける;
- その行の列
Fから値を返す。
重複が存在する場合、最新のレコードが返されることを保証。
シナリオ
このワークブックには、3つの異なるシートが含まれています。
高度な XLOOKUP を適用して、特定の結果を取得することが目標です。
フィードバックありがとうございます!
AIに質問する
AIに質問する
何でも質問するか、提案された質問の1つを試してチャットを始めてください