- ベストアンサー
エクセルのVLOOKUPについて
エクセルのVLOOKUPの関数についていまいち使い方がわからなく、質問します。 今、9999という検索数値があった場合、結果はすべて空白にしたいのですが、 9999という列には0が入っており、9999の場合は空白としたいです。 vlookup関数の前にIF文で指定すれば良いのかもしれませんが、 やり方がよくわからず困っています。 どなたか教えてください。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
結果が文字列でいいなら =VLOOKUP(検索値,検索範囲,列番号,検索の型)&"" 数値が混じっているなら =IF(検索値=9999,"",VLOOKUP(検索値,検索範囲,列番号,検索の型)) または =IF(VLOOKUP(検索値,検索範囲,列番号,検索の型)="","",VLOOKUP(検索値,検索範囲,列番号,検索の型))
その他の回答 (4)
- Nouble
- ベストアンサー率18% (330/1783)
検索対象行に9999という項を設け 読み込み対象セルを空セルにする 加えて結果表示セルを 書式の設定で 0;-0;"";@ に、する 如何でしょうか?
- bunjii
- ベストアンサー率43% (3589/8249)
>今、9999という検索数値があった場合、結果はすべて空白にしたいのですが、9999という列には0が入っており、9999の場合は空白としたいです。 「9999という列には0が入っており」の9999は列ではなく行と思われますが如何でしょう? 未入力のセルと関数の戻り値の0やキー入力の0とは扱い方が異なります。 質問の9999は行番号としてVLOOKUP関数の返り値が9999行目の値のとき未入力の場合は0が返ります。 これを文字数0の文字列("")にするときは数式の後尾に&""を付加すれば良いでしょう。 但し、その数式での返り値は全て文字列であることが条件です。
すみません、答えではありません。 お陰で ”” と null と vbnullstring を思い出しました。 ありがとう。
- -antsu-
- ベストアンサー率50% (84/168)
ん? >9999という列には0が入っており 9999は、検索数値ですか?それとも列番号? Vlookupの結果が9999だったら、空白にしたいということ? 質問の意味がいまひとつよくわかりませんでした。 もう少し具体的に質問文を書いた方が的を得た回答を 得られやすくなると思いますよ。
お礼
お礼が遅くなり申し訳ありませんでした。 回答が早かった方をBAとさせていただきます。 他の皆様も丁寧に教えていただきありがとうございました。