XLOOKUPで未入力のセルが0になる場合は、戻り値に使うデータの空白を、先に空文字列に置き換えます。実際に入力されている数値の0は残せるので、「未入力」と「金額0」を区別できます。
XLOOKUP の基本(書き方・一致モード・下から検索・VLOOKUP との違い)は、XLOOKUP関数の使い方にまとめています。

画像をタップすると拡大
「空白」「数値の0」「見つからない」を区別する
価格表では、未入力は「金額がまだ決まっていない」、0は「金額が0で確定している」というように意味が違います。検索結果をすべて空白にしてしまう前に、どの状態を表示したいか確認しましょう。
| 商品ID | 元の金額 | 表示したい結果 |
|---|---|---|
| P001 | 未入力のセル | 空白 |
| P002 | 数値の0 | 0 |
| P003 | 数値の1200 | 1,200 |
| P999 | 商品ID自体がない | 未登録 |
実際に試すと、金額が未入力の P001 を =XLOOKUP(E2,$A$2:$A$4,$B$2:$B$4,"未登録") で返したところ、空白ではなく 0 と表示されました(③)。本当に 0 を登録した P002 と見分けがつきません。下の手順で作る検索用の C 列から返すと、P001 は空白、P002 は 0 のままになりました(④)。

まず動かしてみよう|この記事のサンプルをその場で試せます
練習用ファイルをダウンロードしなくても、記事と同じデータ・同じセル番地のサンプルをここで動かせます。黄色いセルを書き換えると、結果がその場で変わります。各解説の最後にある「▶ この式を試す」を押すと、このツールの該当セルへ移動します。
手順1:空白を保つ検索用の列を用意する
サンプルのA9:A11が商品ID、B9:B11が金額です。C9に次の式を入れ、C11までコピーします。配布ファイルには入力済みです。
""を返します。金額が0ならLENの結果は1なので、数値の0をそのまま返します。C列は見た目がB列と似ていますが、未入力セルを「空白表示になる数式の結果」に置き換えた列です。
手順2:XLOOKUPの戻り範囲をC列にする
B4に検索する商品IDを入れ、E4に次の式を入力します。
- B4:検索する商品ID。
- A9:A11:商品IDを探す範囲。
- C9:C11:空白を保つように整えた戻り範囲。
- 「未登録」:IDが見つからないときの表示。最後の0は完全一致。

画像をタップすると拡大
補助列を使わず、1つの式で書く場合
&""を付ける方法は数値も文字列に変わるため、後で集計する金額には使い分けが必要です。
画像をタップすると拡大
空白にならないときの確認点
| 症状 | 確認すること |
|---|---|
| P001でも0が出る | 戻り範囲がB9:B11のままになっていないか。練習用の式ではC9:C11を指定。 |
| 見た目は空白なのに判定されない | 元データにスペースや改行が入っていないか。LENで文字数を確認。 |
| 未登録と表示される | 商品IDの前後の空白や文字の違いを確認。 |
| #NAME?になる | XLOOKUP対応版か確認。Excel 2019・2016では利用不可。 |
よくある質問
空白を返したセルは、完全な空セルですか?
データを追加した場合は?
サンプルで結果を確かめる
本文のセル位置はダウンロードファイルにそろえています。まず黄色いセルを変更して動きを確認し、次に自分の表に合う範囲へ置き換えてください。
関連する解説・参考資料
VLOOKUPで空白のセルが0になるときは、VLOOKUPで0を表示しない・空白なら空白にする方法もあわせてご覧ください。
別のシートの表から検索するときは、XLOOKUPで別シート・複数シートから検索する方法もあわせてご覧ください。

コメント