• ベストアンサー

エクセルのVLOOKUPについて

エクセルのVLOOKUPの関数についていまいち使い方がわからなく、質問します。 今、9999という検索数値があった場合、結果はすべて空白にしたいのですが、 9999という列には0が入っており、9999の場合は空白としたいです。 vlookup関数の前にIF文で指定すれば良いのかもしれませんが、 やり方がよくわからず困っています。 どなたか教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.1

結果が文字列でいいなら =VLOOKUP(検索値,検索範囲,列番号,検索の型)&"" 数値が混じっているなら =IF(検索値=9999,"",VLOOKUP(検索値,検索範囲,列番号,検索の型)) または =IF(VLOOKUP(検索値,検索範囲,列番号,検索の型)="","",VLOOKUP(検索値,検索範囲,列番号,検索の型))

pin103568
質問者

お礼

お礼が遅くなり申し訳ありませんでした。 回答が早かった方をBAとさせていただきます。 他の皆様も丁寧に教えていただきありがとうございました。

その他の回答 (4)

  • Nouble
  • ベストアンサー率18% (330/1783)
回答No.5

検索対象行に9999という項を設け 読み込み対象セルを空セルにする 加えて結果表示セルを 書式の設定で 0;-0;"";@ に、する 如何でしょうか?

  • bunjii
  • ベストアンサー率43% (3589/8249)
回答No.4

>今、9999という検索数値があった場合、結果はすべて空白にしたいのですが、9999という列には0が入っており、9999の場合は空白としたいです。 「9999という列には0が入っており」の9999は列ではなく行と思われますが如何でしょう? 未入力のセルと関数の戻り値の0やキー入力の0とは扱い方が異なります。 質問の9999は行番号としてVLOOKUP関数の返り値が9999行目の値のとき未入力の場合は0が返ります。 これを文字数0の文字列("")にするときは数式の後尾に&""を付加すれば良いでしょう。 但し、その数式での返り値は全て文字列であることが条件です。

noname#206655
noname#206655
回答No.3

すみません、答えではありません。 お陰で ”” と null と vbnullstring を思い出しました。 ありがとう。

  • -antsu-
  • ベストアンサー率50% (84/168)
回答No.2

ん? >9999という列には0が入っており 9999は、検索数値ですか?それとも列番号? Vlookupの結果が9999だったら、空白にしたいということ? 質問の意味がいまひとつよくわかりませんでした。 もう少し具体的に質問文を書いた方が的を得た回答を 得られやすくなると思いますよ。