In this Article

*This tutorial demonstrates how to use the Excel ADDRESS Function in Excel to return a cell address as text.*

## ADDRESS Function Overview

The ADDRESS Function Returns a cell address as text.

To use the ADDRESS Excel Worksheet Function, select a cell and type:

(Notice how the formula inputs appear)

### ADDRESS function Syntax and inputs:

=ADDRESS(row_num,column_num,abs_num,C1,sheet_text)

**row_num** – The row number for the reference. Example: 5 for row 5.

**col_num** – The column number for the reference. Example: 5 for Column E. You can not enter “E” for column E

**abs_num** – [optional] A number representing if the reference should have absolute or relative row/column references. 1 for absolute. 2 for absolute row/relative column. 3 for relative row/absolute column. 4 for relative.

**a1** – [optional]. A number indicating whether to use standard (A1) cell reference format or R1C1 format. 1/TRUE for Standard (Default). 0/FALSE for R1C1.

**sheet_text** – [optional] The name of the worksheet to use. Defaults to current sheet.

**What is the ADDRESS function?**

The ADDRESS function is a bit of a unique function. Most of the time in a spreadsheet, we tell the computer a cell reference and it gives us the value from that cell. With the ADDRESS, we’re going to instead build the name of a cell. This address can be relative or absolute, in A1 or R1C1 style, and may or may not include the sheet name. For the most part, this function doesn’t have many practical uses, but it can be a fun one to learn about. When it is used, it’s usually in combination with other functions as we’ll see below.

**Basic Example**

Let’s say that we want to build a reference to the cell in 4^{th} column and 1^{st} row, aka cell D1. We can use the layout pictured here:

Our formula in A3 is simply

=ADDRESS(B1, B2)

Note that by not stating a specific argument for relative/absolute, we got all absolute. We also got the default style of A1-type referencing w/ no sheet name.

**Combined with INDIRECT**

As we said, the ADDRESS function by itself didn’t really give us anything useful. We could combine it with the INDIRECT function though to get some functionality. Consider this layout, where we have a list of items in column D. If we kept the same formula as before, we’ll generate a reference to D1 like so

=ADDRESS(B1, B2) =$D$1

By putting the address function inside an INDIRECT function, we’ll be able to use the generated cell reference and use it in a practical way. The INDIRECT will take the reference of “$D$1” and use it to fetch the value from that cell.

=INDIRECT(ADDRESS(B1, B2) =INDIRECT($D$1) ="Apple"

*Note*: While the above gives a good example of making the ADDRESS function useful, it’s not a good formula to use normally. It required two functions, and because of the INDIRECT it will be volatile in nature. A better alternative would have been to use INDEX like this: =INDEX(1:1048576, B1, B2)

<link to INDEX article>

**Address of specific value**

Sometimes when you have a large list of items, you need to be able to know where in the list an item is found. Consider this table of scores from students. We’ve gone ahead and calculated the min, median, and max values of these scores in cells E2:G2.

We could filter our table for each of these items to find where it is (again, imagine this is a much larger list), or we could even apply a conditional formatting so that it visually pops to the user. But, if the list is thousands of rows, we don’t want to have to scroll that far to see what we want. Instead, we’ll use the values in E2:G2 to determine the address of the cells containing our values. To do this, we’ll use the MATCH function with ADDRESS. Remember that MATCH will return the relative position of a value within a range.

Our formula in E3 then is:

=ADDRESS(MATCH(E2, $B:$B, 0), 2)

We can copy this same formula across to G3, and only the E2 reference will change since it’s the only relative reference. Looking back at E3, the MATCH function was able to find the value of 98 in the 5^{th} row of column B. Our ADDRESS function then used this to build the full address of “$B$5”.

**Translate column letters from numbers**

Up to this point, all our examples have been letting the ADDRESS function return an absolute reference. This next example will return a relative reference. In this table, we are wanting to input a number in column A and return the corresponding column letter name.

To accomplish our goal, we’ll have the ADDRESS function return a reference on row 1 in relative format, and then we’ll remove the “1” from the text string so that we just have the letter(s) left. Consider in our table row 3, where our input is 13. Our formula in B3 is

=SUBSTITUTE(ADDRESS(1, A3, 4), "1", "")

Note that we’ve given the 3^{rd} argument within the ADDRESS function, which controls the relative vs. absolute referencing. The ADDRESS function will output “M1”, and then the SUBSTITUTE function removes the “1” so that we are left with just the “M”.

**Find the address of Named Ranges**

In Excel, you can name range or ranges of cells, allowing you to simply refer to the named range instead of the cell reference.

Most named ranges are static, meaning they always refer to the same range. However, you can also create dynamic named ranges that change in size based on some formula(s).

With a dynamic named range, you might need to know the exact address that your named range is pointing to. We can do this with the ADDRESS Function.

In this example, we’ll look at how to define the address for our named range called “Grades”.

Let’s bring back our table from before:

To get the address of a range, you need to know the top left cell and the bottom left cell. The first part is easy enough to accomplish with the help of the ROW and COLUMN function. Our formula in E1 can be

=ADDRESS(ROW(Grades), COLUMN(Grades))

The ROW function will return the row of the first cell in our range (which will be 1), and the COLUMN will do the same similarly for the column (also 1).

To get the bottom right cell, we’ll use the ROWS and COLUMNS function. Since we can figure out the starting point of our range, if we calculate how tall the range is and subtract our starting point, we’ll get the correct end point. The formula for this looks like

=ADDRESS(ROWS(Grades)-ROW(Grades)+1, COLUMNS(Grades)-COLUMN(Grades)+1)

Finally, to put it all together into a single string, we can simply concatenate the values together with a colon in the middle. Formula in E3 can be

=E1 & ":" & E2

*Note*: While we were able to determine the address, of the range, our ADDRESS function determined whether to list the references as relative or absolute. Your dynamic ranges will have relative references that this technique won’t pick up.

*2 ^{nd} Note: *This technique only works on a continuous names range. If you had a named range that was defined as something like this formula

=A1:B2, A5:B6

then the technique above would result in errors.

## Additional Notes

Use the ADDRESS Function to generate an address from a given row and column number. **Important**: You must enter the column **number**. Entering the column letter will generate an error. If needed, you can use the Column Function to calculate the column number for a cell reference.

Abs_num allows you to toggle the absolute and relative cell references.

<> 1,2,3,4 a1, $a$2… relative/absolute etc…

Then indicate whether to use a1 or R1C1. a1 mode is the standard mode where cells are referenced by their column letter & row number (ex. a4). R1C1 mode is where cells are referenced by their row and column numbers (ex. R4C1). a1 is the default mode. Use this unless you have a good reason not to.

In the last arguement you can enter a sheet name if the cell reference will be on another worksheet. Type the sheet name surrounded by paranthesis (ex “sheet3”).

Return to the List of all Functions in Excel

## ADDRESS** function in Google Sheets**

The ADDRESS function works exactly the same in Google Sheets as in Excel.