# How to calculate income tax with tax brackets in Excel

Look up the bracket row, then add the tax owed at its start to the income above it times its rate: `=LET(band,XLOOKUP(F1,A2:A8,A2:C8,,-1),INDEX(band,1,3)+(F1-INDEX(band,1,1))*INDEX(band,1,2))`.

**Excel:** `=LET(band,XLOOKUP(F1,A2:A8,A2:C8,,-1),INDEX(band,1,3)+(F1-INDEX(band,1,1))*INDEX(band,1,2))` (Excel 2021, 2024 and Microsoft 365)

**Google Sheets:** the same formula works.

## Example

Sample data (row 1 is the header):

| A | B | C | D | E | F |
| --- | --- | --- | --- | --- | --- |
| Income over | Rate | Tax at start |  | Taxable income | 92000 |
| 0 | 0.1 | 0 |  | Tax owed |  |
| 11925 | 0.12 | 1192.5 |  |  |  |
| 48475 | 0.22 | 5578.5 |  |  |  |
| 103350 | 0.24 | 17651 |  |  |  |
| 197300 | 0.32 | 40199 |  |  |  |
| 250525 | 0.35 | 57231 |  |  |  |
| 626350 | 0.37 | 188769.75 |  |  |  |

Formula in F2: `=LET(band,XLOOKUP(F1,A2:A8,A2:C8,,-1),INDEX(band,1,3)+(F1-INDEX(band,1,1))*INDEX(band,1,2))`

Result: $15,154.00

## How it works

Progressive tax charges each slice of income at its own rate. Column C holds the tax already owed on all the income below each bracket. XLOOKUP with `-1` returns the whole bracket row for $92,000, named `band`: start $48,475, rate 22%, tax at start $5,578.50. The tax is then $5,578.50 + ($92,000 − $48,475) × 22% = $15,154.

## Other ways

- `=VLOOKUP(F1,A2:C8,3,TRUE)+(F1-VLOOKUP(F1,A2:C8,1,TRUE))*VLOOKUP(F1,A2:C8,2,TRUE)`: The same calculation with three approximate VLOOKUPs. Works in every version.
- `=SUMPRODUCT((F1>A2:A8)*(F1-A2:A8)*(B2:B8-VSTACK(0,B2:B7)))`: No "tax at start" column needed: each bracket adds its rate increase on the income above its start. Excel 2024 and Microsoft 365.

## Common mistakes

- Multiplying the whole income by the marginal rate, `F1*22%`, overstates the tax: $20,240 instead of $15,154.
- The "tax at start" column must match the rates. Rebuild it when the brackets change: each value is the previous one plus the previous bracket's width times its rate.
- This is taxable income, after deductions. Subtract the deduction first if you start from gross income.

## Questions

**How do I get the effective rate?**

Divide the tax by the income: `=F2/F1`, 16.5% here.

**How do I fill in the "tax at start" column?**

Start with 0 in C2, then in C3 use `=C2+(A3-A2)*B2` and fill down.

Every formula and result on this page was checked by running it in the Spreadsheet Practice formula engine on 2026-10-30.

Source: https://spreadsheetpractice.com/formulas/calculate-income-tax-with-brackets
