Cellwise Start free

Excel guide · 4 min read

How to calculate time to hire in Excel

Quick answerTime to hire = offer accepted date - the hired candidate's application date. Time to fill = offer accepted date - the date the job opened. In Excel, subtract the dates (=F2-D2) and average the results with AVERAGEIFS. Here the filled roles took 23.3 days on average to hire and 37.6 days to fill.

Sample data

Every result on this page was calculated from this sheet by the same spreadsheet engine the Cellwise app uses.

ABCDEFGHIJK
1RoleDepartmentOpenedAppliedInterviewedOffer acceptedTime to fillTime to hireSettingValue
2Support AgentSupportJul 6, 2026Jul 20, 2026Jul 29, 2026Aug 7, 20263218As ofNov 6, 2026
3Data AnalystFinanceJul 13, 2026Aug 3, 2026Aug 19, 2026Sep 4, 20265332HolidaySep 7, 2026
4Support AgentSupportAug 3, 2026Aug 10, 2026Aug 18, 2026Aug 26, 20262316HolidayOct 12, 2026
5AccountantFinanceAug 10, 2026Aug 31, 2026Sep 21, 2026Oct 9, 20266039
6Warehouse LeadOperationsAug 17, 2026Aug 24, 2026Sep 2, 2026Sep 11, 20262518
7Team LeadSupportAug 24, 2026Sep 21, 2026Oct 5, 2026Oct 23, 20266032
8PickerOperationsSep 8, 2026Sep 10, 2026Sep 15, 2026Sep 18, 2026108
9ControllerFinanceSep 14, 2026Oct 12, 2026Oct 28, 2026
10Forklift DriverOperationsOct 5, 2026
11Support AgentSupportOct 19, 2026Oct 26, 2026

Download this sheet as an Excel practice file (.xlsx)

Time to hire vs time to fill: pick one and write it down

Keep one row per role with the date it opened, the date the person you hired applied, the stage dates you track and the date they accepted the offer. Leave dates blank until they happen.

The two metrics answer different questions. Time to fill starts when the job opens, so it includes the days before the right person even applied. Time to hire starts when that person applied, so it measures how fast your process moved them through. The Support Agent role opened July 6: 32 days to fill, but only 18 days to hire, because the hired candidate applied on July 20.

Teams define these differently (some stop at the offer sent, some at the start date). Choose your start and end events, put them in a note at the top of the sheet, and keep them the same every quarter.

=IF(F2="","",F2-D2)

Result: 18

18: days from the hired Support Agent's application to offer accepted.

Business days with NETWORKDAYS

Calendar days count weekends. If your team talks in working days, NETWORKDAYS counts Monday to Friday between two dates and skips the holidays you list. Put company holidays in a range (K3:K4 here) and pass it as the third argument.

The first Support Agent role took 32 calendar days to fill and 25 business days. The Accountant role took 60 calendar days and 44 business days; Labor Day on September 7 falls inside it and is left out.

NETWORKDAYS counts both the start and the end date. If you want it to match a plain subtraction (which doesn't count the start day), subtract 1: =NETWORKDAYS(C2,F2,$K$3:$K$4)-1 gives 24. Whichever you choose, use it for every row.

=NETWORKDAYS(C2,F2,K3:K4)

Result: 25

25: business days from July 6 to August 7, holidays excluded.

Average and median by department

AVERAGEIFS averages one column where another matches, and it skips blank cells, so roles still open don't drag the number to zero. Finance roles took 56.5 days to fill on average, Support 38.3 and Operations 17.5.

Averages are easy to skew. Support's three filled roles took 23, 32 and 60 days; the Team Lead role (60 days) pulls the average to 38.3, while the median is 32. In Excel 365, =MEDIAN(FILTER(G2:G11,(B2:B11="Support")*(F2:F11<>""))) gives the median for one department. Report the median next to the average, and the number of roles beside both: two Finance hires are not a trend.

=AVERAGEIFS(G2:G11,B2:B11,"Finance")

Result: 56.5

56.5: Finance roles took 56.5 days on average from opening to offer accepted.

Open roles and how long they've been open

Filled roles only tell you about the past. For roles still open, subtract the opened date from an as-of date (K2, November 6) instead. =FILTER(A2:A11,F2:F11="") lists the open roles, and =FILTER($K$2-C2:C11,F2:F11="") lists their age: the Controller role is 53 days old, Forklift Driver 32 and the latest Support Agent 18.

COUNTIFS with a date condition counts how many have been open 30 days or more: 2 here. In a live sheet, use TODAY() instead of K2 so the ages update each day.

Don't drop open roles from your averages without saying so. The slowest roles are often the ones still open, and leaving them out makes time to fill look better than it is.

=COUNTIFS(F2:F11,"",C2:C11,"<="&K2-30)

Result: 2

2: open roles that opened 30 or more days before November 6.

Days in each stage

With one date column per stage, subtract each stage from the next to see where time goes. For the seven filled roles, the job was open 14.3 days on average before the hired person applied, they waited 11.7 days to interview, and the offer took 11.6 more days.

=AVERAGE(IF(F2:F11<>"",E2:E11-D2:D11)) averages one stage only for rows that are filled. Without the IF, blank dates count as 0 and the average comes out as about -4,622 days, a nonsense number that's easy to miss if you round it away. Always filter to rows where both dates exist.

=AVERAGE(IF(F2:F11<>"",E2:E11-D2:D11))

Result: 11.714285714

About 11.71: average days from application to interview for filled roles.

Common mistakes

Mixing time to hire and time to fill

They start at different dates. Name the columns clearly and use the same definition every quarter.

Subtracting blank dates

A blank date counts as 0, which gives huge negative numbers. Wrap each difference in IF(cell="","",...) or filter to complete rows.

Only averaging filled roles

Report open roles and their age as well, or the slowest hires disappear from the picture.

Comparing departments on two or three hires

Show the count of roles next to each average and the median, so one slow hire doesn't look like a pattern.

FAQ

What is the formula for time to hire?

Offer accepted date - application date of the person hired. In Excel: =F2-D2, formatted as a number. Average it across roles with AVERAGE or AVERAGEIFS.

How do I calculate time to fill in Excel?

Subtract the date the job opened from the date the offer was accepted: =F2-C2. For working days, use =NETWORKDAYS(C2,F2,holidays).

Why does my date subtraction show a date instead of a number?

Excel copied a date format into the result cell. Select it and choose Home > Number Format > General or Number to show the days.

Should I use the average or the median time to hire?

Show both. The median isn't moved by one very slow hire, and the average shows the full cost of slow ones.

Functions used

Related guides

Updated