• ベストアンサー

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

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

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

  • ベストアンサー
  • osaruye
  • ベストアンサー率33% (8/24)
回答No.1

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

dejavu_m
質問者

お礼

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

すると、全ての回答が全文表示されます。

その他の回答 (1)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

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

dejavu_m
質問者

お礼

生年月日入力漏れ・・・いいですね。できました!\(^0^) 関数?マクロ何?の超初心者ですができました。でました! 今回は年齢でしたが TODAYを基準日にするなど応用っていうのでしょうか・・・他でもできそうです。  とても丁寧な説明ありがとうございました。 すごく嬉しいです。 ・・・C1セルに =IF(OR(B1="",B1=0),"",A1/B1)のように。以下???です。 マクロ・・・とか?っていうんでしょうか・・・勉強します! たくさんありがとうございました。

すると、全ての回答が全文表示されます。

専門家に質問してみよう