How to Use INDEX MATCH in Google Sheets

Last Updated : 3 Oct, 2025

Sorting through large datasets can be challenging, but combining the Google Sheets INDEX function with the Google Sheets MATCH function provides an efficient way to retrieve and locate specific data points. These two powerful tools help you create flexible formulas that dynamically reference rows and columns.

1. MATCH Function in Google Sheets

The MATCH function in Google Sheets finds the position of a specified value within a range. Instead of returning the value itself, it provides the relative position, making it an essential tool for dynamic data lookups and combining with other functions like INDEX.

How It Works

The MATCH function searches for a value in a specified range and returns its position as a number. Based on your input, it can perform exact or approximate matches. This function is ideal for identifying the location of data points or setting up dynamic lookups.

Google Sheets MATCH Function with Formula

=MATCH(search_key, range, [match_type])

Parameters

search_key:

  • The value you want to find in the range.
  • Can be a number, text, or cell reference (e.g., 50 or "Apple").

range:

  • The range of cells to search in.
  • Must be a single row or column.

match_type (optional):

Specifies the search behavior:

  • 1 (default): Finds the largest value less than or equal to the search key (requires sorted range).
  • 0: Finds an exact match.
  • -1: Finds the smallest value greater than or equal to the search key (requires sorted range in descending order).

The MATCH function is perfect for locating data positions and enhancing lookup functionality in Google Sheets.

Example

To find the position of "Cherry":

=MATCH("Cherry", A1:A5, 0)
INDEX MATCH in Google Sheets
To find the position of "Cherry":
Result: 4 (as "Cherry" is in the 4th row).

2. Google Sheets INDEX Function

The INDEX function in Google Sheets retrieves the value of a cell based on its position within a specified range. It's a versatile tool for extracting data dynamically, especially when working with large datasets or creating advanced lookup formulas.

How It Works

The INDEX function selects a specific cell within a range using its row and column numbers. Unlike basic referencing, this function allows for more flexible data retrieval, making it ideal for scenarios where the desired cell location might change based on conditions or formulas.

Google Sheets Index Function with Formula

=INDEX(reference, row, [column])

Parameters

reference:

  • The range of cells to search within (e.g., A1:C10).

row:

  • The row number within the range from which to retrieve the value.

column (optional):

  • The column number within the range from which to retrieve the value. If omitted, it defaults to the first column.

The INDEX function is a powerful way to fetch data dynamically and efficiently in Google Sheets.

Example:

To get the value in the 2nd row and 1st column

=INDEX(A1:C3, 2, 1)
INDEX MATCH in Google Sheets
Result: January

3. How to Use INDEX MATCH in Google Sheets

Learning how to use INDEX MATCH in Google Sheets can make your data lookups more flexible and efficient. Here's a step-by-step guide with a practical example.

Goal: Find the price of "Cherry" using the INDEX MATCH formula.

Step 1: Prepare Your Data

Ensure your data is organized in columns. For example:

  • Column A contains product names.
  • Column B contains prices corresponding to each product.

Enter a product name to search for in a cell (e.g., Cherry in D2).

INDEX MATCH in Google Sheets:
Prepare Your Data

Step 2: Select the Cell for the Result

  • Click on the cell where you want the result (e.g., C2).
  • This is where the formula will display the price of the product.
INDEX MATCH in Google Sheets:
Select the Cell for the Result

Step 3: Use the MATCH Formula to Find the Row

Type the following formula in C2:

=MATCH(D2, A1:A5, 0)
  • D2: The product to search for (e.g., "Cherry").
  • A1:A5: The column containing the product names.
  • 0: Specifies an exact match.
INDEX MATCH in Google Sheets
Use the MATCH Formula to Find the Row
Result: The row number where "Cherry" is found (e.g., 4).

Step 4: Combine MATCH with INDEX

Replace the MATCH formula with the INDEX MATCH combination to retrieve the price:

=INDEX(B1:B5, MATCH(D2, A1:A5, 0))
  • B1:B4: The range containing the prices.
  • MATCH(D1, A1:A4, 0): Finds the row for the product in D2.

Result: The formula retrieves the price for "Cherry" (e.g., $2).

INDEX MATCH in Google Sheets
Combine MATCH with INDEX

Step 5: Verify the Result

  • Change the product name in D1 to test the formula dynamically. For example, enter "Banana."
  • The formula will update to display the corresponding price ($1).
INDEX MATCH in Google Sheets
Verify the Result

Final Formula

The dynamic formula is:

=INDEX(B1:B5, MATCH(D2, A1:A5, 0))

By following this guide, you can use the INDEX MATCH function in Google Sheets for efficient and flexible data lookups.

Additional Tips:

Using Drag to Apply Formula:

  • If you need to apply the formula to multiple rows or columns, use the fill handle (small square at the bottom-right corner of the active cell) to drag the formula down or across.
  • This dynamically adjusts the cell references based on the rows/columns.

4. How to Handle Errors in INDEX MATCH Function

The INDEX and MATCH combination in Google Sheets is powerful, but errors can arise if the formula is not set up correctly. If you encounter issues, understanding troubleshooting INDEX MATCH in Google Sheets can help. Here are common errors and solutions:

1. #N/A Error

Cause: The MATCH function couldn’t find the lookup value in the lookup range.

How to Fix:

  • Verify the lookup value matches an entry in the range.
  • Ensure the lookup range is correct and contains the desired value.
  • For exact matches, ensure data formatting is consistent (e.g., no extra spaces).

2. #REF! Error

Cause: The INDEX function is trying to retrieve a value outside the valid range.

How to Fix:

  • Check that the row and column numbers used in INDEX fall within the range.
  • Reassess the row_num or col_num arguments in the formula.

3. #VALUE! Error

Cause: Non-numeric values are used where numbers are expected, or an argument is invalid.

How to Fix:

  • Ensure numeric values are used for row_num and col_num.
  • Verify that the lookup value and the range are compatible in data type.

4. Empty or Incorrect Results

Cause: The formula is syntactically correct but produces unexpected results.

How to Fix:

  • Double-check the ranges used in the INDEX and MATCH functions.
  • Confirm the MATCH function's match_type (0 for exact match, 1 or -1 for approximate matches).
  • Resolve duplicate values in the lookup column, if applicable.

5. Case-Sensitivity Issues

Cause: MATCH is not case-sensitive and may return incorrect results for case-dependent lookups.

How to Fix:

  • Use an array formula or a helper column for case-sensitive lookups.

General Tips:

  • Wrap with IFERROR: Use IFERROR to handle errors gracefully:
    =IFERROR(INDEX(A1:C10, MATCH("lookup_value", B1:B10, 0), 2), "Error")
  • Check Data Formatting: Consistent data formatting between the lookup value and the range is critical.
  • Validate Ranges: Ensure ranges are properly defined and include the necessary data.

By identifying and addressing these common issues, you can effectively troubleshoot and fix INDEX MATCH errors in Google Sheets.

5. INDEX MATCH vs. VLOOKUP in Google Sheets

FeatureINDEX MATCHVLOOKUP
DirectionLooks up in any direction.Left-to-right only.
Column FlexibilityAdjusts to column changes.Errors if columns are reordered.
PerformanceFaster with large datasets.Slower with large datasets.
Use CaseIdeal for dynamic, complex data.Best for simple lookups.

Also Read:


Comment