How ADDRESS works in Excel? Best ADDRESS examples

How ADDRESS works in Excel? Best ADDRESS examples

When working with Excel, sometimes I need to dynamically generate cell references based on row and column numbers. That’s where the ADDRESS function comes in handy. It helps me return a reference as text, which can then be used in other functions. In this article, I’ll break down how ADDRESS works, show different ways to use it, and provide practical examples.

What is the ADDRESS function in Excel?

The ADDRESS function in Excel generates a cell reference as a text string based on a specified row and column number. I often use it when I need to create dynamic references in my spreadsheets.

The function follows this syntax:

=ADDRESS(row_num, column_num, [abs_num], [a1], [sheet_text])

Let’s go through each argument:

  • row_num – The row number of the cell.
  • column_num – The column number of the cell.
  • [abs_num] – Optional. It defines the type of reference:
    • 1 (default) – Absolute row and column reference (e.g., $A$1).
    • 2 – Absolute row, relative column (e.g., A$1).
    • 3 – Relative row, absolute column (e.g., $A1).
    • 4 – Fully relative reference (e.g., A1).
  • [a1] – Optional. TRUE (default) returns an A1-style reference (e.g., A1), while FALSE returns an R1C1-style (e.g., R1C1).
  • [sheet_text] – Optional. Specifies the sheet name if referencing a different sheet.

Basic Usage of ADDRESS in Excel

Let’s start with simple examples to see how it works.

Example 1: Basic ADDRESS Function

If I want to find the reference to the cell in row 3, column 2 (which corresponds to B3), I can use:

=ADDRESS(3, 2)

This returns the text:

"$B$3"

Example 2: Different Reference Types

By changing the abs_num argument, I can get different types of references:

Formula Result
=ADDRESS(3, 2, 1) “$B$3”
=ADDRESS(3, 2, 2) “B$3”
=ADDRESS(3, 2, 3) “$B3”
=ADDRESS(3, 2, 4) “B3”

Combining ADDRESS with Other Functions

The power of ADDRESS lies in how I can combine it with other functions.

Example 3: Using ADDRESS with MATCH

Suppose I have a table and I want to find the row number where “Product A” appears. I can use:

=MATCH("Product A", A2:A10, 0)

This gives me the row number. If I also need the column number, I can use:

=MATCH("Price", A1:D1, 0)

Now, I can get the ADDRESS of the cell where “Product A” and “Price” intersect:

=ADDRESS(MATCH("Product A", A2:A10, 0) + 1, MATCH("Price", A1:D1, 0))

This dynamically returns the exact cell reference where “Product A” intersects with “Price”.

Using ADDRESS to Reference Other Sheets

If I need to refer to a specific sheet, I can include the sheet_text argument.

Example 4: Reference Another Sheet

To get a reference to cell B3 in a sheet named “SalesData”, I use:

=ADDRESS(3, 2, 1, TRUE, "SalesData")

This returns:

"SalesData!$B$3"

Why Use ADDRESS Instead of Direct Cell References?

I find the ADDRESS function particularly useful when:

  1. I need to store dynamic references based on calculations.
  2. I want to generate cell addresses for use in INDIRECT.
  3. I need to refer to cells across multiple sheets.

Limitations of the ADDRESS Function

Despite being useful, ADDRESS has some limitations:

  • It returns a text reference, which cannot be used directly in calculations.
  • To use it dynamically, I often need to wrap it in INDIRECT.

For example, to actually retrieve the value from an ADDRESS, I use:

=INDIRECT(ADDRESS(3, 2))

This will return the value in cell B3.

Final Thoughts

The ADDRESS function in Excel is a powerful tool for dynamically referencing cells. Whether I need absolute or relative references, work across sheets, or combine it with functions like MATCH and INDIRECT, ADDRESS helps me make my spreadsheets more flexible and automated. By understanding its syntax and using it in creative ways, I can unlock new possibilities in Excel.

 

Other interesting article:

How INDIRECT works in Excel? Best INDIRECT examples