Exceljet

Quick, clean, and to the point

Get address of named range

Excel formula: Get address of named range
Generic formula 
=ADDRESS(ROW(nr),COLUMN(nr))&":"&ADDRESS(ROW(nr)+ROWS(nr)-1,COLUMN(nr)+COLUMNS(nr)-1)
Explanation 

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. 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.

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.

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:

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

* 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.

Author 
Dave Bruns

Excel Formula Training

Formulas are the key to getting things done in Excel. In this accelerated training, you'll learn how to use formulas to manipulate text, work with dates and times, lookup values with VLOOKUP and INDEX & MATCH, count and sum with criteria, dynamically rank values, and create dynamic ranges. You'll also learn how to troubleshoot, trace errors, and fix problems. Instant access. See details here.