XL: Creating a Two-Dimensional Lookup Table in Microsoft ExcelLast reviewed: October 16, 1995Article ID: Q76428 |
The information in this article applies to:
SUMMARYA two-dimensional lookup table is one in which the desired value depends on two different variables. The following formula finds a value in a table, based on two lookup values:
=INDEX(Data_Table,MATCH(Row_Val,Row_Headers),MATCH(Col_Val,Col_Headers))This formula works well in cases where using the Intersection operator (space) will not work (for example, when lookup values are numbers or do not match row and/or column headings exactly).
MORE INFORMATION
This variable Should be substituted with this range or value ------------------------------------------------------------- Data_Table The range containing the entire source table, including column and row headers. Row_Val The value to look up in the row headers. Row_Headers The row headers; this should be the left column of Data_Table. Col_Val The value to look up in the column headers. Col_Headers The column headers; this should be the top row of Data_Table.NOTE: Both column and row headers must be sorted in ascending order to use this formula. Note also that either the column or row headers can specify a range of values, rather than a single value. However, to specify a range, the header must use the minimum number in that column (for example, the header for a column that specifies the range 137-142 should be 137).
ExampleThe following is a two-dimensional table that displays the cost per unit of several products. The cost per unit varies, depending on the number of items ordered. Column A contains the Product Name. Row 1 contains the minimum number of items that must be purchased to obtain the purchase price in that particular column:
A1: B1: 1 C1: 10 D1: 100 A2: MS Excel B2: $395 C2: $350 D2: $300 A3: Mouse B3: $99 C3: $89 D3: $79 A4: MS Project B4: $695 C4: $610 D4: $500 A5: Word B5: $495 C5: $425 D5: $350Assume you want to find the unit price if you purchase 15 units of MS Project. If you enter "MS Project" (without the quotation marks) into cell A7 and the number 15 in cell A8, you can return the unit price by entering the following formula:
=INDEX(A1:D5,MATCH(A7,A1:A5),MATCH(A8,A1:D1))This formula returns $610.
Example 2To use the values in A8 and B8 to indicate the two values to be cross-referenced on the table
A1: B1: 1 C1: 2 D1: 3 E1: 4 F1: 5 A2: 1 B2: 1 C2: 2 D2: 3 E2: 4 F2: 5 A3: 2 B3: 2 C3: 4 D3: 6 E3: 8 F3: 10 A4: 3 B4: 3 C4: 6 D4: 9 E4: 12 F4: 15 A5: 4 B5: 4 C5: 8 D5: 12 E5: 16 F5: 20 A6: 5 B6: 5 C6: 10 D6: 15 E6: 20 F6: 25 A7: B7: C7: D7: E7: F7: A8: 4 B8: 5 C8: D8: E8: F8:use the following formula:
=INDEX(B2:F6,MATCH(A8,B1:F1,0),MATCH(B8,A2:A6,0))The result of this formula is 20. If you want to look for the largest value less than or equal to the values searched for (useful for a commission table, tax table, and so on), change the zeros in the MATCH functions to ones.
REFERENCESFor more information about the MATCH() and INDEX() functions, click the Index tab in Microsoft Excel version 7.0 Help, type the following text
lookup functionsclick Display, and then double-click the "Lookup & Reference Functions" topic to go to that topic. "Function Reference," version 4.0, pages 236-237, 267 "Microsoft Excel Function Reference," version 3.0, pages 127-128, 148
|
KBCategory: kbusage
© 1998 Microsoft Corporation. All rights reserved. Terms of Use. |