Excel guide · 4 min read
How to calculate absenteeism rate in Excel
=K2/J2, with scheduled days from =NETWORKDAYS.INTL($O$2,$O$3,I2,$O$4). For the team, pool the days: =SUM(K2:K9)/SUM(J2:J9) gives 12 absent days out of 150 scheduled, 8%.Sample data
Every result on this page was calculated from this sheet by the same spreadsheet engine the Cellwise app uses.
| A | B | C | D | E | F | G | H | I | J | K | L | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | Employee | First day off | Last day off | Reason | Days | Employee | Team | Workweek | Scheduled | Absent | Rate | |
| 2 | Ana | Oct 5, 2026 | Oct 6, 2026 | Sick | 2 | Ana | Support | 0000011 | 21 | 3 | 0.14285714286 | |
| 3 | Ben | Oct 2, 2026 | Oct 2, 2026 | Family | 1 | Ben | Support | 0000011 | 21 | 1 | 0.047619047619 | |
| 4 | Dan | Oct 9, 2026 | Oct 9, 2026 | Sick | 1 | Chloe | Support | 0101011 | 12 | 3 | 0.25 | |
| 5 | Dan | Oct 16, 2026 | Oct 16, 2026 | Sick | 1 | Dan | Warehouse | 0000011 | 21 | 3 | 0.14285714286 | |
| 6 | Dan | Oct 23, 2026 | Oct 23, 2026 | Other | 1 | Eve | Warehouse | 0000011 | 21 | 1 | 0.047619047619 | |
| 7 | Chloe | Oct 19, 2026 | Oct 23, 2026 | Sick | 3 | Femi | Warehouse | 0101011 | 12 | 1 | 0.083333333333 | |
| 8 | Eve | Oct 30, 2026 | Oct 30, 2026 | Family | 1 | Gus | Support | 0000011 | 21 | 0 | 0 | |
| 9 | Femi | Oct 14, 2026 | Oct 14, 2026 | Other | 1 | Hana | Warehouse | 0000011 | 21 | 0 | 0 | |
| 10 | Ana | Oct 29, 2026 | Oct 29, 2026 | Sick | 1 |
Download this sheet as an Excel practice file (.xlsx)
Step 1: Scheduled working days
The bottom of the rate is the days people were supposed to work, not calendar days. NETWORKDAYS counts Monday to Friday between two dates, both included, and skips any holidays you list.
October 2026 has 22 weekdays. With the company holiday on October 12 in O4, it's 21 scheduled days. Keep holidays in cells (a range like O4:O6 for several) instead of typing dates into the formula, so next month's sheet only needs new dates.
Result: 21
21: weekdays in October 2026 minus the October 12 holiday.
Step 2: Part-time schedules with NETWORKDAYS.INTL
A person who works Monday, Wednesday and Friday was only scheduled for 12 days in October. Counting 21 for them makes their rate look much better than it is.
NETWORKDAYS.INTL takes a 7-character weekend pattern, Monday first, where 1 means a day off. "0000011" is a normal Monday-to-Friday week. "0101011" means Monday on, Tuesday off, Wednesday on, Thursday off, Friday on, weekend off. Store each person's pattern in the Workweek column (I) and the scheduled formula in J2 is =NETWORKDAYS.INTL($O$2,$O$3,I2,$O$4), copied down. Format column I as Text, or Excel turns 0000011 into the number 11.
Result: 12
12: Mondays, Wednesdays and Fridays in October, minus the holiday.
Step 3: Log absences as spells
Record one row per absence spell: who, first day off, last day off and a reason. The Days column counts only the days that person was scheduled: =NETWORKDAYS.INTL(B2,C2,XLOOKUP(A2,$G$2:$G$9,$I$2:$I$9),$O$4). XLOOKUP pulls their workweek pattern from the staff table.
Chloe was off October 19 to 23. That's 5 calendar days but only 3 scheduled ones (Monday, Wednesday, Friday), and the formula counts 3. For a half day, type 0.5 over the formula in that row.
If a spell crosses into the next month, clip it to the month so it isn't counted twice: =MAX(0,NETWORKDAYS.INTL(MAX(B2,$O$2),MIN(C2,$O$3),pattern,$O$4)). A spell from September 28 to October 2 counts 2 days in October. When the log covers several months, add date conditions to the Absent column too: =SUMIFS($E$2:$E$10,$A$2:$A$10,G2,$B$2:$B$10,">="&$O$2,$B$2:$B$10,"<="&$O$3).
Result: 3
3: Chloe's scheduled days off in her October 19 to 23 absence.
Step 4: Rate per person and per team
Each person's rate is absent / scheduled. Chloe's 3 of 12 is 25%, while Dan's 3 of 21 is about 14.3%. Same number of days off, very different share of the schedule.
For a team, add up the days first and divide once. Support missed 7 of 75 scheduled days (9.3%) and Warehouse 5 of 75 (6.7%); the whole team is 12 of 150, 8.0%. Averaging the eight personal rates gives 8.9% instead, because it gives a part-timer's 12 days the same weight as a full-timer's 21. Pooled days are the honest team number.
Result: 0.093333333333 shows as 9.3% with Percent format
About 0.093: Support was absent on 9.3% of its scheduled days.
Absence by reason
SUMIFS by the Reason column shows what's behind the number: 8 of the 12 days were recorded as Sick, about 67%, with 2 Family and 2 Other. Keep reasons to a few broad categories your HR policy defines.
Don't put medical details in the sheet. "Sick" is enough for a rate; anything more personal belongs in whatever confidential system your HR team uses, under the privacy rules that apply to you.
Result: 0.66666666667 shows as 67% with Percent format
About 0.667: two thirds of absence days were recorded as Sick.
The Bradford factor (and its limits)
Some HR teams also track the Bradford factor: spells squared x total days, S x S x D. It weights frequent short absences more than one long one. Dan had 3 one-day spells: 3 x 3 x 3 = 27. Chloe had one 3-day spell: 1 x 1 x 3 = 3. Ana had 2 spells and 3 days: 12. In the staff table, =COUNTIFS($A$2:$A$10,G2)^2*K2 copied down gives everyone's score.
Treat it as a prompt for a conversation, never as an automatic trigger. It counts every absence the same way, including ones that may be protected by law or by your own policies, such as disability-related absence or family leave. Decisions about what a score means belong to HR and the rules where you work, not to a cell.
Result: 27
27: Dan's 3 spells squared x 3 days.
Common mistakes
Dividing by calendar days
Use scheduled working days from NETWORKDAYS or NETWORKDAYS.INTL, minus holidays. Weekends were never workdays.
Giving part-timers a full-time schedule
Store each person's weekly pattern ("0101011") and use NETWORKDAYS.INTL, both for scheduled days and for the days in each absence.
Averaging individual rates for the team
Sum absent days and scheduled days for the team, then divide once.
Counting planned vacation as absence
Absenteeism usually means unplanned absence. Keep approved vacation out of the log, or give it its own reason and exclude it from the rate.
FAQ
What is the formula for absenteeism rate?
Absent days / scheduled working days x 100. In Excel: =absent_days/NETWORKDAYS(start,end,holidays), formatted as a percentage.
How do I calculate absenteeism in hours for shift workers?
Use hours instead of days: scheduled hours from the rota and hours missed in the log. The rate is SUM(missed hours) / SUM(scheduled hours), pooled the same way.
How do I calculate a yearly absenteeism rate?
Set the start and end cells to the year and keep the date conditions on the Absent column. Remove people's days before they joined or after they left from their scheduled days by using their hire or leave date as the start or end.
Should I include half days?
Yes. Enter 0.5 in the Days column for that spell. SUMIFS adds fractions like any other number.
Functions used
NETWORKDAYSWeekdays between datesNETWORKDAYS.INTLWeekdays between dates, custom weekendXLOOKUPModern lookup in any directionSUMIFSAdds with several conditionsCOUNTIFSCounts with several conditionsSUMAdds numbersMAXLargest numberMINSmallest number
Related guides
- How to count workdays between two dates in Excel
- WORKDAY vs NETWORKDAYS: what is the difference?
- How to calculate employee turnover rate in Excel
- Attendance tracker formulas in Excel
- Excel interview questions and answers
- How to calculate SLA compliance in Excel
- Excel skills for your resume
Updated