日数を計算する「DATEDIF」関数

Calcには満年齢を計算するのに便利な「DATEDIF」関数があります。
下図のような満年齢換算表を作成する例で説明します。この表はセル[A1]に設定した日付を基準にして生年月日より満年齢を算出するものです。例では「2020/04/01」を基準の日付としました。

①下図のシートのセル[B3]に「DATEDIF」関数を入力します。
入力した関数の数式は下記のとおりです。
=DATEDIF(A3,$A$1,”y”)
開始日:A3
終了日:$A$1
間隔:”y”
※ 第3引数の間隔には”d”,”m”,”y”,”ym”,”md”,”yd”のいずれかを指定できます。

②上記①の数式でも正解ですが、「101」のような表示では何とも味気ないものです。そこで最初に紹介した完成図のように「歳」の文字を付けることにします。
数式を下記のように変更します。
=DATEDIF(A3,$A$1,”y”)&”歳”
※ 関数が求めた結果の値に文字を追加する場合は関数に「&(アンパサンド)」で結合して追加したい文字を指定します。

③セル[B3]の「DATEDIF」関数に文字「歳」を追加して、セル[B4]~[B13]にコピーした結果が下図です。

④「詳細年齢」列では満年齢数に端数月数と端数日数を加えて表示するようにします。
満年齢数の数式は②で説明したものと同じです。次に端数月数は下記の数式になります。
=DATEDIF(A3,$A$1,”ym”)&”カ月”
また、端数日数は下記の数式になります。
=DATEDIF(A3,$A$1,”md”)&”日”
これら3つの数式を「&」で結合すると下記の数式が出来上がります。
=DATEDIF(A3,$A$1,”y”)&”歳”&DATEDIF(A3,$A$1,”ym”)&”カ“&DATEDIF(A3,$A$1,”md”)&”日”

⑤出来上がった数式をセル[C3]に入力し、セル[C4]~[C13]にコピーした結果が下図です。

(注)一般的な満年齢は誕生日と同じ日を迎えることで、年を1つ加えます。しかし、民法上は「誕生日の1日前」となっています。これに沿って「DATEDIF」関数で満年齢を求める場合、下記の書式で求めることができます。
=DATEDIF ( 誕生日 – 1 , 終了日 , ”y” )

Back>5. 条件を判断する「IF」関数
Next>7. 表から該当データを検索する「VLOOKUP」関数

タイトルとURLをコピーしました