Excel Training, Excel VBA Training, Excel Software Design

Excel INDIRECT Function - Microsoft Excel INDIRECT Function Tutorial

Excel INDIRECT Function - Microsoft Excel INDIRECT Function Tutorial

Microsoft Excel INDIRECT Function Tutorial

The INDIRECT Function takes a piece of text you give it and flips that text to a usable cell or range reference.

What is the Microsoft Excel INDIRECT Function?

The INDIRECT function is a computer program that you run from a worksheet cell formula. It takes a piece of text you give it and flips that text to a usable cell or range reference. You run the INDIRECT worksheet function by typing its name in a formula then followed by the information it is suppose to use. The INDIRECT worksheet function is used where you have to change the cell or range reference you are using dynamically in a formula. It has a great many uses especially in formulas that have to lookup a particular section of a worksheet (called a range) based on user choice or toggle between tables on the worksheet using a single formula. While the INDIRECT worksheet function can be used by itself alone in a formula to return a single cell value, it is more commonly nested where a range reference would normally be placed in a formula. For example, INDIRECT could be used to supply the range reference used by the SUM function, for example =SUM(INDIRECT(B2)) where B2 might contain range name or range reference to be used by SUM.


How Do You Type the INDIRECT Worksheet Function in a Formula?

Whenever you type a formula in a worksheet cell, this is called syntax or grammar. The general INDIRECT function syntax has a format like this when you type it in a worksheet cell:

=INDIRECT(ref_text, [a1])

Where ref_text and [a1] are called the function argument list. Remember, you are running a computer program at this point so the program needs information to operate and that is why there is an argument list. When you see an argument list and you see square brackets [ ] around the argument name, this means the argument is optional and you do not have to include it when typing unless you need it. So for the syntax above, you need to include one argument for the INDIRECT worksheet function when typing it in a worksheet cell formula in order for it to calculate correctly. What argument values can be used are discussed below. Remember functions expect certain things in their argument lists, if you do not put the correct information in the list they will generate an error when run.


INDIRECT Worksheet Function Argument Definitions

  • ref_text: A piece of text or a formula that generates a piece of text where the piece of text represents a cell or range reference. The piece of text can represent a traditional cell reference like A1 or A1:B10 and can also be a cell or range name. Note that the reference can include references to other worksheets and other workbooks just like traditional external links in a formula. For example, INDIRECT("Sheet1!$A$1") where the text Sheet1!$A$1 is generated by some formula like "Sheet1!$A$" and Sum(A1:A10). As seen just seen, you will be using string concatenation a lot when using the INDIRECT function.
    • If ref_text refers to a cell range outside the row limit of 1,048,576 or the column limit of 16,384 (XFD), INDIRECT returns a #REF! error.
  • a1 (Optional): A logical value (TRUE/FALSE) that specifies reference style is contained in the cell ref_text.
    • If a1 is TRUE or omitted, ref_text is interpreted as an A1 reference style.
    • If a1 is FALSE, ref_text is interpreted as an R1C1 reference style.

How Do You Run the INDIRECT Function?

Since the INDIRECT function is a computer program, it runs when you press Enter to enter the formula that contains it. If any of the arguments are wrong, the function will return an error.


What Do I Type for a INDIRECT Function Argument?

As previously stated, you generally use the INDIRECT function as part of a larger formula usually nested inside another function's syntax as one of its arguments. Since the whole purpose of using INDIRECT is to make a cell reference on the fly (dynamically), you are generally going to see the concatenation operator used a lot to build its ref_text argument. Some typical argument examples are presented below.

Cell Formula Example Explanation
= INDIRECT( B2 ) + 4 INDIRECT takes a piece of text representing a cell reference from B2 and flips it to a range that can be added to 4
=SUM( INDIRECT( "A1:A" & COUNTA( A1:A100 ) ) ) INDIRECT takes the text generated by the formula "A1:A" & COUNTA(A1:A100) and flips it to a reference that is used by SUM
=VLOOKUP( "100XY" , INDIRECT(B10) , 2, FALSE) INDIRECT takes the cell name listed in cell B10 flips it to a range reference that allow VLOOKUP to utilize that table

Additional INDIRECT Function Examples

The worksheet seen below contains some typical worksheet formulas that run the INDIRECT worksheet function. Pay close attention to the argument list and the syntax used to write the formula.

A B C
1 Range Name: USA
2 Item Price  
3 A $1.00  
4 B $2.00
5 Range Name: EUR    
6 Item Price
7 A $3.00  
8 B $5.00  
9   In the formula below, INDIRECT takes the cell text EUR from B11 and flips to the range named EUR. Then VLOOKUP uses that range to perform a table lookup for A  
10 Item A  
11 Region EUR  
12 Price =VLOOKUP( B10, INDIRECT( B11), 2, FALSE )  
Our Available Public Excel Seminars/Webinars
Microsoft Excel Seminars/Webinars
Beginning Excel Training for Business Professionals Intermediate Excel Training for Business Professionals Advanced Excel Training for Business Professionals Beginning Excel VBA Training for Business Professionals Intermediate Excel VBA Training for Business Professionals Advanced Excel VBA Training for Business Professionals Advanced Excel Training for Engineers / Scientists Beginning Excel VBA Training for Engineers / Scientists Intermediate Excel VBA Training for Engineers / Scientists Advanced Excel VBA Training for Engineers / Scientists Microsoft Excel Dashboards Training
Beginning Excel Training for Business Intermediate Excel Training for Business Advanced Excel Training for Business Beginning Microsoft Excel VBA Training for Business Intermediate Microsoft Excel VBA Training for Business Advanced Microsoft Excel VBA Training for Business Advanced Excel Training for Engineers / Scientists Beginning Excel VBA Training for Engineers / Scientists Intermediate Excel VBA Training for Engineers / Scientists Advanced Excel VBA Training for Engineers / Scientists Microsoft Excel Dashboard Training
We can also train your company onsite. For a list of all of our onsite Excel classes click here or contact us at 805.498.7162.


Site Map

Copyright © 2002-2017

EMAGENIT All Rights Reserved