Skip to content
TheMoney Pocket

Free · 1-page PDF-ready sheet

Every 2026 tax number on one page

Brackets, standard deduction, capital-gains thresholds, credits, and the new OBBBA deductions — one printable page instead of 40 IRS PDFs.

  • All 7 brackets for single, joint, and head of household
  • Tips, overtime, senior, and car-loan deduction caps
  • 0% / 15% / 20% capital-gains breakpoints
  • Credits, estate and gift limits, AMT exemption
Privacy policy
Federal Income Tax

Tax Calculation Excel Formulas: Every Method Compared

Every Excel income tax formula compared: IF, VLOOKUP, XLOOKUP, SUMPRODUCT, LET and VBA, plus capital gains, FICA and credits, checked on 2026 IRS figures.

Written & fact-checked byThe Money Pocket team
Updated Published 13 min read
Skip to the numberFederal Tax Bracket Calculator
On this page
  1. Which Excel tax formula should you use?
  2. The 2026 bracket table behind every formula
  3. Nested IF formula for tax brackets
  4. VLOOKUP formula with a cumulative-tax column
  5. XLOOKUP formula (Excel 2021, 2024 and Microsoft 365)
  6. SUMPRODUCT formula with rate increases
  7. MAX formula: the IRS multiply-and-subtract method
  8. LET formula that reads like the tax schedule
  9. Marginal and effective tax rate formulas
  10. Capital gains and qualified dividends formula
  11. Payroll tax formulas (Social Security and Medicare)
  12. Tax credit formulas
  13. State income tax formulas
  14. Business tax formulas

The most dependable Excel formula for progressive income tax is SUMPRODUCT over the bracket thresholds and the increase in rate at each threshold. It's one cell, works in every Excel version and in Google Sheets, and needs no helper columns. If you'd rather audit the math row by row, VLOOKUP (or XLOOKUP) over a table with a cumulative-tax column gives the same answer. This page compares every method, gives each formula with 2026 US federal figures, and adds formulas for capital gains, payroll tax, credits and state tax.

If you want a finished workbook instead of formulas, the income tax calculation in Excel guide has a free downloadable sheet covering all four filing statuses, FICA and Form 1040 Tax Table rounding. Formulas here give estimates for informational purposes; check important numbers against the federal tax bracket calculator.

Which Excel tax formula should you use?

MethodExcel versionsStrengthWeakness
Nested IFAllNo table needed; easy to read for 2–3 bracketsSeven brackets means seven nested levels; easy to break when updating
VLOOKUP + cumulative tax columnAllEach piece can be checked against the IRS rate tableNeeds a cumulative-tax column you must recompute each year
XLOOKUPExcel 2021, 2024, Microsoft 365, Google SheetsSame as VLOOKUP, with lookup and return columns chosen separatelyNot in Excel 2019 or older
SUMPRODUCT with rate increasesAllOne cell, no cumulative column; only thresholds change yearlyThe "rate increase" idea is less obvious to a reader
MAX of "rate × income − subtraction"AllMirrors the IRS Tax Computation WorksheetSubtraction amounts must be derived each year
LETExcel 2021, 2024, Microsoft 365, Google SheetsNames each bracket, so it reads like the tax scheduleNot in older Excel
VBA functionDesktop ExcelReusable =CalculateFederalTax(B2,"Single") callMacros are blocked in many workplaces and don't run in Google Sheets

The 2026 bracket table behind every formula

These are the 2026 brackets for single filers from IRS Rev. Proc. 2025-32. "Cumulative tax" is the tax on all income below the bracket's start, which is the "$X plus" figure in the Rev. Proc. tables.

Bracket start (income over)RateRate increaseCumulative tax at start
$010%0.10$0
$12,40012%0.02$1,240
$50,40022%0.10$5,800
$105,70024%0.02$17,966
$201,77532%0.08$41,024
$256,22535%0.03$58,448
$640,60037%0.02$192,979.25

Joint filers' thresholds are $24,800 / $100,800 / $211,400 / $403,550 / $512,450 / $768,700. Head of household is $17,700 / $67,450 / $105,700 / $201,750 / $256,200 / $640,600. Married filing separately matches single except that 37% starts at $384,350. The Excel guide's bracket table lists all four side by side with the standard deductions.

In the formulas below, Taxable_Income is a named cell (Formulas → Define Name). Bracket_Starts, Rates, Rate_Increases and Cumulative_Tax are the four columns of the table above.

Nested IF formula for tax brackets

Each level adds the full tax of the lower brackets plus the part of income in the current bracket:

=IF(Taxable_Income<=12400, Taxable_Income*0.10,
 IF(Taxable_Income<=50400, 1240+(Taxable_Income-12400)*0.12,
 IF(Taxable_Income<=105700, 5800+(Taxable_Income-50400)*0.22,
 IF(Taxable_Income<=201775, 17966+(Taxable_Income-105700)*0.24,
 IF(Taxable_Income<=256225, 41024+(Taxable_Income-201775)*0.32,
 IF(Taxable_Income<=640600, 58448+(Taxable_Income-256225)*0.35,
 192979.25+(Taxable_Income-640600)*0.37))))))

This is the Rev. Proc. table typed out literally. It's easy to check, but every number must be edited by hand each year.

VLOOKUP formula with a cumulative-tax column

With the table in four columns (start, rate, rate increase, cumulative tax):

=VLOOKUP(Taxable_Income,Tax_Table,4,TRUE)
 +(Taxable_Income-VLOOKUP(Taxable_Income,Tax_Table,1,TRUE))
 *VLOOKUP(Taxable_Income,Tax_Table,2,TRUE)

VLOOKUP with TRUE finds the last bracket start that is less than or equal to income. The table must be sorted ascending. The formula takes that row's cumulative tax and adds the bracket rate times the income above the start. Check: $60,000 → $5,800 + ($60,000 − $50,400) × 22% = $5,800 + $2,112 = $7,912.

XLOOKUP formula (Excel 2021, 2024 and Microsoft 365)

XLOOKUP takes separate lookup and return ranges. A match mode of −1 means "exact match or next smaller item", which is the bracket rule:

=XLOOKUP(Taxable_Income,Bracket_Starts,Cumulative_Tax,,-1)
 +(Taxable_Income-XLOOKUP(Taxable_Income,Bracket_Starts,Bracket_Starts,,-1))
 *XLOOKUP(Taxable_Income,Bracket_Starts,Rates,,-1)

Because the ranges are separate columns, you can keep one table per filing status side by side and switch between them with CHOOSE or INDEX.

SUMPRODUCT formula with rate increases

=SUMPRODUCT((Taxable_Income>Bracket_Starts)*(Taxable_Income-Bracket_Starts)*Rate_Increases)

or, with no table at all:

=SUMPRODUCT((B2>{0;12400;50400;105700;201775;256225;640600})*(B2-{0;12400;50400;105700;201775;256225;640600})*{0.1;0.02;0.1;0.02;0.08;0.03;0.02})

Every dollar above a threshold pays that bracket's extra rate on top of the rates below it. The comparison (B2>…) turns brackets you haven't reached into zeros. SUMPRODUCT multiplies the three arrays item by item and adds the results. Check with $60,000: 10% × $60,000 = $6,000; 2% × $47,600 = $952; 10% × $9,600 = $960; total $7,912.

You may see a "shorter" version that wraps MIN(Taxable_Income-Bracket_Starts, Bracket_Widths) inside SUMPRODUCT. It doesn't work. MIN returns one number for the whole array, not one per bracket, so the total is wrong without any error message.

MAX formula: the IRS multiply-and-subtract method

The IRS Tax Computation Worksheet in the Form 1040 instructions multiplies taxable income by the top rate and subtracts a fixed amount. Because each bracket's rate is higher than the one below, the tax equals the largest of those seven lines:

=MAX(B2*{0.1,0.12,0.22,0.24,0.32,0.35,0.37}-{0,248,5288,7402,23544,31230.75,44042.75})

The subtraction amounts (single, 2026) come from the Rev. Proc. thresholds: each is the previous amount plus the threshold times the rate increase. For example, $248 + $50,400 × 0.10 = $5,288. Check: $150,000 × 24% − $7,402 = $28,598, which matches $17,966 + ($150,000 − $105,700) × 24%.

LET formula that reads like the tax schedule

LET (Excel 2021, 2024 and Microsoft 365) names intermediate results inside one formula:

=LET(
  income, MAX(0, Gross_Income - Deductions),
  bracket1, MIN(income, 12400) * 0.10,
  bracket2, MIN(MAX(income - 12400, 0), 38000) * 0.12,
  bracket3, MIN(MAX(income - 50400, 0), 55300) * 0.22,
  bracket4, MIN(MAX(income - 105700, 0), 96075) * 0.24,
  bracket5, MIN(MAX(income - 201775, 0), 54450) * 0.32,
  bracket6, MIN(MAX(income - 256225, 0), 384375) * 0.35,
  bracket7, MAX(income - 640600, 0) * 0.37,
  bracket1 + bracket2 + bracket3 + bracket4 + bracket5 + bracket6 + bracket7
)

The second number in each MIN is the bracket's width: $50,400 − $12,400 = $38,000, and so on. Here MIN and MAX are fine, because each works on a single value.

Marginal and effective tax rate formulas

Marginal rate:   =INDEX(Rates, MATCH(Taxable_Income, Bracket_Starts, 1))
Effective rate:  =IF(Gross_Income>0, Federal_Tax/Gross_Income, 0)

MATCH with 1 returns the position of the last start that is less than or equal to income, so INDEX returns the rate on your next dollar. Decide what the effective rate is measured against (gross income, AGI or taxable income) and label the cell; the three give very different percentages.

Capital gains and qualified dividends formula

Long-term capital gains and qualified dividends sit on top of ordinary income and use the 0% / 15% / 20% rates. For 2026, the 0% rate applies up to $49,450 of taxable income for single filers ($98,900 joint, $66,200 head of household), and the 15% rate up to $545,500 single ($613,700 joint, $579,600 head of household), per Rev. Proc. 2025-32. With ordinary taxable income in Ord and preferential income in Pref (single filer):

=LET(
  top, Ord + Pref,
  zero_part, MAX(0, MIN(top, 49450) - Ord),
  fifteen_part, MAX(0, MIN(top, 545500) - MAX(Ord, 49450)),
  twenty_part, MAX(0, top - MAX(Ord, 545500)),
  fifteen_part*0.15 + twenty_part*0.20
)

Add the bracket tax on Ord to get the total. (LET names can't look like cell addresses, so names such as at15 fail; use words.) Example: $30,000 of ordinary taxable income and $40,000 of long-term gains. The ordinary tax is $1,240 + ($30,000 − $12,400) × 12% = $3,352. Of the gains, $19,450 fills the 0% band up to $49,450 and the other $20,550 is taxed at 15%, or $3,082.50. Total: $6,434.50. This mirrors the Qualified Dividends and Capital Gain Tax Worksheet. Collectibles (28%), unrecaptured Section 1250 gain (25%) and the 3.8% net investment income tax need extra lines; the capital gains calculator handles the common cases.

Payroll tax formulas (Social Security and Medicare)

For 2026, the employee rates are 6.2% Social Security on wages up to $184,500 and 1.45% Medicare on all wages (IRS Publication 15). The 0.9% Additional Medicare Tax applies above $200,000 (single and head of household), $250,000 (joint) or $125,000 (married filing separately).

Social Security:      =MIN(FICA_Wages, 184500) * 0.062
Medicare:             =FICA_Wages * 0.0145
Additional Medicare:  =MAX(0, FICA_Wages - IF(Filing_Status="MFJ", 250000, IF(Filing_Status="MFS", 125000, 200000))) * 0.009
Self-employment tax:  =MIN(Net_SE_Income*0.9235, 184500)*0.124 + Net_SE_Income*0.9235*0.029

FICA wages are gross pay minus cafeteria-plan deductions (pre-tax health premiums, payroll HSA). Traditional 401(k) deferrals are still subject to FICA. If the self-employed person also has W-2 wages, the Social Security part uses only what's left of the wage base after those wages. The 1099 tax calculator does that coordination for you.

Free · 1-page PDF-ready sheet

Every 2026 tax number on one page

Brackets, standard deduction, capital-gains thresholds, credits, and the new OBBBA deductions — one printable page instead of 40 IRS PDFs.

  • All 7 brackets for single, joint, and head of household
  • Tips, overtime, senior, and car-loan deduction caps
  • 0% / 15% / 20% capital-gains breakpoints
  • Credits, estate and gift limits, AMT exemption
Privacy policy

Tax credit formulas

Child tax credit (2026: $2,200 per qualifying child, reduced by $50 for each $1,000 or fraction of modified AGI over $400,000 joint or $200,000 for everyone else):

=LET(
  base_credit, Number_of_Children * 2200,
  agi_threshold, IF(Filing_Status="MFJ", 400000, 200000),
  phase_out, CEILING(MAX(0, Modified_AGI - agi_threshold), 1000) / 1000,
  MAX(0, base_credit - phase_out * 50)
)

CEILING(…,1000) handles the "or fraction thereof" rule: $1 over the threshold already costs $50. The refundable part has its own earned-income test; the child tax credit calculator applies it.

Earned income tax credit follows a phase-in, plateau and phase-out pattern. Keep the IRS figures for your filing status and number of children in a table (maximum credit, phase-in rate, phase-out start, phase-out rate) and look them up. The EIC worksheet figures the credit on earned income and, when AGI is different and at or above the phase-out start, also on AGI, and you take the smaller amount (IRS Publication 596):

=LET(
  max_credit, VLOOKUP(Number_of_Children, EITC_Table, 2, 0),
  phase_in_rate, VLOOKUP(Number_of_Children, EITC_Table, 3, 0),
  phase_out_start, VLOOKUP(Number_of_Children, EITC_Table, 4, 0),
  phase_out_rate, VLOOKUP(Number_of_Children, EITC_Table, 5, 0),
  on_earned, MAX(0, MIN(max_credit, Earned_Income*phase_in_rate) - MAX(0, Earned_Income-phase_out_start)*phase_out_rate),
  on_agi, MAX(0, MIN(max_credit, AGI*phase_in_rate) - MAX(0, AGI-phase_out_start)*phase_out_rate),
  IF(AGI>=phase_out_start, MIN(on_earned, on_agi), on_earned)
)

The IRS EIC Table rounds to $50 income rows, so expect differences of a few dollars. The formula doesn't apply the investment-income limit or the qualifying-child rules; the EITC calculator checks those.

State income tax formulas

Flat-tax states need one rate. Keep a two-column table (State_Rates: state code, rate) and look it up:

=IFERROR(VLOOKUP(State, State_Rates, 2, FALSE), 0) * State_Taxable_Income

A single rate is exact only for flat-tax states such as Arizona (2.5%), Illinois (4.95%) and Pennsylvania (3.07%), and for states with no wage income tax. Each state starts from its own definition of taxable income, so State_Taxable_Income is rarely the federal figure.

Graduated states need a bracket table per state. California, single, using the 2026 schedule from the FTB; see California income tax rates:

=LET(
  ca_income, MAX(0, CA_AGI - CA_Standard_Deduction),
  bracket1, MIN(ca_income, 11456) * 0.01,
  bracket2, MIN(MAX(ca_income - 11456, 0), 15701) * 0.02,
  bracket3, MIN(MAX(ca_income - 27157, 0), 15704) * 0.04,
  bracket4, MIN(MAX(ca_income - 42861, 0), 16637) * 0.06,
  bracket5, MIN(MAX(ca_income - 59498, 0), 15699) * 0.08,
  bracket6, MIN(MAX(ca_income - 75197, 0), 308912) * 0.093,
  bracket7, MIN(MAX(ca_income - 384109, 0), 76818) * 0.103,
  bracket8, MIN(MAX(ca_income - 460927, 0), 307286) * 0.113,
  bracket9, MAX(ca_income - 768213, 0) * 0.123,
  bhst, MAX(ca_income - 1000000, 0) * 0.01,
  bracket1 + bracket2 + bracket3 + bracket4 + bracket5 + bracket6 + bracket7 + bracket8 + bracket9 + bhst
)

The bhst line is the 1% Behavioral Health Services Tax (formerly the Mental Health Services Tax) on taxable income over $1 million. California's exemption credits are subtracted separately. Check: $75,197 of taxable income returns $3,310.88, the FTB's base amount for that row.

Business tax formulas

C corporation: the federal rate is a flat 21% of taxable income, so =Corporate_Taxable_Income*0.21. Booking the tax expense in financial statements (current plus deferred tax) is a separate exercise, covered in the provision for income taxes guide.

S corporation owner: K-1 profit is subject to income tax but not self-employment tax. Payroll tax applies only to the owner's salary, which must be reasonable for the work:

=LET(
  k1_share, S_Corp_Income * Ownership_Percentage,
  taxable, MAX(0, Owner_Salary + k1_share + Other_Income - Deductions),
  income_tax, SUMPRODUCT((taxable>Bracket_Starts)*(taxable-Bracket_Starts)*Rate_Increases),
  payroll_tax, MIN(Owner_Salary, 184500) * 0.124 + Owner_Salary * 0.029,
  income_tax + payroll_tax
)

Income tax runs through the brackets on salary plus the K-1 share (minus deductions, including any QBI deduction), not one marginal rate on everything. The payroll line counts both the employer and employee halves. The S-corp payroll tax calculator runs the salary-versus-distribution comparison.

Estimated tax safe harbor: the required annual payment is the smaller of 90% of this year's tax or 100% of last year's tax (110% if last year's AGI was over $150,000, or $75,000 if married filing separately):

=MIN(Current_Year_Tax*0.9, Prior_Year_Tax*IF(Prior_Year_AGI>IF(Filing_Status="MFS",75000,150000),1.1,1))/4

Subtract withholding before dividing by four. The quarterly estimated taxes guide covers due dates and the annualized method.

VBA function for tax brackets

A custom function lets any cell call =CalculateFederalTax(B2,"Single"):

Function CalculateFederalTax(TaxableIncome As Double, FilingStatus As String) As Double
    Dim Starts As Variant, Rates As Variant, i As Integer, Tax As Double
    Rates = Array(0.1, 0.12, 0.22, 0.24, 0.32, 0.35, 0.37)
    Select Case FilingStatus
        Case "Single": Starts = Array(0, 12400, 50400, 105700, 201775, 256225, 640600)
        Case "MFJ":    Starts = Array(0, 24800, 100800, 211400, 403550, 512450, 768700)
        Case "MFS":    Starts = Array(0, 12400, 50400, 105700, 201775, 256225, 384350)
        Case "HOH":    Starts = Array(0, 17700, 67450, 105700, 201750, 256200, 640600)
    End Select
    For i = 0 To 6
        If TaxableIncome > Starts(i) Then
            If i = 6 Then
                Tax = Tax + (TaxableIncome - Starts(i)) * Rates(i)
            Else
                Tax = Tax + (Application.Min(TaxableIncome, Starts(i + 1)) - Starts(i)) * Rates(i)
            End If
        End If
    Next i
    CalculateFederalTax = Tax
End Function

The status argument must be "Single", "MFJ", "MFS" or "HOH"; any other text leaves the thresholds empty and returns an error. Save the workbook as .xlsm. Macro-free alternatives (all the formulas above) are easier to share.

Test cases to check any tax formula

Filing statusTaxable incomeExpected 2026 taxArithmetic
Single$50,000$5,752$1,240 + ($50,000 − $12,400) × 12%
Single$60,000$7,912$5,800 + ($60,000 − $50,400) × 22%
Married filing jointly$100,000$11,504$2,480 + ($100,000 − $24,800) × 12%
Single$150,000$28,598$17,966 + ($150,000 − $105,700) × 24%
Single$500,000$143,769.25$58,448 + ($500,000 − $256,225) × 35%

These are exact bracket results. Under $100,000 of taxable income, Form 1040 uses the IRS Tax Table, which can differ by a few dollars; the Excel guide shows how to reproduce the table's rounding. A quick pass/fail cell: =IF(ABS(Calculated_Tax-Expected_Tax)<=1,"PASS","FAIL").

Common Excel tax formula errors

  • One rate on all income. =Income*VLOOKUP(Income,Table,2,TRUE) taxes every dollar at the top rate. On $60,000 single, that's $13,200 instead of $7,912.
  • VLOOKUP with FALSE. Exact match returns #N/A for any income that isn't exactly a bracket start.
  • Unsorted table. Approximate-match VLOOKUP, XLOOKUP with −1 and MATCH with 1 all assume bracket starts in ascending order.
  • #VALUE! from SUMPRODUCT. The arrays must be the same size: seven thresholds, seven rate increases.
  • Numbers stored as text. Pasted figures with stray spaces or apostrophes make SUMPRODUCT silently give a wrong total. =ISNUMBER(cell) finds them.
  • Thresholds entered as 12,401. Use the IRS figures as printed and compare with ">".

Temporary provisions: gate them by year

Several newer deductions apply only for tax years 2025 through 2028: the senior deduction, and the deductions for tips, overtime and car-loan interest. Gate them so a multi-year model doesn't apply them in 2029:

=IF(AND(Tax_Year>=2025, Tax_Year<=2028), Senior_Deduction, 0)

Keep each year's brackets on their own row or tab and look them up by Tax_Year, rather than overwriting last year's figures. The IRS inflation adjustments guide lists the current year's numbers.

What to do next

Pick one bracket method from the comparison table, set up the 2026 table, and run the five test cases before you use the sheet for real numbers. For a ready-made workbook, download the sheet in the income tax calculation in Excel guide. For a quick answer without a spreadsheet, the federal tax bracket calculator shows the tax in each bracket.

Frequently asked questions

Which Excel formula is best for tax brackets?
SUMPRODUCT with rate increases is the shortest formula that works in every Excel version and in Google Sheets. VLOOKUP with a cumulative-tax column is easier to audit. In Excel 2021 or Microsoft 365, LET makes either one readable.
Why does VLOOKUP give the wrong tax?
Usually because it multiplies all income by the rate it finds, which taxes every dollar at the top bracket, or because the last argument is FALSE (exact match). Use approximate match (TRUE) and add the cumulative tax of the lower brackets.
Can I use MIN or MAX inside SUMPRODUCT for brackets?
No. MIN and MAX return a single number, not one value per bracket, so the formula silently gives a wrong total. Use comparisons such as (Income>Thresholds) to switch brackets on and off instead.
How do I calculate tax on capital gains in Excel?
Tax ordinary income with the bracket formula, then stack long-term gains and qualified dividends on top: the part below the 0% ceiling is untaxed, the part up to the 15% ceiling is taxed at 15%, and the rest at 20%.
  • excel-tax-formulas
  • tax-calculation-spreadsheet
  • progressive-tax-formula
  • excel-financial-modeling
  • tax-planning-excel

Informational only

This guide explains general rules as published by the IRS and other official sources. It is not tax, legal, or investment advice, and it can’t account for your full situation. How we research and update guides.

Run your own numbers