=INDEX(return_range, MATCH(lookup_value, lookup_range, 0))
| Argument | Required | Description |
|---|---|---|
| return_range (INDEX) | Required | The column or range containing the value you want to retrieve. This can be any column — to the left, right, or anywhere in your spreadsheet. This is what makes INDEX MATCH more flexible than VLOOKUP. |
| row_num (INDEX via MATCH) | Required | The row position to retrieve from return_range. You supply this by nesting MATCH here rather than typing a number. MATCH calculates the position dynamically based on your lookup value. |
| lookup_value (MATCH) | Required | The value you are searching for. MATCH looks for this in the lookup_range and returns the row number where it was found. |
| match_type (MATCH) | Optional | 0 for exact match which is what you need for IDs, codes, and names. 1 for largest value less than or equal. -1 for smallest value greater than or equal. Almost always use 0. |
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Lookup ID | Employee ID | Name | Department | Result |
| 2 | EMP-003 | EMP-001 | Alice Chen | Engineering | =INDEX(D:D,MATCH(A2,B:B,0)) |
| 3 | EMP-002 | Bob Smith | Marketing | ||
| 4 | EMP-003 | Carol Jones | Finance | Finance | |
| 5 | EMP-004 | David Kim | HR | ||
| 6 | EMP-005 | Eve Taylor | Sales | ||
| 7 | EMP-006 | Frank Brown | Engineering | ||
| 8 | EMP-007 | Grace Lee | Marketing | ||
| 9 | EMP-008 | Hank Patel | Finance | ||
| 10 | EMP-009 | Iris Wong | HR | ||
| 11 | EMP-010 | James Miller | Sales |
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Product Code | Product Name | Price | Lookup Price | Code Result |
| 2 | PRD-003 | Monitor Stand | 89.50 | 89.50 | =INDEX(A:A,MATCH(D2,C:C,0)) |
| 3 | PRD-001 | Wireless Mouse | 29.99 | ||
| 4 | PRD-002 | USB Keyboard | 45.99 | PRD-003 | |
| 5 | PRD-004 | Laptop Bag | 59.99 | ||
| 6 | PRD-005 | HDMI Cable | 12.99 | ||
| 7 | PRD-006 | Webcam HD | 79.00 | ||
| 8 | PRD-007 | Desk Lamp | 34.50 | ||
| 9 | PRD-008 | USB Hub | 27.99 | ||
| 10 | PRD-009 | Mouse Pad XL | 19.99 | ||
| 11 | PRD-010 | Headset Pro | 129.00 |
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Lookup ID | Employee ID | Salary | Result |
| 2 | EMP-999 | EMP-001 | 62000 | =IFERROR(INDEX(C:C,MATCH(A2,B:B,0)),"Not found") |
| 3 | EMP-002 | 48000 | ||
| 4 | EMP-003 | 55000 | Not found | |
| 5 | EMP-004 | 45000 | ||
| 6 | EMP-005 | 71000 | ||
| 7 | EMP-006 | 53000 | ||
| 8 | EMP-007 | 58000 | ||
| 9 | EMP-008 | 42000 | ||
| 10 | EMP-009 | 67000 | ||
| 11 | EMP-010 | 39000 |
=INDEX(A:A,MATCH(D2,C:C,0))
=INDEX(ProductNames,MATCH(A2,ProductCodes,0))
=INDEX(DeliveryDates,MATCH(B2,OrderNumbers,0))
=INDEX(HR!B:B,MATCH(A2,HR!A:A,0))
=INDEX(PriceTable[Price],MATCH(A2,PriceTable[Code],0))
=INDEX(EmployeeTable[Department],MATCH(A2,EmployeeTable[ID],0))
=INDEX(PriceMatrix,MATCH(A2,Products,0),MATCH(B2,Regions,0))
=IFERROR(INDEX(C:C,MATCH(A2,B:B,0)),"Not found")