いきなり答える備忘録

Google Workspace・Microsoft 365・LibreOfficeなどに関するメモ

(Gスプレッドシート)XLOOKUP関数で値が見つからないとき空白にする

 GoogleスプレッドシートのXLOOKUP関数では、検索値が見つからないと#N/Aエラーが表示されます。
 これを空白に変える方法についてです。

  • XLOOKUP関数の第4引数に何も指定せずカンマだけ入れておくと、検索値が見つからないときに空白セル(未入力状態)となります。
  • 同じく「""」(空文字列)を指定すると、検索値が見つからないときに空文字列となります。もともと複数の列を抽出しようとしている場合、2列目以降は空白セルになります。

手順

 まずはエラーとなる例の確認です。
 画像ではG3セルに「=XLOOKUP(F3,B3:B8,C3:D8)」と入力しています。F3セルに入力されている商品コードをB3:B8の範囲から検索し、見つかったらそれに対応する商品名と単価(C,D列の値)を出力しようとする内容です。
 しかしF3セルに入力されている「A003」はB3:B8の範囲に存在しないため#N/Aエラーとなっています。



 VLOOKUP関数だとIFNA関数などと組み合わせて表示される値を変更するところですが、XLOOKUP関数の場合はより簡単です。
 第3引数の後にカンマを1個加えるだけで空白セルを表示させることができます。

 G3セル

=XLOOKUP(F3,B3:B8,C3:D8,)

 XLOOKUP関数の第4引数(検索値が見つからない場合に表示させる値)として空白セル(未入力状態のセル)を指定しています。
 これにより検索値が見つからない場合、式が入っているG3セルも隣のH3セルも空白セルとなります。



 また、「=XLOOKUP(F3,B3:B8,C3:D8,"")」とした場合、式が入っているG3セルは空文字列(="")となり、隣のH3セルは空白セルとなります。

 G3セル

=XLOOKUP(F3,B3:B8,C3:D8,"")

 実用的にほぼ違いはありませんので好みで選んでよいと思いますが、Googleスプレッドシートの場合は空白セルを出力できる点は覚えておいて損はないと思います。
 なお第4引数を「{"",""}」(=1行2列の空文字列)としてもH3セルは空文字列にはならず、「""」とした場合と同じ結果になります。