dポイントプレゼントキャンペーン実施中!

Excelで、VLOOKUP関数を使って、
「今日の日付の横のセルの中身を表示」させているのですが、
該当データがなかった時のエラー表示や0表示を回避したくて

=IF(ISNA(VLOOKUP(TODAY(),元シート!A1:B10,2,0))="","",
VLOOKUP(TODAY(),元シート!A1:B10,2,0))

としたのですが、これでもまだエラーや0が表示されます。
多分、日付そのものがない時に#N/A、
日付はあるが横に何も入っていない場合に0が
出ているように思うのですが、・・・
何かいけないのでしょうか。自分では間違いが見つけられません。

A 回答 (2件)

日付がない場合は#N/A!エラーとなりますのでISNAで検知できます。

また元シートのB列が空白の場合0を表示しないようにするのをVlookup関数で実現するなら

=IF(ISNA(VLOOKUP(TODAY(),A5:B11,2,0)),"",IF(VLOOKUP(TODAY(),A5:B11,2,0)="","",VLOOKUP(TODAY(),A5:B11,2,0)))

でどうでしょうか

この回答への補足

ありがとうございました。
IFを入れた例までつくってくださり、大変助かりました。
なるほど、IFを入れ子にするのですね。
勉強になりました。

補足日時:2006/09/03 18:19
    • good
    • 0

ISNA(~)=""だからじゃないですか?


=""の部分は削除して、単にISNA(~)だけにしてみてください。

ISNA(~)はTRUE か FALSEにしかならないので、
ISNA(~)と""が一致することはあり得ません。

つまり、ISNA(~)=""は常にFALSEとなり、
VLOOKUP(TODAY(),元シート!A1:B10,2,0)が実行されてしまうのです。

この回答への補足

ありがとうございます。
なるほど、確かにFALSE表示を見ました。
ISNAについてきちんと理解していなかったのもいけなかったですね。
勉強になりました。

補足日時:2006/09/03 18:18
    • good
    • 0

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