![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
Excelで、VLOOKUP関数を使って、
「今日の日付の横のセルの中身を表示」させているのですが、
該当データがなかった時のエラー表示や0表示を回避したくて
=IF(ISNA(VLOOKUP(TODAY(),元シート!A1:B10,2,0))="","",
VLOOKUP(TODAY(),元シート!A1:B10,2,0))
としたのですが、これでもまだエラーや0が表示されます。
多分、日付そのものがない時に#N/A、
日付はあるが横に何も入っていない場合に0が
出ているように思うのですが、・・・
何かいけないのでしょうか。自分では間違いが見つけられません。
No.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を入れ子にするのですね。
勉強になりました。
No.1
- 回答日時:
ISNA(~)=""だからじゃないですか?
=""の部分は削除して、単にISNA(~)だけにしてみてください。
ISNA(~)はTRUE か FALSEにしかならないので、
ISNA(~)と""が一致することはあり得ません。
つまり、ISNA(~)=""は常にFALSEとなり、
VLOOKUP(TODAY(),元シート!A1:B10,2,0)が実行されてしまうのです。
この回答への補足
ありがとうございます。
なるほど、確かにFALSE表示を見ました。
ISNAについてきちんと理解していなかったのもいけなかったですね。
勉強になりました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAのoffsetの動き方について教...
-
指定した日付の範囲内でデータ...
-
ExcelVBAで、指定したシートに...
-
Excelの中央値の複数条件について
-
Excel 複数のシートからグラフ...
-
VBA セルの値と同じ名前のシー...
-
エクセル シフト勤務表から、...
-
【Excel】VLOOKUP関数で複数の...
-
VBAでシート名をセルから取得し...
-
エクセル マクロを使って日々...
-
Excelでシートが複数あるデータ...
-
[エクセル]先頭シートから最終...
-
決まったシートだけコピーして...
-
エクセル2010でメンバー数人の...
-
【エクセル】データ用シートを...
-
VBA レイアウト複製し情報を格納
-
エクセルの操作
-
エクセル if文を乱用したら・・・
-
エクセル、複数のシートのデー...
-
エクセルデータの変更を反映さ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBA セルの値と同じ名前のシー...
-
エクセルで入力シートから別シ...
-
Excelの中央値の複数条件について
-
Excel 複数のシートからグラフ...
-
ExcelVBAで、指定したシートに...
-
IF, ISNUMBER, INDIRECTの組み...
-
Excel ハイパーリンク先のセル...
-
VBAのoffsetの動き方について教...
-
エクセルのワークシートが重く...
-
エクセル マクロを使って日々...
-
EXCEL VBA 一致しないデータの...
-
エクセルVBA:表の内容を担当者...
-
質問:特定文字列から空白行ま...
-
エクセル自動の年月
-
Excelの選択肢をポップアップリ...
-
指定した日付の範囲内でデータ...
-
【Excel】VLOOKUP関数で複数の...
-
エクセル シフト勤務表から、...
-
エクセルで入力→日付を自動判別...
-
VBAを利用しオートフィルタで日...
おすすめ情報