XLOOKUPで見つからない場合は空白・0に|第4引数と空白セルの違い

XLOOKUPで見つからない場合は空白・0に|第4引数と空白セルの違い

XLOOKUPで検索値が見つからないときは、第4引数に表示したい内容を指定します。「該当なし」なら "該当なし"、空白表示なら ""、数値の0なら 0 です。ただし、「検索結果のセルが空白で0になる場合」は別の対策が必要です。

練習用Excelファイル(無料ダウンロード)
商品名・価格の入力用データです。D2に検索商品を入れ、本文の式をE2などへ入力して試してください。
Excelファイル(.xlsx)/登録不要/数式・練習データ入り
目次

まず動かしてみよう|この記事のサンプルをその場で試せます

練習用ファイルをダウンロードしなくても、記事と同じデータ・同じセル番地のサンプルをここで動かせます。黄色いセルを書き換えると、結果がその場で変わります。各解説の最後にある「▶ この式を試す」を押すと、このツールの該当セルへ移動します。

XLOOKUP の基本(書き方・一致モード・下から検索・VLOOKUP との違い)は、XLOOKUP関数の使い方にまとめています。

第4引数に「見つからない場合」を指定する

A2:A4に商品名、B2:B4に価格、D2に検索する商品を入力します。

行A:商品B:価格
2りんご120
3みかん80
4バナナ150
E2に入力:見つからないときに「該当なし」と表示する
数式=XLOOKUP(D2,A2:A4,B2:B4,"該当なし")
ひとことで第4引数に書いた文字を、一致する行が無いときの表示にする
D2
検索値です。探したい商品が入っています
A2:A4
検索範囲です。商品の列です
B2:B4
戻り範囲です。見つかった行の価格を返します
"該当なし"
見つからないときの表示です。省略すると #N/A になります
データの流れ
① D2が「みかん」なら、商品の列から探す
A3みかんE280
▼
② D2が「ぶどう」なら、一致する行が無い結果
D2ぶどうE2該当なし
ポイントD2が「りんご」なら120、「ぶどう」なら「該当なし」です。第4引数を省略し、完全一致で見つからなければ #N/A になります。XLOOKUPはMicrosoft 365・Excel 2024・2021が対象です。
見つからないときは「該当なし」と表示(XLOOKUP)式 =XLOOKUP(D2,A2:A4,B2:B4,"該当なし") の解説図。E2に入力する
E2に =XLOOKUP(D2,A2:A4,B2:B4,"該当なし") を入力。みかんは3行目にある → 価格 80

空白・0・ハイフンにする数式

見つからないときの表示数式
空白表示=XLOOKUP(D2,A2:A4,B2:B4,"")
数値の0=XLOOKUP(D2,A2:A4,B2:B4,0)
ハイフン=XLOOKUP(D2,A2:A4,B2:B4,"-")
ポイント"" は長さ0の文字列です。何も入っていないセルとは異なり、ISBLANKではTRUEになりません。0を指定すると、本来の価格0と未登録を区別できなくなるため、確認用の一覧では「未登録」などの表示が便利です。

検索セルが未入力なら何も表示しない

ポイント第4引数は未一致時の指定なので、検索セルD2が空白かどうかまでは制御しません。入力前の表示を消すにはIFで確認します。
E6に入力:検索セルが未入力なら、何も表示しない
数式=IF(D2="","",XLOOKUP(D2,A2:A4,B2:B4,"該当なし"))
ひとことで未入力は空白、入力済みで見つからないときは「該当なし」と分ける
D2=""
外側のIFで、検索セルが空白かどうかを先に確認します。空白なら、何も表示しません
"該当なし"
入力済みで見つからないときの表示です
補足第4引数は、見つからないときの指定です。検索セルが空白かどうかは、IFで確認します。
ポイントこれで、未入力は空白表示、入力済みで見つからない場合は「該当なし」と分けられます。XLOOKUPとIFの組み合わせでは、検索結果による表示切り替えも説明しています。

見つかったのに結果が0になる場合

注意対応する商品が見つかっても、価格セルが本当に空白だとXLOOKUPは0を返すことがあります。この場合は「見つからない場合」の第4引数では直りません。
ポイント数値の0を残し、空白セルだけを空白表示にしたい場合は、戻り範囲の空白を先に変換します。
E7に入力:見つかったのに結果が0になるのを防ぐ
数式=XLOOKUP(D2,A2:A4,IF(B2:B4="","",B2:B4),"該当なし")
ひとことで戻り範囲の空白を、先に空白の文字(””)に変えてから返す
IF(B2:B4="","",B2:B4)
戻り範囲です。価格が空白のセルは空白の文字に、数値の0は0のまま、ほかは元の値になります
"該当なし"
検索値が存在しないときの表示です
補足戻り範囲のセルが空白だと、XLOOKUPは0を返します。「見つからない場合」の第4引数では直りません。
ポイント例えばB2が空白なら空白表示、B2が数値0なら0、B2が120なら120です。検索値が存在しなければ「該当なし」が返ります。結果は元の値に応じて数値または文字列になります。
ポイント氏名など文字列だけを返す表では、戻り範囲に &"" を付ける方法も使えます。
E8に入力:戻り範囲に &”” を付けて、文字として返す
数式=XLOOKUP(D2,A2:A4,B2:B4&"","該当なし")
ひとことで戻り範囲を文字列にして返す(氏名など、文字だけの表に向く)
B2:B4&""
戻り範囲を文字列に変えます。空白は空白の文字に、数値は文字の数字になります
補足数値も文字になるので、金額の計算に使う値には向きません。計算に使うなら、前のIFの式にします。
注意こちらは数値も文字列になるため、金額計算に使う戻り範囲には前のIF式が向いています。XLOOKUPの外側に &"" を付けるだけでは、すでに返された0が文字の「0」になるだけで、元の空白を判別できません。

IFERROR・IFNAとの違い

方法処理する場面
XLOOKUPの第4引数検索で一致が見つからない場合
IFNA(数式,"該当なし")式の結果が#N/Aの場合
IFERROR(数式,"エラー")#N/A以外も含めてエラーになった場合
注意例えば検索範囲と戻り範囲の大きさが違う場合や、戻り先セル自体がエラーの場合は、単なる未一致とは異なります。IFERRORで全部空白にする前に、原因を確認してください。
ポイントExcel 2019・2016でVLOOKUPを使う場合は、次のようにIFNAで未一致の #N/A を処理できます。
E9に入力(Excel 2019・2016):IFNAとVLOOKUPで、未一致を処理する
数式=IFNA(VLOOKUP(D2,A2:B4,2,FALSE),"該当なし")
ひとことでVLOOKUPの #N/A だけを、「該当なし」に置き換える
A2:B4
検索する表です。商品の列が左端にあります
2
返す列の番号です。表の2列目=価格です
IFNA(…)
結果が #N/A のときだけ、「該当なし」にします
補足XLOOKUPがない、Excel 2019・2016で使います。

表にあるのに「該当なし」になるとき

注意商品コードの前後に空白がないか、数値と文字列が混在していないか、参照範囲に追加した行が含まれているかを確認します。全角・半角の違いにも注意してください。表が増えるたびに見つからなくなる場合はテーブルで検索範囲を自動拡張する方法が役立ちます。
ポイント名前の一部で探したい場合は部分一致とワイルドカードを使います。第4引数を変更しても、完全一致が部分一致に変わるわけではありません。
練習用Excelファイル(無料ダウンロード)
商品名・価格の入力用データです。D2に検索商品を入れ、本文の式をE2などへ入力して試してください。
Excelファイル(.xlsx)/登録不要/数式・練習データ入り

仕様の確認:Microsoft公式・XLOOKUP関数

別のシートの表から検索するときは、XLOOKUPで別シート・複数シートから検索する方法もあわせてご覧ください。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする

目次