スプレッドシートのXLOOKUP関数とは
XLOOKUP関数は検索範囲内で一致する値を見つけて、その位置に基づいて結果範囲から値を返すGoogleスプレッドシートの関数です。検索キーに一致するものが見つからない場合、一致モードの設定によって最も近い値を返すか、指定した代替値を返します。
従来のVLOOKUPやHLOOKUP関数と比較して、検索対象の列が結果を返す列の右側にあっても正常に動作する特徴があります。VLOOKUP関数では左端の列から右方向にのみ検索できた制限を解消し、より柔軟な参照処理を実現しています。
【PR】プログラミングや生成AIを無料で学べる「コードキャンプフリー」
XLOOKUP関数の基本構文と引数
XLOOKUP関数の基本構文は「XLOOKUP(search_key, lookup_range, result_range, missing_value, match_mode, search_mode)」で6つの引数から構成されています。search_keyには検索対象となる値、lookup_rangeには検索を実行する範囲、result_rangeには結果を取得する範囲を指定します。
=XLOOKUP("Apple",A2:A10,E2:E10,"見つかりません",0,1)
missing_valueは検索値が見つからない場合に表示する値を指定し、省略すると#N/Aエラーが表示されます。match_modeとsearch_modeは省略可能で、それぞれデフォルト値0と1が設定され、検索方式と一致モードをカスタマイズできます。
lookup_rangeとresult_rangeは単一の行または列である必要があり、同じサイズの範囲を指定する必要があります。結果範囲が複数行や複数列の場合、一致した位置の行全体または列全体が返される仕様です。
match_modeとsearch_modeの動作設定
match_modeパラメータでは4つの検索モードを選択でき、0は完全一致、1は完全一致または検索キーより大きい次の値、-1は完全一致または検索キーより小さい次の値、2はワイルドカード一致を指定します。これらの設定により、データの性質に応じて最適な検索方式を選択できます。
=XLOOKUP("Price",A1:E1,A6:E6,"データなし",0,-1)
search_modeパラメータでは4つの検索方向を設定でき、1は最初から最後へ、-1は最後から最初へ、2は昇順ソート済みデータでのバイナリ検索、-2は降順ソート済みデータでのバイナリ検索を実行します。バイナリ検索を使用する場合は、事前にデータを適切にソートしておく必要があります。
ワイルドカード検索では*(アスタリスク)や?(クエスチョン)を使用して部分一致検索を実行できます。大量のデータを扱う際はバイナリ検索モードを使用することで、検索処理のパフォーマンスを大幅に向上させることが可能です。
※上記コンテンツの内容やソースコードはAIで確認・デバッグしておりますが、間違いやエラー、脆弱性などがある場合は、コメントよりご報告いただけますと幸いです。
ITやプログラミングに関するコラム
- Canvaとは?使い方やアカウント登録などを初心者向けに解説
- git configで設定情報を確認・表示する方法
- 「Pythonはやめとけ」と言われる理由と学習するメリット
- Ubuntuのversionを確認する方法
- Geminiで画像を生成する方法|ChatGPTとの比較結果も紹介