- ベストアンサー
期間の計算の仕方(エクセル)
例えば、A1セルに自分の誕生日、A2セルに今日の日付を入力して、A3のセルに今日現在何年何月何日と表示させる関数などありましたら教えて下さい。 また、A1・A2に入力する際の表示形式などの注意事項も併せて教えて下さい。 よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
A1に誕生日、A2=TODAY()、A3に経過年月日ですか? 経過年=DATEDIF(A$1,A$2,"y") 【年齢】 経過月=DATEDIF(A$1,A$2,"ym") 経過日=DATEDIF(A$1,A$2,"md") A3にすべて表示なら A3=DATEDIF(A$1,A$2,"y")&"年"&DATEDIF(A$1,A$2,"ym")&"月"&DATEDIF(A$1,A$2,"md")&"日"
その他の回答 (2)
- CupNaka
- ベストアンサー率22% (13/57)
=DATEDIF(A1,A2,"Y") & "年" & DATEDIF(A1,A2,"YM") & "月" & DATEDIF(A1,A2,"MD") & "日" で表示できます。 でも意外と調べてみるとネットでも似たようなのを載せてるのがありますよ。
- sacoman
- ベストアンサー率56% (33/58)
A1に誕生日 A2に今日の日付(関数=TODAY()と入力しておくと自動更新されます) A3のセルに以下の式を入力 =DATEDIF(A1,A2,"Y")&"年"&DATEDIF(A1,A2,"m")-DATEDIF(A1,A2,"Y")*12&"ヶ月"&DAY(A2)&"日" で、できます。(表示形式は特に気にする必要はないです) ちなみにDATEDIF関数は、指定日付範囲(今回の場合は、誕生日から今日の日付)までの年数および月数を返す関数です。 ちなみにDATEDIF関数を使うときには注意すべき点もあります。参考URLをご覧ください。
補足
ご指導いただいた式をそのままコピーして利用したところ、 例えば、S61.1.1からS62.9.8までが、「1年8カ月8日」と1月少なく出てしまいました。 またS59.3.24からS59.12.31までが、「0年9ヶ月31日」となってしまいました。 修正点が分かりましたら教えて下さい。
補足
回答ありがとうございました。 「A3にすべて表示を」やってみました。 ただ、下記のとおり不具合があるようです。 例えば、平成15年4月1日から平成16年4月1日までとすると1年0月0日でOKなのですが、 平成16年3月31日までとすると0年11月0日となってしまいます。 分かりましたら修正指導ください。