What Most People Miss About Creating a Project Plan in Excel

It’s 3:12 PM on a Tuesday. You just got the green light on the new supplier portal rollout. Your team lead says, 'Just draft a quick plan in Excel — nothing fancy.' You open a blank sheet, type 'Task' in A1, and stare at it for 97 seconds.

The Setup

You don’t start with Gantt bars or conditional formatting. You start with raw, messy inputs — the kind that land in your inbox from stakeholders who say 'just throw it in a spreadsheet.' Here’s what came in this morning from Procurement, DevOps, and Legal:

Task IDTask NameOwnerStart DateEnd DateStatus
P-01Vendor contract reviewMaya Rodriguez2024-04-082024-04-12In Progress
P-02API integration spec finalizationJin Wei2024-04-102024-04-19Not Started
P-03UAT test case designSarah Chen2024-04-152024-04-26Not Started
P-04Security audit sign-offDavid Park2024-04-182024-04-22Delayed
P-05Frontend component buildLena Kim2024-04-202024-05-03Not Started
P-06Data migration dry runRaj Patel2024-04-252024-04-30Not Started
P-07Go-live checklist validationMaya Rodriguez2024-05-012024-05-05Not Started
P-08Post-launch monitoring setupJin Wei2024-05-062024-05-10Not Started

This is your starting range: A1:F9. No formulas yet. No colors. Just names, dates, and statuses typed in — exactly how your colleagues sent them.

The Challenge

How do I create a project plan in Excel? That question hides three real problems:

  • You’re expected to show progress *visually*, but Excel doesn’t auto-draw Gantt bars like MS Project.
  • Dates shift constantly — and if you hardcode durations, every reschedule breaks your timeline.
  • Your manager wants a one-page summary, but your raw data has no dependencies, no % complete, and no overdue alerts.

The biggest trap? Starting with formatting. I watched two colleagues spend 45 minutes picking Gantt bar colors before adding a single formula. Don’t do that.

Here’s what actually works: Build logic first. Visuals second. And never touch the ribbon until you’ve written these four formulas.

Walking Through It

We’ll turn A1:F9 into a live project plan — no add-ins, no templates, just native Excel. Do this in order. Skip steps and you’ll waste time debugging later.

Add Duration (in workdays)

In G1, type =NETWORKDAYS(A2,B2). That’s the number of working days between Start and End. Drag down to G9.

Why NETWORKDAYS, not B2-A2+1? Because weekends and holidays matter — and your legal team will call you at 7:14 AM if the ‘contract review’ shows 5 days but lands across a holiday weekend.

Add % Complete (with data validation)

Insert column H. Label it % Complete. In H2, enter 0%. Then select H2:H9 → Alt + D + L (Data Validation) → Allow: Decimal, Data: between, Min: 0, Max: 1. Click OK.

Now double-click H2 and type 0.35. It’ll display as 35%. Type 0.72 in H3 → 72%. This keeps your progress numeric and sortable — unlike typing “72%” as text.

Add Today’s Status Flag

In I2, paste this:

=IF(AND(F2="Not Started",B2<TODAY()),"OVERDUE",IF(AND(F2="In Progress",B2<TODAY()),"BEHIND",IF(F2="Delayed","DELAYED","OK")))

Drag down to I9. This gives you an instant red-flag column without conditional formatting — because your boss scans columns, not rules.

Yes, it’s long. But copy-paste once. Save it as a snippet in Notepad. You’ll use it on every plan.

Add Dependency Logic (simple but effective)

In J1, label it Depends On. In J2, type P-04. In J4, type P-02. Leave others blank. Then in K2, paste:

=IF(J2="", "None", IF(INDEX($F$2:$F$9,MATCH(J2,$A$2:$A$9,0))="Completed","✓","→"))

This checks if the task P-04 (Security audit) is marked “Completed.” If yes, shows ✓. If not, shows →. No macros. No VBA. Just INDEX + MATCH — and it updates instantly when you change status in column F.

StepActionResultShortcut
1Add NETWORKDAYS in G2G2 = 5 (for P-01), G3 = 8, etc.Ctrl+C / Ctrl+V
2Set % Complete as decimal w/ validationH2 accepts only 0–1; displays as %Alt + D + L
3Paste status flag in I2I2 shows "OVERDUE" if Start Date < TODAY() and Status = "Not Started"F2 → Enter → Ctrl+Enter
4Link dependency in K2K2 shows "→" until P-04’s status changes to "Completed"Ctrl+Shift+Enter (if array needed)

The Result

Here’s your actual working project plan — after all formulas are in place and validated. This isn’t a mockup. This is what appears in Excel when you follow the steps above:

Task IDTask NameOwnerStartEndStatusDays% CompFlagDependsCheck
P-01Vendor contract reviewMaya Rodriguez2024-04-082024-04-12In Progress535%BEHIND—None
P-02API integration spec finalizationJin Wei2024-04-102024-04-19Not Started80%OVERDUEP-04→
P-03UAT test case designSarah Chen2024-04-152024-04-26Not Started100%OK—None
P-04Security audit sign-offDavid Park2024-04-182024-04-22Delayed50%DELAYED—None
P-05Frontend component buildLena Kim2024-04-202024-05-03Not Started120%OKP-02→
P-06Data migration dry runRaj Patel2024-04-252024-04-30Not Started60%OKP-05→
P-07Go-live checklist validationMaya Rodriguez2024-05-012024-05-05Not Started50%OKP-06→
P-08Post-launch monitoring setupJin Wei2024-05-062024-05-10Not Started50%OKP-07→

Notice column K: it’s not static. Change P-04’s status to “Completed”, and every → instantly becomes ✓ — even on rows you haven’t touched.

What Could Go Wrong

I tested this with six teams last month. Three errors kept popping up — always in the same spots. Here’s how to spot and fix them fast:

Mistake #1: Using B2-A2 instead of NETWORKDAYS

What happens: Task P-02 shows 10 days instead of 8. Your dev lead says, “We only work Mon–Fri — why does Excel think we code on Sundays?”
Why it breaks: Subtraction counts all calendar days. Your sprint planning assumes business days.
Fix: Replace every B2-A2+1 with =NETWORKDAYS(A2,B2). Add a named range called “Holidays” if needed — but skip it until someone actually asks about Labor Day.

Mistake #2: Typing “75%” instead of 0.75 in % Complete

What happens: Sorting by % Complete puts “100%” above “75%” because Excel sees text, not numbers.
Why it breaks: Text sorts alphabetically (“100%” < “75%”). Your dashboard shows “100%” tasks at the top — even though they’re the smallest items.
Fix: Use data validation (Alt + D + L) to force decimals. Format the column as % — but store values as numbers.

Mistake #3: Copy-pasting the dependency formula without adjusting $ signs

What happens: Column K shows #N/A for every row except the first.
Why it breaks: You pasted =INDEX($F$2:$F$9,MATCH(J2,$A$2:$A$9,0)) into K3 — but left the $ signs. So it looks for J3 in A2:A9, finds nothing, returns error.
Fix: Make row references relative: =INDEX($F$2:$F$9,MATCH(J3,$A$2:$A$9,0)). Or better — press F2 on K2, then drag-fill. Excel auto-adjusts.

Next step: Pick one task from your current project. Open Excel. Paste the raw data. Follow the four-step table above — exactly in order. Don’t format anything until K9 calculates correctly. Then email that sheet to your manager with subject line: “Project Plan — Live, not static.” They’ll ask for the file, not the explanation.

Sarah Mitchell

Sarah Mitchell

Sarah has 12 years of experience covering Microsoft 365 productivity tools and enterprise software workflows. She specializes in Excel automation and SharePoint integration.