Date & Time All versions ◉ 28 views

=YEARFRAC()

YEARFRAC calculates the fraction of the year represented by the number of whole days between two dates (the start_date and the end_date). For instance, you can use YEARFRAC to identify the proportion of a whole year's benefits, or obligations to assign to a specific term.

Applies To: Excel for Microsoft 365Excel for Microsoft 365 for MacExcel 2024Excel 2024 for MacExcel 2021Excel 2021 for MacExcel 2019Excel 2016
=YEARFRAC(start_date, end_date, [basis])
Hover argument names in the table for details.
Output typeNumber
Popularity35 / 100
VolatileNo
Dynamic ArrayNo
Download sample .xlsx ▦ Try in Playground Dedicated file for this function — safe & lightweight · sample data + live formulas
Share:

⬇ Download Sample Workbook

A dedicated .xlsx for =YEARFRAC() with Persian sample data & live formulas — open in Excel and practice.

  • Sheet “Sample” — data table + formula in place
  • Sheet “Guide” — syntax, arguments & tips from this page
  • Instant & secure (token + rate limit)
Download YEARFRAC.xlsx ~ 8–12 KB · No macros

⇪ Share

Send this function to friends

Quiz this function

%d questions — syntax, example & errors — test yourself!

◧ Arguments

ArgumentTypeRequiredDescription
start_date Date Required A date that represents the start date.
end_date Date Required A date that represents the end date.
basis Number Optional The type of day count basis to use. 0 or omitted = US (NASD) 30/360; 1 = Actual/actual; 2 = Actual/360; 3 = Actual/365; 4 = European 30/360.

▣ Examples

▦ Data
CellValueDescription
A2 1/1/2012 Start date
A3 7/30/2012 End date
A4 1/1/2012 Start date
A5 7/30/2012 End date
Fraction of the year between 1/1/2012 and 7/30/12, omitting the Basis argument. =YEARFRAC(A2,A3)
Result: 0.58055556
Fraction between same dates, using the Actual/Actual basis argument. Because 2012 is a Leap year, it has a 366 day basis. =YEARFRAC(A2,A3,1)
Result: 0.57650273
Fraction between same dates, using the Actual/365 basis argument. Uses a 365 day basis. =YEARFRAC(A2,A3,3)
Result: 0.57808219

§ Remarks

  • Excel stores dates as sequential serial numbers so they can be used in calculations. By default, January 1, 1900 is serial number 1, and January 1, 2018 is serial number 43101 because it is 43,101 days after January 1, 1900.
  • All arguments are truncated to integers.
  • If start_date or end_date are not valid dates, YEARFRAC returns the #VALUE! error value.
  • If basis < 0 or if basis > 4, YEARFRAC returns the #NUM! error value.

✦ Tips

  • Dates should be entered by using the DATE function, or as results of other formulas or functions. For example, use DATE(2018,5,23) for the 23rd day of May, 2018. Problems can occur if dates are entered as text. The YEARFRAC function may return an incorrect result when using the US (NASD) 30/360 basis, and the start_date is the last day in February.
  • Excel stores dates as sequential serial numbers so they can be used in calculations. By default, January 1, 1900 is serial number 1, and January 1, 2018 is serial number 43101 because it is 43,101 days after January 1, 1900.
  • All arguments are truncated to integers.

⚠ Common Errors

#VALUE! If start_date or end_date are not valid dates, YEARFRAC returns the #VALUE! error value.
Fix: تاریخ‌ها را با تابع DATE وارد کنید و بررسی کنید سلول‌های تاریخ واقعاً تاریخ باشند.
#NUM! If basis < 0 or if basis > 4, YEARFRAC returns the #NUM! error value.
Fix: Correct the third argument

💬 Comments & Q&A 0 approved

🔒 Your comment will be published after review.

Share your thoughts — visible after admin approval

No comments yet — be the first!

✍️ Add comment / question

captcha
🔒 Your comment will be published after review.