How to Use INDIRECT in Excel: Simple Guide with Examples
The
INDIRECT function in Excel returns a reference specified by a text string, letting you dynamically refer to cells or ranges. Use =INDIRECT("A1") to get the value in cell A1, or build references with text to change which cell is read based on other cell values.Syntax
The INDIRECT function syntax is:
INDIRECT(ref_text, [a1])
ref_text is a text string that represents a cell or range reference.
a1 is optional; TRUE means ref_text is in A1 style (default), FALSE means R1C1 style.
excel
INDIRECT(ref_text, [a1])
Example
This example shows how INDIRECT can dynamically reference a cell based on another cell's value.
If cell B1 contains the text A2, then =INDIRECT(B1) will return the value in cell A2.
excel
A1: 10 A2: 20 B1: "A2" In cell C1, enter: =INDIRECT(B1)
Output
20
Common Pitfalls
Common mistakes with INDIRECT include:
- Using a reference text that does not exist causes a
#REF!error. - Forgetting quotes around text references inside formulas.
- Using
INDIRECTwith closed external workbooks will not work.
Example of wrong and right usage:
excel
Wrong: =INDIRECT(A1) (if A1 contains A2 without quotes, Excel treats it as a reference, not text) Right: =INDIRECT("A2") or =INDIRECT(A1) if A1 contains "A2" as text
Quick Reference
| Parameter | Description |
|---|---|
| ref_text | Text string of the cell or range reference to return |
| a1 | Optional; TRUE for A1 style (default), FALSE for R1C1 style |
Key Takeaways
INDIRECT lets you use text to create dynamic cell references in Excel.
Always put cell references as text strings or in cells formatted as text.
INDIRECT does not work with references to closed external workbooks.
Use the optional second argument to switch between A1 and R1C1 reference styles.
Errors happen if the referenced cell or range does not exist or is misspelled.