- ベストアンサー
VLOOKUP関数 正しい値が返されない
sheet1にデータリストを入力、sheet2のA1にコード番号を入力し以下の表にSheet1の対象データを参照するというところ(VLOOKUP関数のみ)まではよかったのですが、元データに空欄の時は「データなし」と表示過去の質問を参照して下のような式に変更しました。 =IF(ISERROR(VLOOKUP($A$1,範囲,列番号,"")),”データなし”,(VLOOKUP($A$1,範囲,列番号,FALSE))) はじめは正しく表示はされたのですが、A1に違う値を入力し直しても値が変化しません。 エラー表示はでませんが、数式がどこか間違っているのでしょうか。 どなたかお知恵をお貸しください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
ISERROR関数は、対象セル内にエラー表示された場合に答えを返してきますので、セル内が[#VALUE][#N/A][#REF!][#DIV/O!][#NUM!][#NAME?][#NULL!]の7つのエラーに対して反応しますから、この場合はISBLANKを使い、空白セルに対して反応させる必要があると思いますが。 ISERRORの変わりにISBLANKに変更したらどうでしょう。確認していないのでなんとも言えませんが。
その他の回答 (1)
- taisuke555
- ベストアンサー率55% (132/236)
試していませんが、 =IF(ISERROR(VLOOKUP($A$1,範囲,列番号,FALSE)),”データなし”,(VLOOKUP($A$1,範囲,列番号,FALSE))) なんて事ではないですよね?
お礼
すばやい回答ありがとうございます。 確かにその点も怪しいなぁと思ったので修正してみました。 該当のセルは見に行くのですが、「データなし」表示がでず、空欄のまま(=VLOOKUPのみと同じ数値を返してくる)でした(・_・、) No1の方の「ISBLANK」で解決しました。
お礼
すばやい回答ありがとうございます。 早速ISBLANKに変更しました。 一挙解決です。 >ISERROR関数は、対象セル内にエラー表示された場合に答えを返してきますので、セル内が[#VALUE][#N/A][#REF!][#DIV/O!][#NUM!][#NAME?][#NULL!]の7つのエラーに対して反応・・・ なるほど。勉強になりました。 本当にありがとうございました。