Job Application Tracker for Excel: Free Template, Tables and Formulas (2026)

By Roy10 min read

Excel is the right home for a job application tracker if you want it to work offline, if your search is going to run long enough to be worth analysing properly, or simply because it's the tool you already think in.

The catch is that most "Excel job application tracker" templates you'll find are a formatted grid and nothing else — pretty, static, and abandoned by week three. What makes an Excel tracker survive is two things the pretty templates skip: converting the range to a real Table so formulas extend themselves, and one conditional-formatting rule that makes overdue follow-ups impossible to ignore.

Here's the free template and the Excel-specific setup, including the fallback formulas for versions of Excel that don't have FILTER.

Get the template into Excel

Download the free job application tracker template (CSV) — no signup, no email gate, no watermark. Eleven columns, three worked example rows.

  1. Double-click the file. Excel opens CSVs natively — no import wizard needed.
  2. File → Save As → Excel Workbook (.xlsx) straight away. CSV can't store formatting, Tables, dropdowns or formulas, so anything you build before saving as .xlsx is thrown away on close. This is the single most common way people lose an afternoon's work on a tracker.
  3. Click any cell in the data and press Ctrl+T. Confirm "My table has headers." Name it in Table Design → Table Name: Applications.
  4. View → Freeze Panes → Freeze Top Row.

The columns and their letters, which every formula below uses:

ColumnFieldColumnField
ACompanyGContact / Recruiter
BRoleHNext Follow-up Date
CJob Posting URLIInterview Stage
DDate AppliedJSalary Range
EStatusKNotes
FATS Match Score

For the reasoning behind each of the 11 fields, see the full job application tracker template guide.

Why convert the range to a Table first?

Because a Table is what stops the tracker from decaying.

In a plain range, every new application you add sits outside your conditional formatting, outside your dropdown, and outside any formula range you set up — so the tracker silently stops working on exactly the rows you added most recently, which are the ones you most need it to work on. In a Table, formatting, data validation and formulas all extend automatically to each new row.

It also gives you structured references, which make the analysis formulas below readable: Applications[Status] instead of $E$2:$E$1000, and no broken ranges when the list grows past whatever arbitrary row you guessed at.

Two more one-time wins while you're in Table Design: tick Total Row (then set the Status column's total to Count), and use Filter Buttons on the header row so sorting by Next Follow-up Date is a single click.

Which Excel setups are worth the fifteen minutes?

1. A Status dropdown with six fixed values

Select column E inside the Table, then Data → Data Validation → Allow: List, and in Source type:

Applied,Screening,Interview,Offer,Rejected,Withdrawn

Six values, no improvising. Every count below depends on the status column being countable — the moment you type "probably ghosted" into one cell, your pipeline stops adding up.

2. Overdue follow-ups that flag themselves

The highest-value rule on the page. Select H2:H1000, then Home → Conditional Formatting → New Rule → Use a formula to determine which cells to format:

=AND($H2<>"", $H2<TODAY(), $E2<>"Rejected", $E2<>"Withdrawn", $E2<>"Offer")

Format with a red fill. Only live applications light up. Most templates ship a bare "date is before today" rule, which keeps every closed application glowing red forever — and a warning colour you've learned to ignore is worse than no colour at all.

3. Status colours so the pipeline reads at a glance

Select the Status column and add three more formula rules — green =$E2="Offer", green =$E2="Interview", grey =$E2="Rejected". Thirty seconds, and a Friday glance down the column now tells you the shape of your search without reading a word.

4. A follow-up date that proposes itself

In H2, when logging a new application:

=IF([@[Date Applied]]="", "", WORKDAY([@[Date Applied]], 10))

WORKDAY skips weekends, so you get a real business-day target rather than a Saturday. Because it's in a Table, this fills down to every new row on its own. Overwrite it by hand the moment a recruiter gives you a real date — a promised "we'll know by the 14th" always beats a formula.

5. Four numbers that show where your search is leaking

Put these on a second sheet. Structured references mean they never need their ranges updated:

Applications sent    =ROWS(Applications)
Still at "Applied"   =COUNTIF(Applications[Status], "Applied")
Reached a human      =COUNTIFS(Applications[Status], "<>Applied", Applications[Status], "<>")
Response rate        =IFERROR(COUNTIFS(Applications[Status],"<>Applied",Applications[Status],"<>") / ROWS(Applications), "")

Read them together, because the pattern is the diagnosis. Everything stuck at Applied means the problem is upstream of any human — your resume isn't clearing the ATS screen, and follow-up discipline can't fix that. Reaching Screening but never Interview means your resume works and your phone screen doesn't. This is the cheapest diagnostic available in a job search, and it costs four cells.

6. Your personal match-score threshold

Once you have twenty-odd rows:

Avg score, advanced   =IFERROR(AVERAGEIFS(Applications[ATS Match Score], Applications[Status], "<>Applied", Applications[Status], "<>"), "")
Avg score, stalled    =IFERROR(AVERAGEIFS(Applications[ATS Match Score], Applications[Status], "Applied"), "")

Column F holds the match score you recorded before submitting — our free resume checker gives you one in about a minute per application, no signup. When the two averages separate — advanced applications averaging 82%, stalled ones 64% — you've found your own threshold, for your field and your resume. Below it, tailor before you send. No generic advice article can hand you that number.

7. A duplicate guard

Select A2:K1000, then Conditional Formatting → New Rule → Use a formula:

=AND($A2<>"", COUNTIFS($A$2:$A$1000, $A2, $B$2:$B$1000, $B2) > 1)

Any company-and-role pair logged twice highlights. By week five every search is a blur, and applying twice to the same requisition while a recruiter is mid-process with you is a bad look you can automate away.

8. The overdue list — and what to do if you don't have FILTER

On Excel 365 and Excel 2021, one formula gives you a live "who do I email this morning" list:

=SORT(FILTER(CHOOSECOLS(Applications, 1, 2, 8),
             (Applications[Next Follow-up Date]<>"") *
             (Applications[Next Follow-up Date]<=TODAY()) *
             (Applications[Status]<>"Rejected") *
             (Applications[Status]<>"Withdrawn")),
      3, 1)

It spills company, role and due date for every live overdue application, oldest first.

On Excel 2019 or earlier, FILTER, SORT and CHOOSECOLS don't exist — this is the one real limitation Excel has against Google Sheets here, and it's worth knowing before you build around it. Two workarounds that need no dynamic arrays:

  • Just use the filter buttons. Click the dropdown on Next Follow-up Date → Date Filters → Before → Today, then filter Status to exclude Rejected and Withdrawn. Two clicks, same answer, nothing to maintain. For a normal search this is genuinely enough.
  • Add a flag column with =IF(AND([@[Next Follow-up Date]]<>"", [@[Next Follow-up Date]]<=TODAY(), [@Status]<>"Rejected", [@Status]<>"Withdrawn"), "CHASE", "") and sort or filter on it.

9. A PivotTable, once you're past about forty applications

This is where Excel genuinely beats Sheets. Select the Table, Insert → PivotTable, put Status in Rows and Company in Values (as Count). Add Date Applied to Columns grouped by month and you can see whether your response rate is improving as you tailor more carefully — which is the question that actually matters after a long search. Right-click → Refresh after adding rows.

Excel or Google Sheets for tracking job applications?

Excel vs. Google Sheets for a job application tracker
ExcelGoogle Sheets
Offline useFull — the reason to choose it if you work on planes or patchy wifiLimited without the offline extension
Live overdue listOne formula on Excel 365; filter buttons on Excel 2019 and earlierFILTER and SORT work in every version
Updating from your phoneNeeds OneDrive sync, and local copies driftSame URL everywhere, always current
Deeper analysisPivotTables over hundreds of rows, comfortablyFine to a few hundred rows
Sharing with a coachSend a file, then reconcile versionsOne link with comment access
Auto-extending structureTables (Ctrl+T) — best-in-classManual range extension, or ARRAYFORMULA

Choose Excel if you work offline, already live in it, or expect a long search worth PivotTable analysis. Choose Google Sheets if you want to update the tracker from your phone thirty seconds after a recruiter call — which, honestly, is what determines whether a tracker survives past week three. The same free CSV opens in both, so switching later costs nothing.

How do you keep an Excel tracker current?

Three fixed moments, no continuous fiddling:

  • The instant you submit — company, role, posting URL, date, status Applied, and the match score from before you tailored. Ninety seconds.
  • The instant anything happens — a reply, a screen, a rejection. Update Status and set the next follow-up date immediately. An empty H cell means that application is drifting, and drifting applications get ghosted.
  • Once a week, fifteen minutes — filter to overdue, work the list, then read the four counts. The weekly job search routine is the longer version of the habit.

And if those counts say your applications are stalling at Applied, the fix isn't in the spreadsheet at all. Run the actual job description against your resume with our free resume checker — no signup, no card — and find out what the parser is missing before you send the next one.

Frequently asked questions

Is there a free job application tracker template for Excel?
Yes — the CSV template above is free with no signup or email required and opens directly in Excel by double-clicking. Save it as .xlsx immediately, then press Ctrl+T to convert it to a Table so formatting and formulas extend to new rows automatically.
How do I make a job application tracker in Excel?
Open the CSV above, save as .xlsx, select any data cell and press Ctrl+T to make it a Table, freeze the top row, add a Data Validation dropdown on Status with six fixed values, then add a conditional-formatting rule flagging overdue follow-up dates on live applications. About fifteen minutes total, and the Table step is the one that keeps it working as the list grows.
Why should I convert my job tracker to an Excel Table?
Because in a plain range, new rows fall outside your conditional formatting, dropdowns and formula ranges — so the tracker quietly stops working on your most recent applications. A Table (Ctrl+T) extends all three automatically and gives you structured references like Applications[Status] that never break when the list grows.
My Excel doesn't have the FILTER function — what do I use instead?
FILTER, SORT and CHOOSECOLS need Excel 365 or Excel 2021. On Excel 2019 and earlier, use the Table's filter buttons instead: on Next Follow-up Date choose Date Filters → Before → Today, then exclude Rejected and Withdrawn from Status. Or add a flag column with an IF formula and sort on it. Both give the same overdue list with nothing to maintain.
How do I highlight overdue follow-ups in Excel?
Select the Next Follow-up Date column, then Home → Conditional Formatting → New Rule → Use a formula, and enter =AND($H2<>"", $H2<TODAY(), $E2<>"Rejected", $E2<>"Withdrawn", $E2<>"Offer") with a red fill. The status conditions matter — without them, closed applications stay red forever and you stop trusting the colour.
Excel or Google Sheets for a job application tracker?
Excel if you work offline, want PivotTable analysis, or already live in it. Google Sheets if you want to update from your phone right after a recruiter call and want a live overdue list in every version. Trackers fail from stale rows rather than weak analytics, so the tool you'll actually update is usually the right one.
How many applications before a spreadsheet stops being enough?
Most people are fine to roughly 10 parallel live applications. Past that, manual status updates and follow-up dates start slipping, and the PivotTable in step 9 becomes more useful than the row-by-row view. The failure mode is always the same: rows that stopped being updated, not columns that were missing.
Is a job application tracker the same as an applicant tracking system?
No. A job application tracker is the spreadsheet you keep for jobs you've applied to. An applicant tracking system (ATS) is the software employers use to screen incoming resumes. This template is the job-seeker side of that pair.
Check my resume — free