Excelでデータを検索する際、XLOOKUP関数は非常に強力なツールです。特に、「match_mode」と「search_mode」のオプションを活用することで、検索の精度や柔軟性を大幅に向上させることができます。今回は、これらのオプションの使い方を初心者にもわかりやすく解説します。
match_modeとは?
match_modeの基本
XLOOKUP関数の「match_mode」は、検索する際の一致の方法を指定するオプションです。具体的には、以下の4つのモードがあります
- 0完全一致(デフォルト)。一致しない場合は#N/Aエラーが返されます。
- -1完全一致または次に小さい値を検索します。
- 1完全一致または次に大きい値を検索します。
- 2ワイルドカードを使用した部分一致検索を行います。
match_modeの活用例
例えば、商品コードを検索してその価格を取得する場合、完全一致が基本ですが、近似値を取得したい場合には「1」や「-1」を使用することで、より柔軟な検索が可能です。
search_modeとは?
search_modeの基本
「search_mode」は、検索の方向や方法を指定するオプションです。以下の4つのモードがあります
- 1最初から最後まで順方向に検索(デフォルト)。
- -1最後から最初まで逆方向に検索します。
- 2昇順にソートされたデータに対して高速なバイナリ検索を行います。
- -2降順にソートされたデータに対して高速なバイナリ検索を行います。
search_modeの活用例
例えば、最新のデータを取得したい場合には「-1」を使用して逆方向に検索することで、最も新しいデータを効率よく取得できます。
match_modeとsearch_modeを組み合わせた実践例
例1売上データから特定の条件に合致する商品を検索
売上データが以下のようにあるとします
| 商品コード | 商品名 | 売上金額 |
|---|---|---|
| 001 | 商品A | 1000 |
| 002 | 商品B | 1500 |
| 003 | 商品C | 2000 |
このデータから、売上金額が1500以上の最初の商品を検索する場合、以下のようなXLOOKUP関数を使用します
=XLOOKUP(1500, C2:C4, B2:B4, "該当なし", 1, 1)
この式では、売上金額が1500以上の最初の商品名を取得します。
例2特定の文字列を含む商品名を検索
商品名に「A」を含む商品を検索する場合、以下のようにワイルドカードを使用します
=XLOOKUP("A*", B2:B4, C2:C4, "該当なし", 2)
この式では、商品名に「A」を含む最初の商品を検索し、その売上金額を取得します。
よくある質問や疑問
Q1: XLOOKUP関数はどのバージョンのExcelで使用できますか?
XLOOKUP関数は、Microsoft 365、Excel 2021、Excel for the webで使用できます。Excel 2019以前のバージョンでは使用できません。
Q2: XLOOKUP関数で複数の条件を指定して検索することはできますか?
はい、XLOOKUP関数では複数の条件を組み合わせて検索することが可能です。例えば、AND関数やOR関数と組み合わせて使用することで、複雑な条件での検索ができます。
Q3: XLOOKUP関数で検索結果が見つからない場合、どのように対処すればよいですか?
XLOOKUP関数の4番目の引数「if_not_found」を使用することで、検索結果が見つからない場合に表示するメッセージや値を指定できます。例えば、「”該当なし”」と指定することで、結果が見つからない場合に「該当なし」と表示されます。
まとめ
XLOOKUP関数の「match_mode」と「search_mode」を活用することで、より柔軟で効率的なデータ検索が可能になります。特に、大量のデータを扱う際や、特定の条件での検索が必要な場合にその効果を発揮します。ぜひ、これらの機能を活用して、Excelでの作業効率を向上させてください。
他にも疑問やお悩み事があればお気軽にLINEからお声掛けください。



コメント