Rotation Schedule Template
I was recently asked if it would be possible to convert my annual calendar template into an automated work rotation schedule, for an employee who is working a rota consisting of a number of days on followed by a number of days off. The result was the new template listed below.
Rotation Schedulefor Excel 2007+
About this Rotation Schedule Spreadsheet
This template provides a convenient way to display your work rotation schedule, using the annual calendar template as a basis. Just enter the year and start month, then use the other inputs to define your shift schedule pattern. The workbook contains 3 separate worksheets, each providing a slightly different set of features.
In the first two worksheets (Rotation and Rotation_Advanced), the rota schedule is defined by entering the numbers of days on Shift 1, followed by the number of days on Shift 2, followed by the number of days off. For a simpler "days on/off" pattern, just leave the "Shift 2" field blank.
In the Rotation_String worksheet, you can define a rotation as a repeating string such as "11xxx22xx333xx" which would mean that you work Shift 1 for 2 days, followed by 3 days off, followed by working Shift 2 for 2 days, followed by 2 days off, followed by working Shift 3 for 3 days, followed by 2 days off.
Both the Rotation_Advanced and Rotation_String worksheets use the new built-in function NETWORKDAYS.INTL(), available as of Excel 2010, to let you choose which days make up the "weekend" (Sat/Sun, Mon/Tue, Sunday only, etc.) and to also account for holidays. In these worksheets, the rotation excludes both weekend days and holidays, all of which we call "non-working days." This means that if the rotation calls for you to work 2 days starting on Friday, then you would work Friday and then Monday (skipping the non-working weekend days).
The workbook contains a "Holidays" worksheet where you can list days that should be considered non-working days.
Rotation Schedule for Multiple Employees
This version of the rotation schedule allows you to show the rotation for multiple employees. You define the rotation pattern for each employee, all starting from a specific date. The template shows the total number assigned to each shift for each day.
Rotation Schedule Patterns
This rotation schedule template does not handle all types of shift schedule patterns. But, it does a pretty good job of handling most of the common cases:
[ On / Off ] Patterns
Shifts that involve working X days followed by Y days off are easy to handle with this rota template. Just leave the "Shift 2" field blank. Or, if using the String method, you can define a 4/2 pattern as "1111xx".
[ Shift1 / Shift2 / Off ] Patterns
In some cases, an employee might work 2 days on Shift 1, followed by 2 days on Shift 2, followed by a number of days off.
An example would be a 4-day shift pattern in which an employee works a 12 hour day shift the first day, followed by a 12 hour night shift the second day, followed by two days off. If using the String method, this would be defined as "12xx".
[ 2/3/2 ] Fortnight Patterns
Some rotation schedules use a pattern that repeats every fortnight (2 weeks), and may be referred to as 2/3/2. I created the Rotation_Advanced worksheet specifically for cases like this, where the repeating pattern is "11xxx11xx111xx" with "x" meaning OFF and the "1" meaning ON.
Day shift for X months, then Night shift for Y months
It is pretty common for an employee to be assigned a shift for an extended amount of time (months?) because of how hard it can be on the body and general life planning to change from a day to a night shift on a regular basis. Though the rotation schedule template is set up to show an entire year, you could use it to just show a few months at a time (by hiding or deleting the unneeded rows).
- Shift Work at wikipedia.org - Describes various types of shift schedules.