How to Select an Excel Tax Table Using Year and Filing Status
Question details
The user needs a method to automatically select and calculate from the correct Excel tax table based on multiple criteria (tax year and filing status) instead of manually copying tables into a specific calculation range.

- Product
- Microsoft Excel
- Device & OS
- not provided
- Scenario
- Calculating taxes dynamically where different rates and brackets apply depending on specific combinations of a tax year and the individual's filing status.
- Observed behavior
- Currently, the calculation relies on a static range, forcing the user to manually copy and paste the appropriate tax table into that specific range every time the criteria change.
Ensure that all your tax tables are structured uniformly and clearly labeled. Standardizing your table names or data structure is essential for dynamic formula referencing to work correctly.
Use Named Ranges with the INDIRECT Function
By creating a consistent naming convention for each tax table, you can use the INDIRECT function to dynamically build the table reference from your input cells.
This approach requires you to assign a specific Name to each of your tax tables (e.g., Tax_2023_Single). The INDIRECT function then translates a text string into a valid cell reference, allowing your main calculation formula to instantly swap out the lookup table based on what you type into the Year and Status cells.
Highlight the cells containing your 2023 Single tax table, click inside the Name Box located to the left of the Formula Bar, type a standardized name like 'Tax_2023_Single', and press Enter. Repeat this for all other tax tables.
Designate specific cells in your worksheet for user input. For example, use cell A1 for the Tax Year (e.g., 2023) and cell A2 for the Filing Status (e.g., Single).
Click the cell where you want to calculate the tax and enter your lookup formula wrapped with INDIRECT. For example: =VLOOKUP(IncomeCell, INDIRECT("Tax_" & A1 & "_" & A2), 2, TRUE). Press Enter to apply.

Consolidate Tables and use XLOOKUP with FILTER
Combine all individual tax tables into one master database and use modern array functions to dynamically extract the required rates.
Effortlessly Manage Complex Tax Tables with WPS Spreadsheet
WPS Spreadsheet fully supports advanced array functions and dynamic referencing, making it incredibly easy to automate complex tax calculations without relying on manual data copying.
- 1. Open Your Tax Workbook: Launch WPS Spreadsheet and open your existing tax calculation file.
- 2. Define Table Names: Navigate to the Formulas tab on the top ribbon, select 'Name Manager', and verify or create your standardized named ranges for each tax table.
- 3. Apply Lookup Formulas: Select your calculation cell, input your dynamic formula such as =VLOOKUP(Income, INDIRECT("Tax_"&Year&"_"&Status), 2), and press Enter.
- 4. Test Input Criteria: Change the values in your Year and Status dropdowns to verify that the tax calculation updates automatically based on the newly referenced table.

Frequently Asked Questions
Why is my INDIRECT formula returning a #REF! error?
A #REF! error typically means the text string you concatenated inside the INDIRECT function doesn't exactly match any existing named range in your workbook. Double-check your spelling, ensure there are no unintended spaces, and confirm the named range has been properly created via the Name Manager.
Can I use multiple criteria in a standard VLOOKUP without INDIRECT?
Yes, but you will need a master table instead of individual tables. You can add a 'helper column' to the far left of your master table that concatenates the Year, Filing Status, and Income Bracket. You then look up that concatenated value using a standard VLOOKUP.
Is it better to use INDIRECT or XLOOKUP for financial modeling?
Using XLOOKUP combined with a consolidated table is generally better for large-scale financial modeling. INDIRECT is a volatile function, meaning it recalculates every time any change is made in the workbook. Overusing INDIRECT can cause your spreadsheet to perform slowly, whereas XLOOKUP is highly efficient.




