How to Retrieve Financial Data by Month, Sector, and Currency in Excel
Question details
The user needs to extract specific monthly financial values from a dataset with multi-level headers (Month, Sector, and Currency) without creating concatenated helper rows.

- Product
- Excel
- Device & OS
- not provided
- Scenario
- Creating a financial report that requires pulling specific data points from a differently formatted summary sheet based on multiple criteria.
- Observed behavior
- The user is attempting to avoid using concatenated headers (e.g., 'JulyADRUSD') but is struggling to implement the correct INDEX and XMATCH array formula logic to locate the intersecting data.
Ensure your financial data worksheet is organized in a clear grid format, and verify that your version of Excel supports the newer XMATCH function.
Use INDEX and XMATCH with Array Logic for Multi-Level Lookup
Extract intersecting values by matching multiple header conditions using a two-dimensional lookup formula without needing extra helper rows.
Instead of concatenating headers to form a single text string, you can multiply arrays representing your conditions. When the conditions for Month, Sector, and Currency are all met, the resulting array produces a 1, which XMATCH can easily locate.
Set up dedicated cells in your new report where you define the target Month, Sector, and Currency (e.g., cell A1 for 'July', A2 for 'ADR', A3 for 'USD').
Use the formula component XMATCH(Account, AccountLabels, 0) to find the vertical row position of the specific financial metric you are looking for.
Use array multiplication to find the correct column position by entering: XMATCH(1, (MonthHeaders="July") * (SectorHeaders="ADR") * (CurrencyHeaders="USD"), 0).
Wrap the match functions inside an INDEX formula to return the final intersecting value: =INDEX(DataRange, RowMatch, ColumnMatch).

Reshape the Source Data into a Normalized Table
Reformat your data so that each dimension (Month, Sector, Currency) has its own column, making filtering and lookups much easier.
Easily Manage Complex Financial Data with WPS Spreadsheets
WPS Spreadsheets provides robust support for advanced array formulas, including INDEX and XMATCH, making it simple to retrieve multi-level financial data without changing your workflow.
- 1. Open your workbook: Launch WPS Spreadsheets and open your multi-level financial report.
- 2. Input the array formula: Select your target cell and type in your INDEX and XMATCH array formula with multiple criteria.
- 3. Calculate the result instantly: Press Enter (or Ctrl+Shift+Enter for legacy arrays) to instantly retrieve the correct financial value.

Frequently Asked Questions
Why does my multi-criteria XMATCH formula return a #N/A error?
A #N/A error typically means no match was found. Ensure that your header ranges are exactly the same size in your formula and that the text in your criteria perfectly matches the text in the headers. Watch out for hidden trailing spaces in your cells.
Can I use INDEX and MATCH instead of XMATCH?
Yes. You can use the standard MATCH function instead of XMATCH. The logic remains identical: MATCH(1, (Condition1)*(Condition2)*(Condition3), 0). However, XMATCH is a newer function that defaults to an exact match and is generally faster.
What is a concatenated helper row?
A concatenated helper row is an extra row in your spreadsheet where you use the ampersand (&) operator to combine multiple header labels into one single text string (e.g., 'July'&'ADR'&'USD' becomes 'JulyADRUSD'). This creates a single lookup value for standard VLOOKUP or MATCH functions, but it clutters the worksheet.
How do I normalize financial data in Excel?
Normalizing data means converting a pivoted report layout (with values spread across multiple grouped columns) into a flat database format. The easiest way to do this is by selecting your data, navigating to Data > Get & Transform Data, and using Power Query's 'Unpivot Columns' feature.




