Rota — shift schedule

Pro workbook: Week, Coverage, Payroll, Setup, Formulas. Sample data, real formulas.

Shift rota
One code per person per day — M morning, E evening, N night, D double, O off. Hours and headcount are calculated.
Week startingSep 2026
NameRate/h2026-09-142026-09-152026-09-162026-09-172026-09-182026-09-192026-09-20HoursPay
Amina18.50MMMMMOO40740.00
Ben16.00EEEEOOE40640.00
Chloé16.00MMOOMMM40640.00
Daniel21.00NNNOONN40840.00
Eva16.00EEOEEEO40640.00
Farid18.50MOMMMOM40740.00
Grace16.00OEEEEEO40640.00
Hiro24.00DOMMOME481,152.00
On shift per day76665553286,032.00
Hours per code are on Setup; change them there and every total follows. Over 40 hours turns red.
Coverage
Scheduled against required, per shift per day. Red = short, yellow = over.
ShiftRequired2026-09-142026-09-152026-09-162026-09-172026-09-182026-09-192026-09-20
Morning34233322
Evening33323222
Night11110011
Total on shift7666555
Shifts short this week9
Shifts over1
Payroll
Hours, overtime above the Setup threshold, and pay per person for the week.
NameRate/hHoursRegularOvertimePay
Amina18.5040400740.00
Ben16.0040400640.00
Chloé16.0040400640.00
Daniel21.0040400840.00
Eva16.0040400640.00
Farid18.5040400740.00
Grace16.0040400640.00
Hiro24.00484081,248.00
Total32832086,128.00
Overtime cost96.00
Average hours41.0
Setup
Week start, shift codes with hours, staffing required per shift, and the team with hourly rates.
Week starting (Monday)2026-09-14
Overtime after (h/week)40
Overtime multiplier1.5
CodeShiftStartsEndsHoursRequired/day
MMorning07:0015:0083
EEvening15:0023:0083
NNight23:0007:0081
DDouble07:0023:00160
OOff00
NameRate/h
Amina18.50
Ben16.00
Chloé16.00
Daniel21.00
Eva16.00
Farid18.50
Grace16.00
Hiro24.00
How the formulas work
Every formula in this workbook, in plain words. Nothing is hidden and nothing needs a macro. Formulas are shown without the leading = sign.
WhereFormulaWhat it does
Week · HoursSUMPRODUCT(SUMIF(Setup!$A$7:$A$11, C6:I6, Setup!$E$7:$E$11))Looks each day's code up in the shift table and adds the hours. SUMIF with a range as its criterion returns one number per day; SUMPRODUCT adds them. Works in Excel 2016, Sheets and Numbers — no XLOOKUP needed.
Week · PayJ6*B6Hours × rate, before overtime. Payroll applies the multiplier.
Week · On shift per dayCOUNTA(C6:C13)-COUNTIF(C6:C13,"O")Everyone with a code that isn't Off.
Coverage · cellCOUNTIF(Week!C$6:C$13,"M")+COUNTIF(Week!C$6:C$13,"D")How many have that shift that day; a Double covers both morning and evening.
Coverage · Shifts shortSUMPRODUCT((C5:I7<B5:B7)*1)Counts cells where scheduled is below required, across the grid.
Payroll · Regular / OvertimeMIN(C5,Setup!$B$4) / =MAX(0,C5-Setup!$B$4)Hours up to the threshold, and hours above it.
Payroll · PayD5*B5+E5*B5*Setup!$B$5Regular at the rate, overtime at rate × multiplier.
Payroll · Overtime costSUMPRODUCT(E5:E12,B5:B12)*(Setup!$B$5-1)The premium only — what overtime costs above plain rate.