Put the invoice in an aging bucket (nested IF)
The problem
Problem statement
Aging is measured from the invoice date in C2 to the report date in F1. Put the bucket in the Bucket cell B2: 0-30, 31-60, 61-90, or 90+.
Both boundaries are inclusive at the lower edge — 30 days is still 0-30, 31 days is the next bucket.
Problem data
Show the sheet as a table (selectable, copyable)
| A | B | C | E | F | |
|---|---|---|---|---|---|
| 1 | Invoice | Bucket | Invoice date | As of | 2026-03-12 |
| 2 | INV-501 | 2026-02-10 |
Notes
Aging is report date minus invoice date, and the buckets are a ladder: test the smallest first, or every invoice lands in the last bucket. If finance defines the buckets differently, the numbers in the formula are the definition and should be reviewed with them.
How to approach
Your answer goes in B2.
- Target cell is B2
- Days = F1 - C2
- Test 30, then 60, then 90
- Shape: =IF(?, ?, IF(?, ?, ?))
Function guide
FAQ
How do I build aging buckets in Excel?
=IF(days<=30,"0-30",IF(days<=60,"31-60",IF(days<=90,"61-90","90+"))) with days = report date − invoice date. Always test the smallest threshold first.
Why did every invoice land in 90+?
The IF ladder is upside down: the first test was the largest threshold, so it matched everything.