EpicShifts logo
EpicShifts™

Free monthly work schedule template (Excel)

Weekly schedules are great for the floor; owners and managers plan in months — vacations, the holiday rush, who is closing every Saturday. A monthly grid shows the pattern a weekly sheet hides: the same three people closing every weekend, or a Tuesday with one cook. This template is that grid, with the counting done for you.
Download free template

Excel (.xlsx) · 31-day grid + shift-code legend · opens in Excel & Google Sheets · No signup required

What’s inside

A 31-day grid (employee × day) with a weekday helper row — set the 1st and the rest follow

A Shift Codes sheet (AM, PM, D, M, OFF) with editable hours per code

Shifts and Hours columns per employee that look up the codes automatically

A "Staff scheduled" row that counts coverage for every day of the month

Three sample rows showing the code style; OFF is excluded from shift counts

How to use this template

1
Download and name the month

Open the .xlsx (or import into Google Sheets), then fill in Month and Location at the top.

2
Set the weekday

Type the weekday of the 1st in the first day column; every other day's weekday updates from it.

3
Edit your shift codes

On the Shift Codes sheet, change codes and hours to match your shifts — a "D" double at 10 hours, a "M" mid at 5, whatever you actually run.

4
Fill the grid

Type a code in each cell. Use OFF for approved days off so they show on the grid but are not counted as shifts.

5
Read the totals

Shifts and Hours per employee and staff-on-duty per day calculate live. A day with 1 staff or a person with 26 shifts stands out immediately.

6
Publish it somewhere people will see it

Print, share the sheet, or import it into EpicShifts so staff get the month on their phones and swaps stay on the schedule instead of in a group text.

When to use it

Use this when you plan a month at a time — seasonal businesses, salaried-plus-hourly teams, or anyone approving vacation against coverage. It is a planning view, not a payroll record: hours are code × count, not clock-ins, and the weekday row assumes a 31-day column set (ignore the trailing columns in a 30- or 28-day month). Once the month is set, most teams still publish it week by week so changes stay manageable.

Skip the spreadsheet

Already filled it in? Upload the file to EpicShifts and we’ll import it into a live schedule — your team sees their shifts on mobile, swaps and picks up open shifts, and gets reminders automatically.

Frequently asked questions

How do I make a monthly work schedule in Excel?

Put employees down the rows and the days of the month across the columns, then enter a short shift code in each cell rather than full times — the grid stays readable and you can count shifts with COUNTA. This template does that and adds a code legend with hours so totals calculate automatically.

What is the difference between a weekly and a monthly schedule template?

A weekly schedule shows exact start and end times for one week and is what staff work from day to day. A monthly schedule shows the pattern — who works which days across the whole month — and is used for planning coverage, vacations, and rotation fairness. Most teams keep both: plan monthly, publish weekly.

Does this work in Google Sheets?

Yes. The COUNTA, COUNTIF, VLOOKUP, and SUMPRODUCT formulas are standard in both Excel and Google Sheets. Import with File → Import → Upload; the Shift Codes sheet comes along.

Can I use it for a rotating or 24/7 schedule?

Yes — add codes for each rotation (for example N for nights, E for earlies) on the Shift Codes sheet with their hours, then fill the grid. The staff-per-day row shows whether every day has the coverage the rotation is supposed to give.


Updated August 2026
All free templates →

Dustin Hanke, Founder, EpicShifts — Dustin builds EpicShifts and writes about scheduling, labor cost, and shift-work operations for restaurants and other hourly teams.

We Value Your Privacy

We use cookies to improve your experience on our platform. Essential cookies are required for the site to function properly (authentication, security). Optional cookies help us understand how you use the site and improve our services. Learn more about cookies