指定したlookup_valueをsearch_tableで検索し、result_tableから対応する値を返します。XLOOKUPは、垂直方向と水平方向の両方を検索できる、VLOOKUP関数とHLOOKUP関数の高度なバージョンです。
構文
lookup_value:search_tableで検索する値です。例:F3
search_table:評価する値を含む範囲です。例:C2:C13
result_table:結果として対応する値を取得する範囲です。例:A2:B13
if_not_found:有効な一致が見つからない場合に表示するテキストです。省略すると、初期設定で#N/Aエラーが表示されます。例:'無効な従業員ID'
match_mode:行う一致の種類を指定します。省略すると、初期設定で0になります。
サポートされているmatch_mode。
0 - 最初に完全一致した値が使用されます。
-1 - 最初に完全一致した値が使用されます。一致する値がない場合は、次に小さい値が返されます。
1 - 最初に完全一致した値が使用されます。一致する値がない場合は、次に大きい値が返されます。
2 - 正規表現で一致を検索します。.*, .?, /には特殊な意味があります。
search_mode:search_tableでlookup_valueを検索する方法を指定します。省略すると、初期設定で1になります。
サポートされているsearch_value。
1 - 指定した範囲を上から下へ検索します。
-1 - 指定した範囲を下から上へ検索します。
2 - search_tableが昇順に並べ替えられた状態で、バイナリ検索を実行します。並べ替えられていない場合は、無効な結果が返されます。
注意事項
XLOOKUPを使用すると、他のワークシートから対応するデータを取得できます。
名前付き範囲を、 search_table と result_table に使用します。これにより、1つの元のデータ表を参照して、計算や分析用の複数の表を作成できます。
検索する文字列全体を覚えていない場合は、代わりに .*、.? および / を使用します。
.* - 任意の数の文字の代わりに使用できます。例: Zyl.* では Zylkerが見つかります。
.? - 1文字の代わりに使用できます。例: Mar.?us では Marcus と Markusが見つかります。
/ - 検索する文字列に*、?、/を含める場合に使用できます。例: Zylker/* では Zylker* が見つかり、 Mar.?us/? では Marcus? と Markus?が見つかります。
例
|
数式 |
結果 |
|
=XLOOKUP(F3;C2:C13;A2:B13;'無効な従業員ID') |
Sarah Jones | 9/14/95 |
|
=XLOOKUP('Ben.*';A2:A13;C2:C13;'結果が見つかりません';2) |
4,323 |
|
=XLOOKUP(I2;M$2:M$10;N$2:N$10) |
食料品 |
考えられるエラー
|
エラー |
意味 |
|
#N/A! |
|
|
#NAME! |
|
|
#VALUE! |
|
|
#REF! |
|
類似の関数