YEARFRAC関数(日数の割合・年数)

イヤー・フラクション

YEARFRAC関数は、指定した日付間における日数の1年間に占める割合を返す関数です。年数なども調べることができます。

例:YEARFRAC関数を入力。第3引数に1。

第3引数が1の場合は、年や月が実際の日数で計算されます。他に0・2・3・4などの引数がありますが、一ヶ月を30日、一年を360日などのように計算するもので、やや専門的な用途となります。第3引数の種類については、Microsoftのサイトで解説されています。

YEARFRAC関数

Enterで結果が表示されます。一年間に占める割合は、0.315068で約31%となります。例えば 2022/1/1~2023/1/1とすると、戻り値は1となります。1は100%となります。

一年間に占める割合

例:同様に関数を入力。

YEARFRAC関数

Enterで結果が表示されます。この場合、17年と0.45786(一年のうち約45%)期間があることになります。

期間

INT関数との組み合わせ。

INT関数との組み合わせ

Enterで結果が表示されます。年数だけ確認することができます。

年数

文字列をつなぐ&を追加。

&を追加

Enterで結果が表示されます。右寄せで表示。

年数と単位

INT関数・TODAY関数との組み合わせ。

INT関数・TODAY関数との組み合わせ

Enterで結果が表示されます。生年月日などから、今日の時点での年数や年齢を確認することができます。

年数や年齢

YEARFRAC関数では、あくまで日数の割合を示しているため、17.45786のように表示されても、17年と約4ヶ月というわけではありません。

年数と月数

月数を算出する場合は、例えば以下のように求めることができます。

  1. F4・・=INT(E4)
  2. G4・・=INT((E4-F4)*12)
  3. H4・・=CONCAT(F4,”年”,G4,”ヶ月”)

E4からF4を引くことによって、0.45786を取り出すことができます。これは日数の一年間に対する割合であるため、12を掛けることによって月数にします。この場合、5.49432となります。つまり約5.5ヶ月となります。この数値をINT関数によって小数点を省くと5とすることができます。

最後にCONCAT関数などによって、F4・年・G4・ヶ月とつなぐことで、17年5ヶ月と表示させることができます。

=から始まるひとつの式で、何年何ヶ月と表示させる場合、YEARFRAC関数でまとまるのは非常に長くなります。DATEDIF関数を使ったほうが適していると考えられます。