Excel(エクセル)YEARFRAC関数の使い方|その期間が1年に占める割合を求める
YEARFRAC関数について、その使い方を初心者にも分かりやすく解説しています。YEARFRAC関数の引数の指定方法、YEARFRAC関数を使った年齢計算の方法、DATEDIF関数との違いなど。
使用関数:YEARFRAC
YEARFRAC(イヤーフラクション)関数とは?
YEARFRACは「開始日」と「終了日」で指定した期間が1年に占める割合を求める関数です。関数名YEARFRACは、YEARイヤー=年とFractionフラクション=分数・比・割合の略語を組み合わせています。
YEARFRAC関数の引数と書式
「数式」タブ「関数ライブラリ」→「日付/時刻」→ YEARFRACをクリックします。
YEARFRACの引数は「開始日」「終了日」と「基準」です。
書式の構成はこうなります。
YEARFRAC関数の使い方
YEARFRAC関数を使って、一つの案件にかかった日数が1年に占める割合を求めてみましょう。
受注した案件の制作が4月5日から30日で完了しました。非稼働日も含めて制作に費やした期間が1年に占める割合を計算します。
第一引数「開始日」の指定
期間が開始された日付をセル参照、シリアル値、日付文字列で指定します。
この例では、「案件Aの割合/年」のセルを選択して、YEARFRAC関数の引数ダイアログボックスを開き、「開始日」の日付セルをクリックで指定します。
第二引数「終了日」の指定
期間が終了した日付をセル参照、シリアル値、日付文字列で指定します。
この例では、「終了日」の日付セルをクリックで指定します。
第三引数「基準」の指定
割合の基準になる1年間の日数を指定します。1年を360日として計算する米国やヨーロッパ方式などから選択するわけですが、あまり深く考えず、閏年にも対応する「1(実際の日数を元にした基準)」を指定しておけばまず間違いはないでしょう。
YEARFRAC関数の引数「基準」に指定する番号の一覧
番号 | 基準日数 |
---|---|
0または省略 | 30日/月 360日/年(米国方式) |
1 | 実際の日数/月・年 |
2 | 実際の日数/月 360日/年 |
3 | 実際の日数/月 365日/年 |
4 | 30日/月 360日/年(ヨーロッパ方式) |
この例では「1」を入力します。
一つの制作に費やした期間が1年に占める割合がYEARFRAC関数で取得できました。
小数点以下がズラッと並ぶので桁数を減らしますが、「ホーム」タブにある桁数増減ボタンを使うと四捨五入されてしまうのでROUNDDOWN関数に入れ子して切り捨てにしました。また、表示形式を「パーセンテージ」の小数点以下の桁数1に設定してあります。
YEARFRAC関数で年齢を求める
年齢や勤続年数を求める関数にはDATEDIFがありますが、バグや#NUM!エラーが発生したり不正確な結果が返されたりして使いにくい関数です。関数の挿入からも選べない非推奨のExcel関数なので今後使えなくなる可能性もあります。その代替として利用できるのがYEARFRAC関数です。
生年月日のデータからYEARFRAC関数で年齢を取得します。
YEARFRAC関数の引数「開始日」には生年月日のセルをクリックで指定、「終了日」にはTODAY関数を「TODAY()」と入力、「基準」には数値で1を入力します。
ポイントは引数「終了日」にTODAY関数を入れること。生年月日から今日までの経過年数はそのまま返り、誕生日から今日までの期間が1年に占める割合が端数で返ります。
端数はROUNDDOWN関数で切り捨てます。
最終的な数式 =ROUNDDOWN(YEARFRAC(C2,TODAY(),1),0)
- YEARFRAC関数は「開始日」と「終了日」で指定した期間が1年に占める割合を求めます
- YEARFRACはYear(年)Fraction(割合)の略語です
- YEARFRAC関数の引数は「開始日」「終了日」と「基準」です
- YEARFRAC関数の引数「基準」には対応する方式の番号を「1~4」の数値で指定します(通常は1を指定)
- YEARFRAC関数は年齢や勤続年数を求めるDATEDIF関数の代替として利用されます