✕
0 / 63

Invoice aging in Excel: days overdue and aging bands

The aging report is run as of the date in H1. In D2:D8, work out how many days each invoice is overdue, or 0 if it isn't due yet. In E2:E8, put each invoice in its band from the table in G4:H8.

One date minus another gives the days between them. Subtract from the fixed date in $H$1, not TODAY(), so the report gives the same answer tomorrow; MAX(0, …) turns a negative count into 0. For the band, VLOOKUP(D2, $G$4:$H$8, 2, TRUE) finds the last "From day" that fits.

55 Days overdue and aging bands Date difference, aging bands Core

receivables.xlsx
Ready

Click a cell while typing to insert it, drag to select a range, F4 adds $, Esc cancels.

Tap a cell while writing a formula to insert it, or slide across cells for a range. The strip above the keyboard has = ( ) : , $.

The Date difference, aging bands guide

An aging report answers two questions per invoice: how many days past due is it, and which band does that put it in? Days overdue is the report date minus the due date, never below 0: =MAX(0, $H$1-B2). The band comes from a small table: =VLOOKUP(D2, $G$4:$H$8, 2, TRUE).

CoreAbout 3 minutesBy Updated

Days between two dates

Excel stores a date as a number of days, so one date minus another is the days between them: 3/31/2026 minus 3/1/2026 is 30. =DAYS($H$1, B2) gives the same answer; note the order, end date first. DATEDIF(B2, $H$1, "d") also works, but returns #NUM! when the start date is later than the end date, which happens for every invoice that isn't due yet.

Why a fixed as-of date, not TODAY()

TODAY() recalculates every time the file opens, so the report you sent on the 31st shows different numbers on the 2nd and nobody can reconcile it. Put the report date in a cell, label it "As of", and subtract from that cell, locked as $H$1. Change the one cell to rerun the report for another date.

Not due yet is 0, not negative

An invoice due after the report date gives a negative number. Wrap the subtraction so it never goes below 0:

=MAX(0, $H$1-B2)

=IF($H$1>B2, $H$1-B2, 0) does the same thing in more words.

Aging bands

A common set is Current, 1–30, 31–60, 61–90 and over 90 days; use whatever bands your team reports. Two ways to assign them:

The same logic is practised on test scores in the VLOOKUP approximate match challenge and the nested IF challenge.

The edges

30 days overdue belongs in 1–30, 31 days in 31–60. The test is <= 30, not < 30. An invoice due on the report date itself is 0 days overdue, so it is Current.

The summary

To finish the report, total each band: =SUMIF($E$2:$E$8, "1-30", $C$2:$C$8), or a pivot table with Band in Rows and Amount in Values. One trap when you type the band names into Excel: it can read 1-30 as a date. Type an apostrophe first ('1-30) or write the label as "1-30 days".

Common mistakes

FAQ

How do I calculate days overdue in Excel?
Subtract the due date from the report date and stop it going below 0: =MAX(0,$H$1-B2), where H1 holds the as-of date. =DAYS($H$1,B2) gives the same difference.
How do I create aging buckets in Excel?
Make a small table with the first day of each band (0, 1, 31, 61, 91) and its name, then use =VLOOKUP(days,table,2,TRUE). Or use IFS with the upper edge of each band.
Should an aging report use TODAY()?
Not for a report you send. TODAY() changes every day, so a report sent yesterday no longer matches. Put the report date in a cell and subtract from that cell.
Why does Excel turn 1-30 into a date?
Excel tries to read anything that looks like a date as one, and 1-30 does. Type an apostrophe first ('1-30) to keep it as text, or use a label like "1-30 days".

This task is in the timed accounting practice test. What Excel interview tests check

All challenges

  1. 01Starter, 3 min Add it upSUM
  2. 02Starter, 3 min Find the averageAVERAGE
  3. 03Starter, 3 min Smallest and largestMIN, MAX
  4. 04Starter, 3 min Count what's thereCOUNT, COUNTA, COUNTBLANK
  5. 05Starter, 3 min Write once, fill downRelative references
  6. 06Core, 3 min Lock it with $Absolute references
  7. 07Starter, 3 min Percent of a totalPercentages
  8. 08Starter, 3 min Make the numbers readableNumber formats
  9. 09Core, 3 min Up or down by how much?Percent change
  10. 10Core, 3 min What you see vs what's storedROUND
  11. 11Core, 3 min The typical valueMEDIAN
  12. 12Core, 3 min Select to the end in one moveCtrl + Shift + arrow
  13. 13Starter, 3 min Sort without breaking rowsSort
  14. 14Starter, 3 min Filter to what mattersFilter
  15. 15Starter, 3 min Copy and paste a formulaCtrl+C, Ctrl+V
  16. 16Core, 3 min Paste values onlyPaste Special → Values
  17. 17Core, 3 min Highlight what's over targetConditional formatting
  18. 18Core, 3 min Spot the duplicatesDuplicate Values rule
  19. 19Core, 3 min Pass or fail?IF
  20. 20Core, 3 min Both or either?AND, OR
  21. 21Core, 3 min Exactly one of the twoXOR
  22. 22Core, 3 min Grade bands with nested IFNested IF
  23. 23Core, 3 min Count the ones that matchCOUNTIF
  24. 24Core, 3 min Add up the ones that matchSUMIF
  25. 25Core, 3 min Use a cell as the conditionCriteria in a cell
  26. 26Core, 3 min Partial matches with * and ?SUMIF, COUNTIF with wildcards
  27. 27Core, 3 min Count with two conditionsCOUNTIFS
  28. 28Core, 3 min Add up with two conditionsSUMIFS
  29. 29Core, 3 min Look it upVLOOKUP
  30. 30Core, 3 min Find the right bracketVLOOKUP approximate match
  31. 31Core, 3 min XLOOKUP, the modern wayXLOOKUP
  32. 32Core, 3 min Where is it in the list?MATCH
  33. 33Advanced, 3 min INDEX and MATCH togetherINDEX + MATCH
  34. 34Advanced, 3 min Lock just the row or the columnMixed references
  35. 35Advanced, 3 min Growth per year (CAGR)CAGR with ^
  36. 36Core, 3 min Use a rate from another sheetReferences to other sheets
  37. 37Core, 3 min Catch the error, not the bugIFERROR
  38. 38Core, 3 min Which invoices are missing?Compare two lists
  39. 39Core, 3 min Reconcile the ledger with the bankXLOOKUP or VLOOKUP + IFNA
  40. 40Core, 3 min Join text together&, CONCAT, PROPER
  41. 41Core, 3 min Split first and last namesLEFT, MID + FIND
  42. 42Core, 3 min Stray spaces that break a countTRIM
  43. 43Core, 3 min Flag the bad entriesTRIM, LEN, EXACT
  44. 44Advanced, 3 min Clean a bank descriptionTEXTBEFORE, TEXTAFTER, PROPER
  45. 45Core, 3 min Mistake hunt: #N/A everywhereFixing #N/A
  46. 46Core, 3 min Mistake hunt: hard-coded numbersReferences instead of typed numbers
  47. 47Core, 3 min Mistake hunt: numbers stored as textNumbers stored as text
  48. 48Core, 3 min One of each, then the totalsUNIQUE
  49. 49Core, 3 min Your first pivot tablePivot tables
  50. 50Advanced, 3 min Which category went up most?SUMIFS, change, lookup
  51. 51Core, 3 min How many days late?Date arithmetic
  52. 52Core, 3 min Turn text into real datesDATEVALUE
  53. 53Advanced, 3 min Month ends and working daysEOMONTH, NETWORKDAYS
  54. 54Core, 3 min Renewal datesEDATE
  55. 55Core, 3 min Days overdue and aging bandsDate difference, aging bands
  56. 56Core, 3 min How many late orders?Pick the tool
  57. 57Core, 3 min Sales per repPick the tool
  58. 58Core, 3 min Whose part is it?Pick the tool
  59. 59Core, 3 min Who gets the bonus?Pick the tool
  60. 60Core, 3 min Each region's sharePick the tool
  61. 61Advanced, 3 min Case: the supplier reportCase, five steps
  62. 62Advanced, 3 min Case: the monthly budgetCase, five steps
  63. 63Advanced, 3 min Case: the reorder listCase, five steps

The whole course, in order.

The challenges teach one move each. The course puts them in order and makes you do each one twice, the second time on data you haven't seen.

$29 One time. No subscription. Early-access price. Get Pro for $29

Secure checkout on Stripe.

  • CourseAll 63 ready lessons in order, plus every one we add. The first 5 are free. Each formula lesson ends with a second round on new data, no hints.
  • TestsYour score on the interview practice tests is free. Pro adds the full report: what went wrong on each task, and the lesson for it.
  • 14 daysNot what you hoped for? Full refund within 14 days, no questions. Refunds

Pro isn't open right now

Checkout is closed for the moment, so nothing was charged. Leave your email and we'll write once when it opens. The price is $29, one time.

One email when Pro opens. Unsubscribe in one click. Privacy

Continue

Sign in or create an account

No password. Your solved challenges then follow you to any device.

Signing in sets one cookie that keeps you signed in. Privacy