In this article:

How to Use the Google Sheets INDIRECT Function [2024 Update]

The INDIRECT function in Google Sheets displays a value stored in another cell using its corresponding absolute reference. It can be combined with other Google Sheets functions. Learn more how to use this formula in Google Sheets, with a wide variety of examples and formulas shown below and a list of common errors you may encounter while using this handy formula.

Google Sheets INDIRECT Function Syntax

At its simplest, the function has the following syntax:

=INDIRECT(reference, A1_notation)

Where

reference contains the reference that you want to use. You need to enclose it in double quotes; else Google Sheets will interpret this as pointing to another cell containing the reference. 

A1_notation tells Google Sheets the syntax of the reference. This is optional and is set to TRUE by default. 

How to use The Google Sheets INDIRECT Function

The INDIRECT function can be used in conjunction with other functions to convert their output to actual reference and input the values stored in the cell being referenced. 

How to use A1 Notation and R1C1 notation in Google Sheets

Google Sheets uses two reference notation systems: A1 notation and R1C1 notation

A1 notation is the one used by default - columns are labeled using letters starting from A while rows are labeled using numbers starting from 1. The first cell of the sheet is thus marked A1. 

The R1C1 notation uses numbers for both rows marked R and columns marked C. The first cell of the sheet is thus marked R1C1.

We are more accustomed to using the A1 notation as it is the one we can easily see in Google Sheets interface: the columns are labeled in letters while the rows are labeled in numbers. However, the R1C1 notation has its own benefits, and you may find it more useful when making a dashboard for example. 

Google Sheets Indirect Function Examples

If you are someone who learns best through examples, this section will be a gold mine of examples that will help you learn how to use the INDIRECT function. 

Example 1: Reference stored inside the function

You can place the reference directly inside the INDIRECT function, enclosed in double quotes:

                                  

=INDIRECT(“reference”)

Where reference is the reference to the cell you want to call.

The Indirect function in Google Sheets example with reference inside formula

Example 2: Reference and A1 notation set to TRUE

Adding the TRUE value for the A1 notation option is optional, but you can still do so to ensure your formula works perfectly:

=INDIRECT(“reference”, TRUE)

Where reference is the reference to the cell you want to call.

The Indirect formula Google Sheets example where A1_notation is set to TRUE

Example 3: Use R1C1 notation

If you want to use R1C1 notation inside the formula, make sure to set A1_notation to FALSE:

=INDIRECT(“reference”, FALSE)

Where reference is the reference to the cell you want to call, this time in R1C1 notation. In one of the succeeding examples, you will be able to see the benefit of using R1C1 notation instead of the more common A1 notation.

The Indirect function in Google Sheets where R1C1 notation is used

Example 4: Reference stored in another cell

If you add a reference in the formula without enclosing it in double quotes, Google Sheets will read the value stored in that cell and attempt processing it as a reference:

=INDIRECT(reference_storage)

Where reference_storage is the reference to the cell where the reference you want to process using the INDIRECT function is stored.

The Indirect formula Google Sheets where reference is stored in another cell

Example 5: Reference stored in another cell has absolute reference

It is the same as Example 4 above, but the reference has dollar signs, also known as an absolute reference. Dollar signs are added to references in Google Sheets to keep the reference fixed even if the formula using it is copied to other adjacent cells.

=INDIRECT(reference_storage)

Where reference_storage is the reference to the cell where the reference you want to process using the INDIRECT function is stored.

The Indirect Google Sheets formula where reference with dollar signs is stored in another cell

Example 6: Reference stored in another cell is in R1C1 notation

It is the same formula as Example 4 above, but the reference is in R1C1 notation. You just need to set A1_notation to FALSE:

=INDIRECT(reference_storage, FALSE)

Where reference_storage is the reference to the cell where the reference you want to process using the INDIRECT function is stored.

The Indirect formula in Google Sheets, reference in R1C1 notation stored in another cell

Example 7: Column letter and row number stored in separate cells

If the column letter and the row number are stored in separate cells, you can combine them and then input it in the INDIRECT function. Use the following formula syntax:

=INDIRECT(column&row)

Where 

column is where the column letter is stored

row is where the row number is stored

The ampersand & combines the two strings together inside.

You can also use CONCATENATE:

=INDIRECT(CONCATENATE(column,row))

Where 

column is where the column letter is stored

row is where the row number is stored

The Indirect function in Google Sheets, column letter and row number stored separately

Example 8: Column and row numbers stored in separate cells

If the column number (instead of column letter) and the row number are stored in separate cells, you can combine them into R1C1 notation and then input it in the INDIRECT function. You have two ways of doing it. The formula for the first way is:

=INDIRECT(“R”&row&”C”&column)

Where 

column is where the column letter is stored

row is where the row number is stored

The ampersand & combines the strings together inside.

For the second method, you can also use CONCATENATE:

=INDIRECT(CONCATENATE(“R”,row,”C”,column))

Where 

column is where the column letter is stored

row is where the row number is stored

The Indirect function in Google Sheets, column number and row number stored separately

Example 9: Reference points to a cell in another sheet

The INDIRECT function can process references that point to another sheet. Just add the sheet name just like how you reference ranges from a different sheet, using the same formulas as shown in the previous examples:

The Indirect function in Google Sheets, reference to another sheet

Example 10: The reference itself is stored in another sheet

The INDIRECT function can also process the reference that is stored in a cell in another sheet, whether it is stored in whole or in parts. Note that to ensure the formula works well, either store the reference as a whole or consolidate it using CONCATENATE inside the INDIRECT formula:

=INDIRECT(CONCATENATE(address_to_merge))

Where address_to_merge is the set of strings to merge into an address to point to a cell. 

The Indirect formula Google Sheets where reference is stored in another sheet

Example 11: Using named ranges as references

You can use named ranges as references in your formula:

=INDIRECT(named_range)

Where named_range is the named range you want to input in double quotes or is the reference to where the named range is stored.

Since named ranges are often used to refer to entire ranges of data, the output is a range containing the data:

The Indirect formula in Google Sheets, named ranges

Finally, since named ranges are universal within the spreadsheet, you can use it to refer to the cells from other sheets without the complexity present in handling references to other sheets.

The Indirect function in Google Sheets, named ranges in other sheets

Example 12: Use range as reference

You can use ranges as references in your formula:

=INDIRECT(range)

Where range is the range you want to input in double quotes or is the reference to where the range is stored.

The Indirect formula in Google Sheets, reference is a range

You can also combine references stored separately into a range as input:

=INDIRECT(first_cell&”;”&last_cell)

Where 

first_cell is the first in the range

last_cell is the last in the range

Or combine the column letters and row numbers stored separately in this formula:

=indirect(concatenate(first_column,first_row":",last_column,last_row))

Where

first_column and last_column are in column letters

first_row and last_row are in row numbers

The syntaxes highlighted for the formulas above will work with R1C1 notation as well, but with few adjustments including setting A1_notation to FALSE

The Indirect function in Google Sheets, reference is a range stored separately

Example 13: Combine with MATCH

You can combine with the MATCH formula to create a search formula that gives you a range of results. For example, you may want a formula where you can get the range of results for a given set of bounds. This set of bounds usually comes in the form of dates:

Indirect formula Google Sheets, formula with match, get the values for range of dates

In our example above, we want to find the winning numbers from October 2 to October 5. We use the MATCH function to find the position of the bounds in the range, and then use it to set the reference to the range that will be referenced by the formula:

=INDIRECT("value_column" & MATCH(first_entry,label_range,FALSE) & ":value_column" & MATCH(last_entry,label_range,FALSE), TRUE)

where

First_entry and last_entry are for the bounds of the range you are looking for

Label_range is the range where the labels for the values are stored

Value_column is the column where the values you are looking for are stored

Example 14: Combine with ADDRESS and MATCH to find the value given column and row headers

You can combine with ADDRESS to create a search formula whose input are the column and row header:

=INDIRECT(ADDRESS(MATCH(column_label,column_label_range),MATCH(row_label,row_label_range)))

Where 

column_label is the column header you are looking for

column_label_range is where the column headers are located

row_label is the row header you are looking for

row_label_range is where the row headers are located

The Indirect formula Google Sheets with ADDRESS and MATCH formula

This is a good formula you can use to search for certain entries because it uses the column and row headers, which is the natural way for us to look for values in the tables.

Common problems with the INDIRECT Function

Here are some problems you may encounter with your formula, including a guide how you can fix them.

#REF error due to wrong notation

While the default notation used is the A1 notation, you may sometimes find the R1C1 notation useful. If you are not careful, you can get the #REF error for not setting the formula to use R1C1 notation:

Indirect formula Google Sheets, #ref! error due to wrong notation

For this error, simply add FALSE to the formula. You can check Example 3 for the steps.

#REF! due to invalid string

If the input in the string is not even a valid reference in either A1 or R1C1 notation, the formula will also throw a #REF! Error. To solve this problem, edit the function or the value in the cell that contains the reference to include the actual reference.

The Indirect function Google Sheets, #ref! error due to invalid string

Blank output due to typo in reference

If you accidentally mistyped the reference in the formula, you may get a blank output. This is because the mistyped reference may point to a cell that may actually exist in the sheet, but since it does not contain any value it produces a blank result. To solve this problem, edit the function or the value in the cell that contains the reference to include the actual reference.

The Indirect function Google Sheets, blank output due to typo in reference

#REF! error due to overwrite

If you use named ranges, chances are the size of the range referenced may overlap with the adjacent cells that already contain values. #REF! error will appear. 

Indirect formula Google Sheets, #ref! error due to overwrite

If you intend to refer to the named range, you will need to adjust your sheet or the size of the named range, plus adjusting the location of the formulas in your sheet.

We hope this article has helped you and given you a better understanding of how to use the Google Sheets INDIRECT function. You might also like our articles on how to freeze a cell in Google Sheets and how to use IMPORTHTML in google sheets.

On a side note, we also recommend reading our guide on how to set up automatic email notifications from Google Sheets and trying our bill due date tracker.

Automate repetitive tasks with Lido

Save hours on repetitive and tedious work. Lido is a new spreadsheet that connects your spreadsheets, forms, PDFs, and email inbox.

Trigger
Action
Select trigger
When a cell value in Google Sheets changes
Check Google Sheets for today's date
When a new row is added to Google Sheets
On new Google Form submission
Send me a daily reminder
On new Typeform submission
When a cell value in database changes
Check database for today's date
When a new row is added in database
When a new HubSpot customer is created
Select action
ADDCALENDAREVENT
Creates a one- or multiple-day calendar event with optional attendees
ADDHUBSPOT
Adds an object to Hubspot
ADDSLACKCHANNEL
Create a Slack channel, and optionally add a topic or members
CALLURL
Makes any HTTP request
CREATEGOOGLEDOC
Replaces [@column_name] values in a Google Doc with the corresponding table row's values
CREATEPDF
Replaces [@column_name] values in a Google Doc with the corresponding table row's values, then export it as a PDF
FETCH
Makes any HTTP request and returns the response
INSERTROWS
Inserts given array below defined values in given worksheet
SENDGMAIL
Sends an email using your Google account
SENDOUTLOOK
Sends an email using your Microsoft Outlook account
SENDSLACK
Sends a Slack message
SENDSMS
Sends an SMS message using your Twilio account
UPDATECELL
Updates cells with given values
UPDATEHUBSPOT
Updates a property of a Hubspot object
Trigger is required
Action is required
Get started