イヤー・フラクション
YEARFRAC関数は、指定した日付間における日数の1年間に占める割合を返す関数です。年数なども調べることができます。
例:YEARFRAC関数を入力。第3引数に1。
第3引数が1の場合は、年や月が実際の日数で計算されます。他に0・2・3・4などの引数がありますが、一ヶ月を30日、一年を360日などのように計算するもので、やや専門的な用途となります。第3引数の種類については、Microsoftのサイトで解説されています。
Enterで結果が表示されます。一年間に占める割合は、0.315068で約31%となります。例えば 2022/1/1~2023/1/1とすると、戻り値は1となります。1は100%となります。
例:同様に関数を入力。
Enterで結果が表示されます。この場合、17年と0.45786(一年のうち約45%)期間があることになります。
INT関数との組み合わせ。
Enterで結果が表示されます。年数だけ確認することができます。
文字列をつなぐ&を追加。
Enterで結果が表示されます。右寄せで表示。
INT関数・TODAY関数との組み合わせ。
Enterで結果が表示されます。生年月日などから、今日の時点での年数や年齢を確認することができます。
YEARFRAC関数では、あくまで日数の割合を示しているため、17.45786のように表示されても、17年と約4ヶ月というわけではありません。
月数を算出する場合は、例えば以下のように求めることができます。
E4からF4を引くことによって、0.45786を取り出すことができます。これは日数の一年間に対する割合であるため、12を掛けることによって月数にします。この場合、5.49432となります。つまり約5.5ヶ月となります。この数値をINT関数によって小数点を省くと5とすることができます。
最後にCONCAT関数などによって、F4・年・G4・ヶ月とつなぐことで、17年5ヶ月と表示させることができます。
=から始まるひとつの式で、何年何ヶ月と表示させる場合、YEARFRAC関数でまとまるのは非常に長くなります。DATEDIF関数を使ったほうが適していると考えられます。