A maintenance schedule in Excel is a list of the recurring tasks for each asset, with their interval and the date they were last done, from which formulas work out the next due date and the status. With the free template below you have that list ready to use, including counters for what is overdue and what falls due within 30 days. For a manageable installation with one or two people looking after the file, that works well. Once several people need to update it at the same time, or you have to be able to prove the history, you start to hit limits.
What's in the maintenance plan template
The template has three tabs: Maintenance plan, Log and How to use. At the top of the Maintenance plan tab are today's date (B4), the number of tasks that are overdue (B5) and the number due within 30 days (B6). Below that, 50 rows are ready to use, in rows 9 to 58; the first 8 are examples. You fill in the yellow fields, and the grey ones calculate themselves.
| Column | Contents | How |
|---|---|---|
| A and B | Asset and location | Enter |
| C | Task | Enter, one task per row |
| D | Type | Drop-down: Inspection, Lubrication, Preventive, Statutory inspection |
| E and F | Interval and unit | Whole number, plus days, weeks, months or years |
| G | Last done | Date, not in the future |
| H | Next due | Automatic |
| I | Status | Automatic, with colour |
| J and K | Responsible and notes | Enter |
The Log tab has the columns Date, Asset, Task, Carried out by, Hours, Parts used and Findings. That is where you record what happened each time a task is carried out.
This article is about the file. Which tasks belong in it and how to set intervals is covered in how to create a maintenance plan. The template is a maintenance plan with due dates: it shows what is due, not who does it on which day. How to turn that into a weekly schedule is covered in maintenance planning and scheduling.
How to fill in the maintenance schedule in Excel
- Open the template. Download the template and open it. If Excel opens it in Protected View, choose Enable Editing: only then does the sheet calculate with today's date.
- Clear the example rows. Select A9:G16 and J9:K16 and press Delete. Leave the grey columns H and I alone, because they hold the formulas.
- Give each task its own row. Start with your most critical assets and use the same spelling throughout, ideally the code from your asset register.
- Choose the type, interval and unit. For example Lubrication, 6 and months. Take lubrication tasks from your lubrication schedule, and add inspections with the period that applies; which ones those are is covered in statutory inspections.
- Enter the last time it was done. If a task has never been carried out, use the commissioning date. If you do not know the date, leave the cell empty: the status Enter date stays until someone has looked it up.
- Assign someone responsible. Put a role or name in column J on each row, and agree who looks after the file as a whole.
Example: cooling water pump P-201 in the template
In the article on the maintenance plan, four sources produce six tasks for cooling water pump P-201. In the template, that makes six rows:
| Task | Type | Interval | Unit |
|---|---|---|---|
| Check for leaks, noise and bearing temperature | Inspection | 1 | weeks |
| Measure vibration on both bearing housings | Inspection | 1 | months |
| Regrease the bearings | Lubrication | 6 | months |
| Check pump and motor alignment | Inspection | 1 | years |
| Inspect the coupling element | Inspection | 1 | years |
| Check the coupling guard | Inspection | 1 | years |
The three yearly tasks get "During shutdown" under Notes. For the regreasing, note "Or 2,000 running hours, whichever comes first": the sheet only calculates the calendar limit, so someone has to keep an eye on the hours limit.
Moving an existing list across
Paste an existing list into the yellow columns with Paste Special > Values, so that the formatting and formulas stay in place. Pasting skips the input checks, so check two things. A date that came in as text looks fine but gives Enter date; retype it or convert the column with Data > Text to Columns. A unit that is not exactly days, weeks, months or years gives Enter interval.
What the formulas in the template do
Column H works out when the task is next due. The formula starts with a check: COUNT(E9,G9)<2 tests whether the interval and the date are both numbers, and if not, the cell stays empty. It then calculates by unit:
- days: G9+E9
- weeks: G9+7*E9
- months: EDATE(G9,E9)
- years: EDATE(G9,12*E9)
A Dutch-language version of Excel shows EDATE as ZELFDE.DAG. Months and years use it because months differ in length. The function keeps the day of the month: 15 March 2024 plus 6 months becomes 15 September 2024. If that day does not exist in the target month, you get the last day: 31 January 2026 plus 1 month is 28 February 2026.
Column I sets the status. Cell I9 contains:
=IF(COUNTA(A9:G9)=0,"",IF(COUNT(G9)=0,"Enter date",IF(H9="","Enter interval",IF(H9<$B$4,"Overdue",IF(H9<=$B$4+30,"Due within 30 days","On schedule")))))
Excel runs through the conditions from left to right and stops at the first one that holds:
- Row empty: the status cell stays empty.
- No date in G: Enter date.
- No result in H: Enter interval, because the interval or the unit is missing.
- Next due before today: Overdue, in red.
- Today or in the next 30 days: Due within 30 days, in orange.
- Later: On schedule, in green.
Today's date is in B4 (=TODAY()). B5 counts the red rows with =COUNTIF(I9:I58,"Overdue"), and B6 counts the orange ones the same way. The diagram below shows the example rows as they look on 2 November 2026, with the status calculation below.
The example rows for C-01, TB-03 and KR-01 calculate from today's date, for example =TODAY()-75, so that you always see every status. Those rows will therefore show different dates from the diagram. In your own rows you simply enter a date.
Note that the next due date always counts from the last time the task was done, not from the original planned date. If you carry out a task two weeks late, the next one moves two weeks as well. For lubrication and inspections that usually makes sense. For a statutory inspection with a fixed period, check for yourself which date that period runs from.
Adapting the template
Add extra columns to the right of column K, such as Duration and Trade for a weekly schedule, then switch the filter off and on again so that the new column is included. You can change the types under Data > Data Validation. Leave the names of the units and statuses as they are, because the formulas, colours and counters depend on them.
How to keep the maintenance plan up to date
The file is only as good as the last time someone updated it. This routine takes little time:
- After each job: update the date in column G and add a row to the Log. The old date disappears from the plan; the log keeps what was done, by whom, with which parts and with what findings.
- Every week: look at B5 and B6 and filter column I on Overdue and Due within 30 days. That is your list to schedule. If you would rather sort, use column H: the oldest date comes to the top.
- When a task slips: leave the date as it is and note the reason under Notes. The red status keeps the backlog visible.
- At least once a year: filter the log by asset and check whether the intervals still make sense. If you find nothing after several rounds, the interval can go up; if you keep finding damage, it needs to come down.
Looking ahead to a shutdown or holiday
Temporarily type a date in B4, such as the first day of a planned stop. The statuses and counters then calculate with that date, so you can see what will be overdue or due by then. Then filter by location and combine tasks in the same place into one round. Finally, put =TODAY() back in B4.
When Excel is good enough
For many small maintenance teams, Excel is a sensible choice: you already have it, everyone knows it and you can get started in an afternoon. It works well when:
- one or two people look after the file;
- the plan mainly runs on calendar intervals;
- the tasks fit on a few screens, so that anything unusual stands out;
- whoever does the work and whoever keeps the plan see each other every day;
- you rarely have to show an auditor or client what was done.
Think of a production site with a few lines and a maintenance team of three, or a distribution centre that mainly looks after conveyors and forklifts.
Where a maintenance plan in Excel falls short
A spreadsheet is made for calculating, not for sharing out work and recording it. Take a waste-to-energy plant with shift work: the operator fills in a check, the technician on the next shift overwrites the date, and the planner is still working in last week's copy. Nobody does anything wrong, but after a month the file no longer adds up. These are the pressure points:
- Several users. In the cloud, colleagues can work in a workbook at the same time, but when people change the same cell, the last one saved wins. On a network drive the file is often locked, and copies start to appear. An eleven-column sheet is also not made for filling in on a phone at the machine.
- History. A new date overwrites the old one. If the file is in the cloud, Show Changes in Excel tells you who changed what and when, going back 365 days, but not why. The log adds that as long as everyone keeps it up, but nothing enforces it.
- Link with stock. The template does not know whether the filter is in stock. Parts used are free text: nothing is reserved or booked out, and the warehouse gets no signal. With long lead times, as in the process industry, you only find out when the task falls due. How maintenance and stock come together is covered in spare parts management.
- Traceability. The EU Work Equipment Directive requires a machine's maintenance log, if it has one, to be kept up to date, and inspection results to be recorded and kept available for the authorities. In the UK, regulation 5 of PUWER says the same about the log. Neither prescribes a program, so Excel is allowed. But a date in a cell proves little: you keep reports and signatures separately and need to be able to link them to the right row.
- Signals and work orders. The sheet only recalculates when someone opens it. No work order is created and nobody is notified.
- Formulas. Research at Dartmouth College found at least one error producing a wrong result in 43 of the 50 operational spreadsheets it audited. Those spreadsheets were larger and different from this template, but here too a value pasted over a formula is easy to miss.
When it makes sense to move to maintenance software
Moving makes sense when keeping the file up takes more time than planning the work, or when one of these signals appears:
- Preventive tasks need to become work orders by themselves, with tasks, parts and close-out.
- Technicians need to raise notifications on the shop floor, across several shifts, as in a waste-to-energy plant.
- Maintenance depends on running hours that differ per asset; how to measure them is covered in monitoring running hours.
- You need to be able to show quickly what has been done on each asset over the past few years.
- The plan is growing to hundreds of tasks across several sites.
Your Excel plan is not wasted work at that point. Assets, tasks, intervals and last-done dates are exactly the data you take with you, and those dates stop all your preventive work orders being released at once on day one. What to look for when choosing is covered in choosing maintenance software, and how much maintenance software costs sets out the costs. Preventive rounds shows what rounds that can create their own work orders look like. Excel stays useful after that, for analysing exports, for instance.
Common mistakes in an Excel maintenance schedule
- Different spellings. "P-101", "Pump 101" and "pump P101" are three assets as far as a filter is concerned. Take the code from your asset register and stick to it.
- Several tasks on one row. "Grease and replace filter" gets only one interval and one date.
- A planned date under Last done. Column G is the date the work was done. The sheet refuses dates in the future, but not today's date, so only update it when the task is finished.
- Sorting part of the table. Sort with the filter buttons in the header row, so that whole rows stay together.
Frequently asked questions
Can Excel automatically alert you when maintenance is due?
Not by itself: a workbook only does something when someone opens it. When you open the template, its colours and counters show what is overdue or due within 30 days. An email reminder needs a macro or a link with another service, and someone has to build and maintain that. If an alert has to reach the right person reliably, that is an argument for maintenance software that creates work orders itself.
Can you schedule maintenance by running hours in Excel?
Yes, but you have to keep the meter reading up to date yourself. Add columns for the reading at the last service, the interval in hours and the current reading, and work out how many hours are left. The template itself runs on calendar dates; for "2,000 running hours or 6 months", enter the 6 months and note the hours limit under Notes. Someone has to read and retype every value, so with many assets it soon becomes a lot of work.
How many assets can you manage in Excel?
Technically more than you will ever need: a worksheet has over a million rows. The limit lies in keeping it up to date. As a rule of thumb, it works as long as one or two people know all the rows and can go through them every week. At a few hundred tasks you often lose that overview, certainly across several sites or shifts. The template starts with 50 rows; you can insert more above row 58, but then also ask yourself whether keeping it up is still realistic.
What is the difference between a maintenance plan and a maintenance schedule?
The plan says what needs doing on each asset and how often; the schedule says when and by whom. This template is a plan with due dates, so who does the job on Tuesday is not in it. If you want a weekly schedule in Excel, add columns for the week and the person, or create a separate tab. Once you want to see capacity per trade, it quickly becomes laborious in a spreadsheet.
How do you stop people overwriting the formulas?
Protect the worksheet. Select the yellow cells, open Format Cells (Ctrl+1) and clear the Locked box on the Protection tab. Then choose Review > Protect Sheet and allow Use AutoFilter, otherwise the filter buttons stop working. A password is optional. The template is not protected by default, so that you can adapt it first. On a protected sheet, sorting only works if no cell in the range is locked.
