こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

VLOOKUP関数 正しい値が返されない

sheet1にデータリストを入力、sheet2のA1にコード番号を入力し以下の表にSheet1の対象データを参照するというところ(VLOOKUP関数のみ)まではよかったのですが、元データに空欄の時は「データなし」と表示過去の質問を参照して下のような式に変更しました。

=IF(ISERROR(VLOOKUP($A$1,範囲,列番号,"")),”データなし”,(VLOOKUP($A$1,範囲,列番号,FALSE)))

はじめは正しく表示はされたのですが、A1に違う値を入力し直しても値が変化しません。
エラー表示はでませんが、数式がどこか間違っているのでしょうか。
どなたかお知恵をお貸しください。

投稿日時 - 2002-11-17 17:01:10

QNo.406777

mb2

困ってます

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

ISERROR関数は、対象セル内にエラー表示された場合に答えを返してきますので、セル内が[#VALUE][#N/A][#REF!][#DIV/O!][#NUM!][#NAME?][#NULL!]の7つのエラーに対して反応しますから、この場合はISBLANKを使い、空白セルに対して反応させる必要があると思いますが。

ISERRORの変わりにISBLANKに変更したらどうでしょう。確認していないのでなんとも言えませんが。

投稿日時 - 2002-11-17 17:27:23

お礼

すばやい回答ありがとうございます。
早速ISBLANKに変更しました。
一挙解決です。

>ISERROR関数は、対象セル内にエラー表示された場合に答えを返してきますので、セル内が[#VALUE][#N/A][#REF!][#DIV/O!][#NUM!][#NAME?][#NULL!]の7つのエラーに対して反応・・・

なるほど。勉強になりました。
本当にありがとうございました。

投稿日時 - 2002-11-17 18:43:31

ANo.1

このQ&Aは役に立ちましたか?

2人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.2

試していませんが、
=IF(ISERROR(VLOOKUP($A$1,範囲,列番号,FALSE)),”データなし”,(VLOOKUP($A$1,範囲,列番号,FALSE)))

なんて事ではないですよね?

投稿日時 - 2002-11-17 17:28:09

お礼

すばやい回答ありがとうございます。
確かにその点も怪しいなぁと思ったので修正してみました。
該当のセルは見に行くのですが、「データなし」表示がでず、空欄のまま(=VLOOKUPのみと同じ数値を返してくる)でした(・_・、)

No1の方の「ISBLANK」で解決しました。

投稿日時 - 2002-11-17 18:47:37

あなたにオススメの質問