OEE Excel Template: How to Calculate OEE in a Spreadsheet (and When to Stop)

Almost every OEE journey starts in Excel. It is free, familiar and good enough to prove the concept, and there is nothing wrong with that.
See our roundup of the analytics platforms to consider when spreadsheets stop scaling.
If you want to calculate OEE in a spreadsheet, this guide shows you exactly how, the structure, the formulas and a worked example. It also covers the part most templates leave out: the point at which a spreadsheet quietly starts costing you more than it saves.
An Excel template is a great place to start measuring OEE, and a frustrating place to stay.
The OEE formula, recapped
OEE is the product of three factors:
OEE = Availability × Performance × Quality
-
Availability = Run Time ÷ Planned Production Time (how much of the planned time the machine was actually running).
-
Performance = (Ideal Cycle Time × Total Count) ÷ Run Time (how fast it ran versus its ideal speed).
-
Quality = Good Count ÷ Total Count (how many units were good first time).
A template is one of several free options. Free OEE software compares them by the time they cost and the stops they miss.
How to build an OEE template in Excel
-
Inputs. Create cells for: planned production time, downtime (and therefore run time), ideal cycle time, total count and good count.
-
Availability. Run Time = Planned Time − Downtime; then Availability = Run Time / Planned Time.
-
Performance. Performance = (Ideal Cycle Time × Total Count) / Run Time.
-
Quality. Quality = Good Count / Total Count.
-
OEE. Multiply the three, and format as a percentage.
Worked example
Planned time 480 min, downtime 60 min → Availability = 420/480 = 87.5%. Ideal cycle time 1.0 min/unit, total count 380 in 420 min → Performance = 380/420 = 90.5%. Good count 360 of 380 → Quality = 94.7%. OEE = 0.875 × 0.905 × 0.947 ≈ 75%.
The template, ready to copy and paste
You do not need to download anything. Open a blank Excel or Google Sheets file and type the cells below exactly as written. The first five rows are your inputs; the last five are formulas you paste as text.
| Cell | Type this | Cell | Type this |
|---|---|---|---|
| A1 | Planned Production Time (min) | B1 | 480 |
| A2 | Downtime (min) | B2 | 47 |
| A3 | Ideal Cycle Time (sec per unit) | B3 | 1.5 |
| A4 | Total Count (units) | B4 | 15870 |
| A5 | Good Count (units) | B5 | 15250 |
| A7 | Run Time (min) | B7 | =B1-B2 |
| A8 | Availability | B8 | =B7/B1 |
| A9 | Performance | B9 | =(B3*B4)/(B7*60) |
| A10 | Quality | B10 | =B5/B4 |
| A11 | OEE | B11 | =B8*B9*B10 |
Format B8 to B11 as percentages. With the sample numbers you should see Availability 90.2%, Performance 91.6%, Quality 96.1% and OEE 79.4%. If those four values appear, the template works. Replace the sample inputs with one real shift and you have your first honest OEE number.
Add a daily log (one row per shift)
On a second sheet, put these headers in A1 to H1: Date, Line, Shift, Planned Time (min), Downtime (min), Ideal Cycle (sec), Total Count, Good Count. Then paste these formulas in row 2 and drag them down: I2 =(D2-E2)/D2 for Availability, J2 =(F2*G2)/((D2-E2)*60) for Performance, K2 =H2/G2 for Quality, L2 =I2*J2*K2 for OEE.
Two rules that keep the sheet honest
- If Performance comes out above 100%, your Ideal Cycle Time is set too slow. Use the fastest repeatable rate, not the average.
- Log every stop with a reason on a third sheet (Start, End, Minutes, Reason) and sum those minutes into the Downtime column. Unexplained downtime is where OEE spreadsheets quietly die.
A spreadsheet tells you the score; it rarely tells you what a lost hour costs. Why Lines Stop, our free field guide, walks you through pricing one stopped hour on your own line.
Where the spreadsheet starts to hurt
-
Manual data entry is slow, late and error-prone, and operators resent it. Numbers entered after the shift are estimates, not facts.
-
No real time. A spreadsheet tells you yesterday's OEE; it cannot alert you to a problem happening now.
-
It does not scale across many machines, shifts or sites without becoming a fragile mess of tabs.
-
No root cause. A number without categorised downtime reasons tells you OEE is low, not why.
-
It becomes a silo. The data sits in a file, disconnected from maintenance and everything else, classic dark data.
When to move from Excel to automated OEE
The spreadsheet has done its job once you have proven OEE is worth tracking and you hit any of these: more than a machine or two, a need for real-time response, or frustration that the numbers arrive too late to act on. At that point automated capture pays for itself quickly.
The wider trade-off is the same one in our guide to CMMS vs spreadsheets, and the capture options are covered in OEE data collection methods. When a sheet stops being enough, compare OEE software.
How Fabrico replaces the spreadsheet
Fabrico captures availability, performance and quality automatically from the machines, in real time, with the downtime reasons your operators tag, so you get live OEE and the why behind it without anyone keying numbers into a sheet. It scales across machines, shifts and sites, and connects OEE to maintenance in one platform, everything the Excel template was quietly failing to do.
Frequently asked questions
Can I calculate OEE in Excel?
Yes. Using the formula OEE = Availability × Performance × Quality, you can build a simple template with inputs for planned time, downtime, ideal cycle time, total count and good count.
What are the limits of an OEE spreadsheet?
Manual entry, no real-time visibility, poor scaling, no root-cause detail, and isolation from other systems. It is great to start, frustrating to rely on long term.
When should I switch to OEE software?
When you have more than a machine or two, need real-time response, or find the manual numbers arrive too late to act on.
Outgrowing your OEE spreadsheet? See how Fabrico captures availability, performance and quality automatically, in real time. Book a demo today.
See how Fabrico unifies OEE and maintenance in one platform.
Request a demoRelated articles










