Formula for Ageing in Excel

If you just need to formula for ageing in excel and move on, the boxed answer at the top is all you need. The rest of this page is for when you want to understand why it works in Excel, adapt it to a trickier version, or make it robust enough to hand to a colleague. We keep the opening short on purpose — the depth is here when you want it, not in your way when you don’t.

Exact answer

In Excel: compute days outstanding with =TODAY()-InvoiceDate, then band that number with IFS into 0-30, 31-60, 61-90 and 90+.

On this page7
ƒxDate Difference CalculatorLive
Days between
364

Breakdown: 0 years · 11 months · 30 days

Workdays (Mon–Fri, NETWORKDAYS)
261
=B2A2 · =NETWORKDAYS(A2,B2)
=IFS(C2<=30,"0-30",C2<=60,"31-60",C2<=90,"61-90",TRUE,"90+")
Ctrl+CthenCtrl+Shift+V+Cthen+Ctrl+VPaste values · WindowsMac

Need it as an auditable file?

Ships inside the linked template — formula-driven, unlocked, audit-ready.

View template

What this does

An ageing analysis turns a list of unpaid invoices into a statement of how long the money has been owed and how much sits in each time band. It is two columns of work: a days-outstanding number, and a bucket label derived from it. A PivotTable over the bucket column then totals the amount per band, which is the figure a credit-control meeting actually runs on. Most people learn this as a sequence of clicks and forget it by next week; learning it as a pattern instead is what lets you apply it to the next, slightly different version of the problem without starting from scratch. That is the difference this page is trying to make. Treat “formula for ageing in excel” as a small repeatable workflow rather than a one-off click you hope to remember next time. Use a small test block before the live file, so any surprise in the affected formula shows up while it is still harmless. When a formula is involved, keep the inputs labelled beside it, reference cells instead of typing values, and apply number formatting only after the result checks out. That turns a calculation you can defend to a CFO or an auditor into a method you can reuse, explain, and defend when the workbook leaves your screen.

A worked example

B2 holds the invoice date 2026-06-02. Run on 2026-08-14, C2 =TODAY()-B2 returns 73 once the cell is formatted as a number rather than a date — and 74 the next morning, because TODAY() moves with the calendar. D2 =IFS(C2<=30,"0-30",C2<=60,"31-60",C2<=90,"61-90",TRUE,"90+") returns 61-90, and a PivotTable with D as rows and the amount as values shows 18,400 sitting in that band. Cash collection is prioritised by band, so the bucket boundaries decide which customer gets called this week — and a mis-formatted days column hides the whole picture behind a column of 1900 dates. If there is any chance you will reuse this, drop it into a small template tab right now: a labelled input area on the left and the formula beside it, checked once against the tool above. Next time the same question comes up, the answer is a single paste away instead of a rebuild from memory.

In Google Sheets

Google Sheets handles this almost identically to Excel. The formula syntax above is the same, and the menu lives under a slightly different label rather than a ribbon tab. Use the platform toggle at the top of the page to switch every keyboard shortcut between Windows and Mac, and expect at most cosmetic differences in naming. Keep this page bookmarked for the next time the same question comes up. Better still, rebuild the example once in your own sheet — doing it yourself, with the tool above to check against, is what turns a copied formula into a technique you own. The short version of “formula for ageing in excel”: the answer is at the top of this page, the tool proves it on your own numbers, and the sections above explain why it holds so the next variation does not stump you. Excel rewards people who reference cells instead of typing values and who keep inputs separate from formulas, because that is what makes a result you can audit months later. Build it once, deliberately, with the live tool as a check, and you convert a one-off lookup into a reusable skill — which is the whole point of learning the why and not just the what.

Common mistakes

  • Leaving the days column formatted as a date, so 73 displays as a day in March 1900.
  • Not saying whether the report ages from the invoice date or the due date — the two produce different bands for the same ledger.
  • Hard-coding a report date instead of TODAY(), which quietly stops updating.
  • Writing overlapping bucket boundaries such as <=30 and >=30, which puts day 30 in whichever band the formula happens to test first.

Frequently asked questions

What is the formula for days outstanding?

=TODAY()-InvoiceDate, with the result cell formatted as a number.

How do I age from the due date instead?

Use =TODAY()-DueDate. Negative results mean the invoice is not due yet, which is worth a separate "not due" band.

IFS is not available in my version.

Use nested IF, or =LOOKUP(C2,{0;31;61;91},{"0-30";"31-60";"61-90";"90+"}), which reads the largest boundary not exceeding the value.

Why do the numbers change every day?

TODAY() is volatile and recalculates whenever the workbook does. Paste the days column as values to freeze a report.