Excelを使っていると、特定の文字列が含まれるセルを探して、その隣の情報を取り出したい場面がよくあります。例えば、「BCC」という文字が含まれる商品コードを検索して、その数量を取得したいときなどです。そんなときに役立つのが、ExcelのXLOOKUP関数です。今回は、初心者の方にもわかりやすく、XLOOKUP関数を使って部分一致検索を行う方法をご紹介します。
目次
XLOOKUP関数とは?
XLOOKUP関数は、Excelでデータを検索するための強力な関数です。VLOOKUPやHLOOKUPのように、縦や横の方向でデータを検索することができますが、XLOOKUPはそれらの関数よりも柔軟で使いやすいと評判です。
基本的な構文
XLOOKUP関数の基本的な構文は以下の通りです
=XLOOKUP(検索値, 検索範囲, 戻り範囲, , , )
* 検索値探したい値
* 検索範囲検索対象の範囲
* 戻り範囲検索値が見つかった場合に返す値の範囲
* 見つからない場合(省略可)検索値が見つからなかった場合に返す値
* 一致モード(省略可)一致の方法を指定(0完全一致、1近似一致、2ワイルドカード一致)
* 検索モード(省略可)検索の方向を指定(1先頭から、-1末尾から)
このサイトをチップで応援
部分一致検索を行うための設定
XLOOKUP関数で部分一致検索を行うには、いくつかの工夫が必要です。具体的には、「一致モード」を「2」に設定し、検索値の前後にワイルドカード(*)を追加します。
ワイルドカードを使った部分一致検索
例えば、セルE5に「BCC」と入力されているとき、商品コードの列(B5:B15)から「BCC」を含むコードを検索し、その数量(C5:C15)を取得するには、以下のように入力します
=XLOOKUP("*"&E5&"*", B5:B15, C5:C15, "該当なし", 2)
この式では、E5の内容(「BCC」)の前後にワイルドカード(*)を追加し、検索範囲(B5:B15)から「BCC」を含むセルを探します。そして、そのセルと同じ行の数量(C5:C15)を返します。
注意点
* 一致モードを「2」に設定することで、ワイルドカードによる部分一致検索が可能になります。
* ワイルドカード(*)は任意の文字列に一致します。例えば、「*BCC*」は「050-BCC-123」や「BCC-050-XYZ」など、前後に任意の文字列があっても一致します。
* 検索値が小文字でも大文字でも、XLOOKUP関数は大文字と小文字を区別しません。
よくある質問とその回答
Q1. 部分一致検索で複数の結果がある場合、最初の一致だけが返されるのですか?
はい、その通りです。XLOOKUP関数はデフォルトで最初に一致した値を返します。複数の一致する値がある場合でも、最初の一致だけが返されます。
Q2. 部分一致検索で「該当なし」と表示される場合、どうすればよいですか?
「該当なし」と表示される場合、以下の点を確認してください
* 検索値と検索範囲のデータ型が一致しているか(文字列と数値などの不一致がないか)
* 一致モードが「2」に設定されているか
* ワイルドカード(*)が正しく使用されているか
Q3. XLOOKUP関数はどのバージョンのExcelで使用できますか?
XLOOKUP関数は、Excel 365、Excel 2021、Excel for the webなどの最新バージョンで使用できます。Excel 2019以前のバージョンでは使用できません。
まとめと次のステップ
XLOOKUP関数を使うことで、Excelでのデータ検索がより柔軟で効率的になります。特に、部分一致検索を行いたい場合には、ワイルドカードと一致モードの設定を活用することで、簡単に目的のデータを取得することができます。
さらに、XLOOKUP関数を使いこなすことで、複数の条件での検索や、検索方向の変更、複数の結果の取得など、より高度な検索が可能になります。次のステップとして、これらの機能を学んでみることをおすすめします。
他にも疑問やお悩み事があればお気軽にLINEからお声掛けください。



コメント