Excel Office

Excel How Tos, Tutorials, Tips & Tricks, Shortcuts

How to get address of named range in Excel

To get the full address of a named range with an Excel formula, you can use the ADDRESS function together with the ROW and COLUMN functions.

Formula

=ADDRESS(ROW(nr),COLUMN(nr))&":
"&ADDRESS(ROW(nr)+ROWS(nr)-1,
COLUMN(nr)+COLUMNS(nr)-1)

Explanation

In the example shown, the formula in G5 is:

=ADDRESS(ROW(data),COLUMN(data),4)
&":"&ADDRESS(ROW(data)+ROWS
(data)-1,COLUMN(data)+COLUMNS(data)-1,4)

where “data” is the named range B5:D10

How this formula works

The core of this formula is the ADDRESS function, which is used to return a cell address based on a given row and column. Unfortunately, the formula gets somewhat complicated because we need to use ADDRESS twice: once to get address of the first cell in the range, and once to get the address of the last cell in the range. The two results are joined with concatenation and the range operator (:) and the full range is returned as text.

Also See:   How to use Excel ADDRESS Function

To get the first cell in the range, we use this expression:

=ADDRESS(ROW(data),COLUMN(data))

ROW returns the first row number associated with the range, 5*.

COLUMN returns the first column number associated with the range, 2.

With abs_num set to 4 (relative), ADDRESS returns the text “B5”.

=ADDRESS(5,2,4) // returns "B5"

To get the last cell in the range, we use this expression:

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

See this page for a detailed explanation.

Also See:   How To Skip Blanks Using Paste in Excel

Essentially, we follow the same idea as above, adding simple math to calculate the last row and last column of the range, which are fed as before into ADDRESS with abs_num set to 4. This reduces to the following expression, which returns the text “D10”:

=ADDRESS(10,4,4) // returns "D10"

Both results are concatenated with a colon to get a final range address as text:

="B5"&":"&"D10"
="B5:D10

Named range from another cell

To get an address for a named range in another cell, you’ll need to use the INDIRECT function. For example, to get the address of a name in A1, you would use:

=ADDRESS(ROW(INDIRECT(A1)),COLUMN(INDIRECT
(A1)))&":"&ADDRESS(ROW(INDIRECT(A1))+ROWS
(INDIRECT(A1))-1,COLUMN(INDIRECT(A1))
+COLUMNS(INDIRECT(A1))-1)

Set abs_num to 4 inside ADDRESS to get a relative address.

Also See:   How to get relative column numbers in a range in Excel

* Actually, in all cases where we use ROW and COLUMN with a multi-cell named range, we’ll get back an array of numbers instead of a single value. However, since we aren’t using an array formula, processing is limited to the first item in these arrays.

Leave a Reply

Your email address will not be published. Required fields are marked *