RosterElf Logo New Zealand
Start trial
FREE TEMPLATE Last updated 8 September 2026

Free weekly staff roster (Excel)

A Monday-to-Sunday grid for your whole team, with hours totalling per person and per day — and separate codes for public holidays and the alternative days working them earns.

Weekly staff roster

Excel format (.xlsx) • Ready to download

Monday-start week, one row per person
PH and ALT codes kept separate
Automatic per-person and per-day totals
Agreed-hours column beside rostered hours

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

This roster template is a planning tool, not legal or payroll advice. It does not calculate holiday pay, alternative days or minimum wage for you. Check Employment New Zealand, or take advice, before relying on a roster 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.

Build this roster online instead

The spreadsheet works until you are chasing availability and recalculating hours by hand. Build and share the same roster in the browser — free, no signup.

Open the free tool

What's in this template

A week that totals itself and codes leave properly

Monday to Sunday

Seven day columns, one row per person, with roles grouped so cover is readable rather than just counted.

PH and ALT as separate codes

Working a public holiday earns a paid day off later. Two codes, because they are two different things.

An agreed-hours column

A New Zealand employment agreement must record agreed hours. Rostering past them is an availability question, not a scheduling one.

Totals both ways

Hours per person across the week and total hours per day, calculated live as you type.

The break schedule on the Instructions tab

10-minute paid rest and 30-minute unpaid meal breaks by hours worked, as the Employment Relations Act sets them out.

A shared code legend

OFF, AL, SICK, BEREAVE, PH, ALT and TR, identical across every template on this shelf.

A week on one sheet

Enter hours as numbers or a code from the legend. The totals ignore codes and sum the numbers, so a week with leave in it still adds up correctly.

NameRoleMonTueWedSatHoursAgreed
Aroha Ngata Supervisor 8 8 PH 6 22 30
Tama Wiremu Staff 8 AL 8 8 24 24
Mei Lin Staff 6 6 6 6 24 20

Aroha worked the public holiday on Wednesday. If Wednesday would otherwise have been a working day for her, she is paid at least time and a half and earns an alternative holiday — a whole paid day off, recorded now or forgotten permanently. Mei is rostered 24 hours against 20 agreed, which is where an availability provision has to exist.

How to build a weekly roster in Excel

Four steps if you would rather build your own

1. Names down, days across

Monday first. Freeze the name column and the header row so both stay visible as the team grows.

2. Add agreed hours

One column, straight from each employment agreement. It is the figure the roster should be built against.

3. Set up the codes

Data Validation pointing at your code list. PH and ALT must be separate values or the entitlement disappears into one bucket.

4. Total rows and columns

SUM across each row for hours per person, and down each day for cover. Both matter and they answer different questions.

Or download the template above — the grid, the validated codes and both sets of totals are already in it.

Who uses this template

New Zealand teams planning week to week

Cafés, bars and restaurants

Where cover changes weekly and public holidays land in the middle of the busiest trade.

Retail

Seven trading days with different staffing shapes, and anniversary day to plan around.

Aged care and health

Minimum staffing that has to hold regardless of who is on leave.

Paid fortnightly? The fortnightly roster keeps both weeks on one sheet with separate weekly totals.

When the spreadsheet stops keeping up

A weekly roster is fine until the swaps start. RosterElf publishes the roster to phones, keeps swaps and leave in step with it, and records the alternative day the moment someone works a public holiday.

Start free trial See rostering software
FAQ

Weekly roster FAQ

  • Use SUM() across the day columns. It adds numbers and ignores text, so a row with AL or PH in it still totals the hours actually rostered. That is why hours go in as plain numbers and leave goes in as a code rather than as zero.

  • Yes. Insert rows inside the existing block so the daily column totals extend with them. Rows added underneath the last one will need the SUM ranges dragged down.

  • Yes. Upload the .xlsx to Google Drive and open it with Google Sheets — the grid, the validated code drop-downs and both sets of totals all carry over. It works in LibreOffice Calc too.