ADVERTISEMENT
Google AdSense Slot (headerLeaderboard)

Set your Publisher ID in src/config/ads.ts to display live ads.

Excel for Data Analysis Tutorial• 7 min read

INDEX & MATCH: Dynamic Two-Way Matrix Lookups

Matrix coordinates, dynamic row/column lookups, and legacy compatibility

Before XLOOKUP, the professional gold standard was combining =INDEX() and =MATCH() for flexible, non-fragile two-way matrix coordinate lookups.

The Mechanics of INDEX and MATCH

=MATCH(value, range, 0): Searches a range and returns the relative row or column position number where the item was found.

=INDEX(table, row_num, col_num): Returns the value at the intersection of specified row and column coordinates.

Two-Way Dynamic Lookup: =INDEX(data_table, MATCH(product, row_range, 0), MATCH(month, col_range, 0)) fetches data across both dimensions simultaneously.

Two-Way Matrix Lookup Formula
// Fetch sales figure for "Product X" in "March" from a 2D table
=INDEX(B2:M100, MATCH("Product X", A2:A100, 0), MATCH("March", B1:M1, 0))
MATCH dynamically locates both the row index and column header index.
ADVERTISEMENT
Google AdSense Slot (inContentBanner)

Set your Publisher ID in src/config/ads.ts to display live ads.

Test Yourself With Exercise

+15 XP

In the `=INDEX(array, row_num, [col_num])` formula, what function is commonly nested to calculate `row_num` dynamically?