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

解決済みの質問

EXCEL エクセル 年齢 DATEDIF関数 空白の場合

EXCEL2007 年齢を計算するのに A1セルに 生年月日を入力、
B1セルに年齢  =DATEDIF(A1,TODAY(),"y")で 
満年齢がでると思うのですが
A1セルが空白の場合 109となります。
A1セルが空白の場合 B1セルも空白になる関数を教えてください。

本を見ながらの初心者です。よろしくお願いします。

投稿日時 - 2009-11-06 19:37:05

QNo.5426942

困ってます

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

これでできると思います。
=IF(A1="","",DATEDIF(A1,TODAY(),"Y"))

投稿日時 - 2009-11-06 19:41:21

お礼

できました。.。.:*・`・*:.。ヽ(^o^)丿. .。.:*・`・*:.。. .。.:*・゜
すっきりしました。本当にありがとうございました。

投稿日時 - 2009-11-06 20:03:08

ANo.1

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

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

回答(2)

ANo.2

A1セルが空白の場合、DATEDIF関数を計算せず、強制的に
自分の思う値(今回は空白。他に「生年月日入力漏れ」なんて出せる)を出せば良い。これにはIF関数を使う。
こんなことはエクセル関数の常識。
=IF(A1="","",DATEDIF(A1,TODAY(),"Y")
ほかの例にに割り算では、0で割るとエラーになる。その場合は、上記で言ったように、割り算をしないことも出来る。
C1セルに
=IF(OR(B1="",B1=0),"",A1/B1)のように。
エラーを捉えて、その場合は空白などの値にすることも出来るが(略)。
ーー
また、余分かもしれないが
TODAY関数は日が変わると値が変わるのは知ってますか。
これも便利な場合もあり、一方実社会では一定基準日で計算することも多い。使用に注意のこと。ほとんどのビジネスのデータ(文書・表)は(過去が多い)基準日を持っているから。
だから決ったセルに、基準日を入れ、TODAYのところにそのセル番地を入れるほうが良いのではないか。

投稿日時 - 2009-11-07 18:04:49

お礼

生年月日入力漏れ・・・いいですね。できました!\(^0^)
関数?マクロ何?の超初心者ですができました。でました!
今回は年齢でしたが TODAYを基準日にするなど応用っていうのでしょうか・・・他でもできそうです。
 とても丁寧な説明ありがとうございました。
すごく嬉しいです。

・・・C1セルに
=IF(OR(B1="",B1=0),"",A1/B1)のように。以下???です。

マクロ・・・とか?っていうんでしょうか・・・勉強します!
たくさんありがとうございました。

投稿日時 - 2009-11-07 23:54:46

あなたにオススメの質問