アプリ版:「スタンプのみでお礼する」機能のリリースについて

VLOOKUP関数で他シートのアドレス帳から住所名前等を引き出し、別シートで宛名ラベルを作っています。
この時、何も記入されていないシートをVLOOKUPで読み込んだ場合に、宛名に「0」が表示されてしまうのですが、これを表示させない方法はどうしたらよいのでしょうか?

また以前は「0」では無く、「N#A(記憶が曖昧ですが)」のような表示がされていたんですが、どうして変ったんでしょううか?

よろしくお願いします。

A 回答 (3件)

検索値が見つからない場合は #N/A エラーになります。


検索値が見つかったが、参照する列が空白の場合は 0 になります。

ISERROR や ISNA 等を使ってエラーの場合は空白にすれば、#N/A は表示されなくなります。
例)=IF(ISERROR(VLOOKUP($A2,検索範囲,2,0)),"",VLOOKUP($A2,検索範囲,2,0))

この状態で ツール-オプション-表示タブの「ゼロ値」を外せば #N/A も 0 も見えなくなります。
ただし、検索結果以外の 0 も見えなくなりますのでそれがまずいようなら、

=IF(ISERROR(VLOOKUP($A1,検索範囲,2,0)),"",IF(VLOOKUP($A1,検索範囲,2,0)=0,"",VLOOKUP($A1,検索範囲,2,0)))

のような感じにすると#N/A も 0 も見えなくなります。
    • good
    • 13
この回答へのお礼

ありがとうございます。

ISERRORという手がありましたか。
実は、教えていただいた「ゼロ値」のチェックを外しただけで、
今のところは問題の無い宛名表示ができました。
ただ、今後の汎用性を考えてエラー制御関数は組み込んだほうがいいかもしれませんね。

参考になりました。

お礼日時:2006/11/10 17:16

検索キーの有無を事前にチェックする方法で回避する方法は如何でしょうか。


(例)=IF(COUNTIF(検索キー範囲,検索キー)>0,VLOOKUP式,"")
    • good
    • 1
この回答へのお礼

ありがとうございます。

理論的には#1さんのと同じような事なんですかね。
考えてもいなかった関数だったので
いろいろな方法があるんだなと思いました。

勉強になります。

お礼日時:2006/11/10 17:31

=IF(A1="","" をVLOOKUP関数の前に書き込んだらいかがですか。



#N/Aは、検索範囲外内にない場合出ます。
0になったのは、データを増やしていって、検索範囲内になったからではないですか。
    • good
    • 3
この回答へのお礼

ありがとうございます。

こんなシンプルな方法でもよかったんですね。
個人的にはこのセル内の関数だけで解決できる方法は好きです。

検索範囲のセルデータはいじってないのに#N/Aが0になったのは、おそらくその後に書式設定とかオプションを操作したからじゃないかと思えてきました。
勉強になりました。

お礼日時:2006/11/10 17:03

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!