RosterElf Logo UK
Start trial
FREE TEMPLATE Last updated 18 August 2026

Free monthly staff rota template (Excel)

A 31-day grid that shows the whole month on one screen — built for spotting leave clashes and bank holiday gaps before they become a problem.

Monthly staff rota

Excel (.xlsx) • Ready to download

All 31 days across one row per person
Leave and bank holidays visible at a glance
Monthly hours total per employee
Delete columns 29–31 for shorter months

No signup required. Works in Excel, Google Sheets and LibreOffice.

This rota template is a planning tool, not legal or payroll advice. It does not check working time limits, rest breaks or minimum wage for you. Check GOV.UK, or take advice, before relying on a rota for compliance. It does not constitute legal, HR, or professional advice and should not be relied on as a substitute for advice specific to your business, workforce, or circumstances.

What's in this template

A month on one screen

31 day columns

One narrow column per day, so a full month fits across the page without scrolling.

17 staff rows

Eight sample rows plus nine blanks — insert more and the total formula copies down.

Monthly hours per person

A Total column at the end sums numeric entries across the month.

Bank holiday marking

The BH code makes bank holidays obvious in the grid, which matters when premiums are contractual.

Leave clash spotting

Reading down a day column shows instantly how many people booked the same day off.

Shift code legend

D, E, N, OFF, AL, BH and TOIL are defined on the Instructions tab.

How the month reads

Use single-letter shift codes rather than times — at 31 columns wide, times will not fit legibly.

EmployeeRole12345Total
Amelia Clarke Manager D D OFF OFF D 160
Priya Sharma Team leader E E E OFF OFF 152
Grace Bennett Staff BH AL AL AL AL 0

A row of AL across five columns is the clearest signal you will get that someone is on holiday that week — far more visible than a leave form in an inbox.

How to build a monthly rota in Excel

If you would rather roll your own

1. Narrow the day columns

Set columns C onwards to about 5 characters wide. Anything wider and the month will not fit on a page.

2. Use single-letter codes

D for day, E for evening, N for night. Times are unreadable at this column width.

3. Conditional-format the codes

Colour AL and BH differently from working codes so leave jumps out when you scan a column.

4. Add a monthly total

A =SUM() at the end of each row, and freeze the first two columns so names stay put as you scroll right.

The template already does all four. If your cover repeats on a fixed cycle rather than varying month to month, a rolling rota will suit you better.

How to use this template

Download and go in four steps

1. Download

Grab the Excel file — no signup, and it opens in Excel, Google Sheets or LibreOffice.

2. Add your team

Replace the sample names and roles with your own staff.

3. Fill in the shifts

Enter start and end times, or hours, using the shift codes on the Instructions tab.

4. Share it

Print it, email it or pin it up — and give staff reasonable notice of their shifts.

When the spreadsheet starts costing you time

A rota in Excel works until someone swaps a shift, calls in sick, or asks what they are owed. RosterElf keeps the rota, the clock-in record and the payroll export in one place.

Start free trial See rota software
FAQ

Monthly rota template questions

  • Put names down the left and 31 narrow day columns across the top, then use single-letter shift codes rather than times so the month fits on the page. Add a =SUM() total at the end of each row and freeze the first two columns. The template above is already set up this way.

  • Delete or hide columns 29 to 31 as needed. The row totals adjust automatically because they sum the whole range.

  • Codes. At 31 columns wide there is no room for “09:00–17:00” in every cell. Define D, E and N on the Instructions tab and use the weekly template when you need exact times.

  • Yes, and it is worth doing. Conditional formatting on AL and BH in particular makes leave and bank holidays visible when you scan down a column looking for gaps.