A good scheduling template does three jobs: it shows who is working when, it makes gaps obvious, and it adds up the hours so you can see what the week will cost. Most free templates online only do the first one.
Below are the three layouts we see work best in restaurants, cafes and shops, how to set each one up in Google Sheets or Excel, and the formulas that turn a grid of names into a schedule you can actually manage from.
Which template do you need?
| Template | Best for | Team size | Strength | Weakness |
|---|---|---|---|---|
| Weekly by employee | Cafes, small shops, single-site restaurants | Up to 15 | Easy to read, easy to total hours | Hard to see coverage per hour |
| Weekly by shift / role | Restaurants with FOH and BOH | 10 to 30 | Shows coverage by station | Harder for staff to find themselves |
| Biweekly or monthly | Retail, rotating patterns, salaried staff | Any | Planning ahead, fair weekend rotation | Gets cluttered fast |
If you are not sure, start with the weekly by employee layout. It is the one staff find easiest to read, and readability is what stops people missing shifts.
Template 1: Weekly schedule by employee
One row per person, one column per day, with a total hours column at the end.
| Employee | Role | Mon | Tue | Wed | Thu | Fri | Sat | Sun | Hours |
|---|---|---|---|---|---|---|---|---|---|
| Ana R. | Server | Off | 4p to 10p | 4p to 10p | Off | 4p to 11p | 4p to 11p | 10a to 3p | 31 |
| Jordan K. | Server | 11a to 4p | 11a to 4p | Off | 4p to 10p | 5p to 11p | Off | 10a to 4p | 28 |
| Sam T. | Line cook | 3p to 11p | 3p to 11p | 3p to 11p | Off | 3p to 12a | 3p to 12a | Off | 42 |
| Priya M. | Barista | 6a to 2p | 6a to 2p | 6a to 2p | 6a to 2p | Off | Off | 7a to 3p | 40 |
Look at Sam: 42 hours. That is the point of a total column. Without it, two hours of overtime slip through every week.
How to set it up
- Put names in column A and roles in column B.
- Enter shifts as two cells per day (start and end) on a hidden calculation sheet, or as one cell like "4p to 10p" on the visible sheet.
- In the hours column, sum the shift lengths. In Google Sheets, with start in C2 and end in D2 as time values:
=MOD(D2-C2,1)*24handles shifts that cross midnight. - Subtract unpaid breaks. If anyone working over 6 hours gets a 30-minute unpaid break:
=IF(E2>6,E2-0.5,E2). - Add conditional formatting to turn the hours cell red over 40, amber over 36.
Template 2: Weekly schedule by shift and role
Better for kitchens and full-service floors, because it answers the question managers actually ask: "Do I have enough people on the line at 7pm?"
| Shift | Station | Mon | Tue | Wed | Thu | Fri | Sat | Sun |
|---|---|---|---|---|---|---|---|---|
| Lunch 11a to 4p | Server | Jordan | Jordan | Lee | Lee | Jordan, Lee | Ana, Lee | Ana, Jordan |
| Dinner 4p to 10p | Server | Lee, Kim | Ana, Kim | Ana, Kim | Jordan, Kim | Ana, Kim, Lee | Ana, Jordan, Kim | Kim |
| Dinner 3p to close | Grill | Sam | Sam | Sam | Ray | Sam, Ray | Sam, Ray | Ray |
| Dinner 3p to close | Dish | Theo | Theo | Theo | Theo | Theo, Max | Theo, Max | Max |
Add a coverage row under each block that counts names per cell and compares it to what your staffing guide says you need. In Sheets, =COUNTA(SPLIT(C3,",")) counts the names in a cell.
Template 3: Biweekly or monthly rotation
Rotations matter most in retail and in cafes open seven days, where fairness on weekends is the thing staff care about most. The classic pattern for a small team is a two-week rotation where everyone gets one full weekend off per fortnight.
| Week | Mon | Tue | Wed | Thu | Fri | Sat | Sun |
|---|---|---|---|---|---|---|---|
| Week A, Team 1 | On | On | Off | Off | On | On | On |
| Week A, Team 2 | Off | Off | On | On | On | Off | Off |
| Week B, Team 1 | Off | Off | On | On | On | Off | Off |
| Week B, Team 2 | On | On | Off | Off | On | On | On |
That is the 2-2-3 pattern adapted for a five-day business week. Each team works 8 of 14 days, both teams are on for Friday (usually your busiest day), weekends alternate, and nobody works more than three days in a row. If you schedule in the UK, our rota template UK guide covers the rest break and holiday rules you need to build around.
Rules every template should enforce
Whichever layout you use, check these before you send it out:
- No one over 40 hours unless you have budgeted the overtime. See how to calculate overtime for hourly employees for the math.
- At least 10 hours between a close and an open. Clopens wreck people, and in some cities they cost you a premium.
- A named lead on every shift.
- Availability respected. Keep a separate tab with each person's availability and check against it.
- Posted at least a week ahead.
When a template stops working
Spreadsheets are excellent until about the point where you have 15 to 20 staff, or more than one location. The warning signs:
- You are sending the schedule as a screenshot to a group chat, and people are working from old versions.
- Shift swaps happen by text and you only find out when someone does not show up.
- You re-type hours into payroll every two weeks.
- You cannot see labor cost against sales until the week is over.
None of those are spreadsheet problems you can fix with a better formula. They are communication problems, and they are what scheduling software is for.
FAQ
Is there a free employee scheduling template for Google Sheets?
Yes. Any of the three layouts above can be built in Google Sheets in about 15 minutes using the formulas shown. Shiftnest also has a free plan for up to 10 staff if you would rather skip the spreadsheet.
How do I make a weekly work schedule in Excel?
Use one row per employee and one column per day, enter start and end times as time values, and calculate hours with =MOD(end-start,1)*24 so overnight shifts work. Add a weekly total column and conditional formatting for overtime.
What is the best schedule format for a small team?
Weekly by employee. It is the easiest for staff to read on a phone, and readability is what prevents no-shows.
Skip the spreadsheet
Shiftnest gives you the same weekly grid, but drag-and-drop, with hours and labor cost totalled live, overtime flagged as you build, and the schedule pushed to every phone when you publish. It is free for teams of up to 10, then $3 per user per month. Start your free schedule.




