プロが教える店舗&オフィスのセキュリティ対策術

EXCELで年令計算する関数DATEDIFを使って、生年月日の記入をすると年令を表示しますが、
記入がないと 111才 になってしまいます。生年月日の記入がないときには 0才 にしたいのですが、わかりません。
  たとえば、生年月日のセルを         B12
        基準日(関数TODAY()を使用 )を E3
        年令表示セルを           B11
にして、セルB11に次の関数を入力します。
    =DATEDIF(B12,E3,"Y") & "才"
すると、生年月日がセルB12に入っていれば、年令を表示しますが、生年月日の記入がない(空欄)と111才と表示されてしまいます。空欄では0才などにしたいのですが、ご教示をお願いします。
セルの西暦・和暦やTODAY関数が影響するのかわかりません。

A 回答 (4件)

=IF(B12="",0,DATEDIF(B12,E3,"Y")) & "才"



でいかがですか。
    • good
    • 0

原因は分かりませんが、とりあえず


B11=IF(B12="",0,DATEDIF~) と
してみては如何でしょうか。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。教えていただいた関数で実施しますと、「入力した数式は正しくありません。」のエラー表示が出てきてしまいました。原因はよくわかりませんでした。
ありがとうございました。

お礼日時:2011/04/16 20:50

 



=if(B12="",0,datedif(B12,E3,"Y")&"才")
あるいは
=if(B12="",0,datedif(B12,E3,"Y"))
として、セルの書式設定で表示形式を
G/標準"才"
 
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。教えていただいた関数
=IF(B12="",0,DATEDIF(B12,E3,"Y")&"才")では"才"が表示されませんでした。
=IF(B12="",0,DATEDIF(B12,E3,"Y"))&"才"でうまくできました。
=if(B12="",0,datedif(B12,E3,"Y"))でセルの書式設定で表示形式を G/標準"才"にしてもできることがわかりました。
ありがとうございました。

お礼日時:2011/04/16 20:58

>記入がないと 111才 になってしまいます


(1)不思議そうに書いているが、日付シリアル値というエクセルの仕組みをしらないからそうなる
知らなければ、Googleででも「エクセル 日付シリアル値」で照会して勉強のこと。
(2)またエクセルでは、関数の引数で、数を入れるべき場合に、指定セルが空白だと0と看做して計算されることがほとんど
そして、日付シリアル値の0とは1999年12月31日のこと。だからその後現在年(月日)は111年たっているということだ。
=DATEDIF(A2,TODAY(),"y")
のような式を、=IF(A2="","",DATEDIF(A2,TODAY(),"y"))
にして別扱いで、計算させないようにすれば良い。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。日付シリアル値のためかなと思いましたが基準年が1999年12月31日で0とは思いませんでした。勉強になりました。111才の意味がわかりました。
=IF(B12="","",DATEDIF(B12,TODAY(),"y"))で実施しましたが年号が表示されました。
=IF(B12="",0,DATEDIF(B12,E3,"Y")) & "才"でうまくいきました。ありがとうございました。

お礼日時:2011/04/16 21:13

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