Team Annual Leave Planner
Made for managers and small businesses planning time off for a team.
Plan and track time off for a small team: allowances, bookings, approvals and who is away. The summary carries a chart that redraws itself as you type.
- Tabs
- 3
- Columns
- 16
- Fill themselves in
- 16
Freeno card, no email, no sign up
- Opens in Excel, Google Sheets and Numbers
- Free, with nothing to sign up for
- No macros, nothing to install
- Describe your own when you are ready
Yours to keep, change and share. Built exactly as every spreadsheet here is, so it is a fair picture of what you would get from describing your own.
Everything inside, before you pay
This is the whole design: every tab, every column and how each calculated one is worked out. White cells are yours to fill in; the shaded ones work themselves out and are locked so a formula cannot be overwritten by accident. There is room for 430 rows.
Team
| Column | Type | Worked out as |
|---|---|---|
| Name | text | |
| Role | text | |
| Holiday Allowance | number | |
| Holiday Booked | number | IF(ISBLANK([name]),"",SUMIFS([Leave!working_days],[Leave!person],[name],[Leave!leave_type],"Holiday",[Leave!status],"<>Declined",[Leave!first_day],">="&DATE(YEAR(TODAY()),1,1),[Leave!first_day],"<="&DATE(YEAR(TODAY()),12,31))) |
| Holiday Left | number | IF(OR(ISBLANK([name]),ISBLANK([allowance])),"",[allowance]-SUMIFS([Leave!working_days],[Leave!person],[name],[Leave!leave_type],"Holiday",[Leave!status],"<>Declined",[Leave!first_day],">="&DATE(YEAR(TODAY()),1,1),[Leave!first_day],"<="&DATE(YEAR(TODAY()),12,31))) |
| Sick Days | number | IF(ISBLANK([name]),"",SUMIFS([Leave!working_days],[Leave!person],[name],[Leave!leave_type],"Sick",[Leave!status],"<>Declined",[Leave!first_day],">="&DATE(YEAR(TODAY()),1,1),[Leave!first_day],"<="&DATE(YEAR(TODAY()),12,31))) |
| Off Today | text | IF(ISBLANK([name]),"",IF(COUNTIFS([Leave!person],[name],[Leave!status],"<>Declined",[Leave!first_day],"<="&TODAY(),[Leave!last_day],">="&TODAY())>0,"Yes","No")) |
| Off In Next 14 Days | text | IF(ISBLANK([name]),"",IF(COUNTIFS([Leave!person],[name],[Leave!status],"<>Declined",[Leave!first_day],"<="&(TODAY()+14),[Leave!last_day],">="&TODAY())>0,"Yes","No")) |
Leave
| Column | Type | Worked out as |
|---|---|---|
| Person | choice (from Team › name) | |
| Type | choice (list) | |
| First Day Off | date | |
| Last Day Off | date | |
| Working Days | number | |
| Approval | choice (list) | |
| When | text | IF(OR(ISBLANK([first_day]),ISBLANK([last_day])),"",IF([last_day]<[first_day],"Check dates",IF([first_day]>TODAY(),"Upcoming",IF([last_day]<TODAY(),"Taken","Off now")))) |
| Notes | text |
Summary
| Measure | Worked out as |
|---|---|
| People off today | COUNTIF([Team!off_today],"Yes") |
| First person off today | IFERROR(INDEX([Team!name],MATCH("Yes",[Team!off_today],0)),"Nobody") |
| People off in the next 14 days | COUNTIF([Team!off_next_14],"Yes") |
| Bookings waiting for approval | COUNTIF([Leave!status],"Pending") |
| Holiday days taken | SUMIFS([Leave!working_days],[Leave!leave_type],"Holiday",[Leave!status],"<>Declined",[Leave!first_day],">="&DATE(YEAR(TODAY()),1,1),[Leave!first_day],"<="&DATE(YEAR(TODAY()),12,31)) |
| Sick days taken | SUMIFS([Leave!working_days],[Leave!leave_type],"Sick",[Leave!status],"<>Declined",[Leave!first_day],">="&DATE(YEAR(TODAY()),1,1),[Leave!first_day],"<="&DATE(YEAR(TODAY()),12,31)) |
| Training days taken | SUMIFS([Leave!working_days],[Leave!leave_type],"Training",[Leave!status],"<>Declined",[Leave!first_day],">="&DATE(YEAR(TODAY()),1,1),[Leave!first_day],"<="&DATE(YEAR(TODAY()),12,31)) |
| Other days taken | SUMIFS([Leave!working_days],[Leave!leave_type],"Other",[Leave!status],"<>Declined",[Leave!first_day],">="&DATE(YEAR(TODAY()),1,1),[Leave!first_day],"<="&DATE(YEAR(TODAY()),12,31)) |
| Total holiday allowance left | SUM([Team!holiday_left]) |
| People over their holiday allowance | COUNTIF([Team!holiday_left],"<0") |






