Formula to Calculate Ageing in Excel

“formula to calculate ageing in excel” comes up constantly, so this page leads with the exact answer, gives you a tool to try it on your own numbers, and only then explains the detail. Everything works in Excel on Windows and Mac and maps almost one-to-one to Google Sheets. Copy the answer above and get back to work, or read on to turn a one-off fix into something you never have to look up again.

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. The difference between a quick fix and a sheet you can trust is the extra minute you spend validating “formula to calculate ageing in excel”. Start on a copy or a tiny sample, keep the affected formula visible, and compare the result with the tool above before you touch the real workbook. 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. The point is a calculation you can defend to a CFO or an auditor, but the practical win is that someone else can open the file and understand what happened without asking you.

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. One habit worth forming early: name the cells that hold your inputs, so the formula reads in plain language instead of a string of cell addresses. A reviewer — or you in three months — can then follow the logic without decoding what B7 and D2 were supposed to mean, which is most of what makes a sheet maintainable.

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. The aim was to get you unstuck fast and leave you a little more capable than a copy-paste would. The answer is at the top, the tool proves it, and the detail above shows why it holds — so the next time a colleague asks, you can answer without reaching for search. If you take one thing from this page on “formula to calculate ageing in excel”, make it the habit rather than the keystrokes: set the problem up with labelled inputs, reference those cells, and let Excel do the recomputing. Bookmark the page for the syntax, but do the example once in a blank sheet and check it against the tool above — five minutes of hands-on practice fixes the method in memory far better than re-reading, and it surfaces the small snags while they are still harmless. After that the technique is genuinely yours: faster than searching for it again, and reliable enough to drop into work that other people depend on.

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.