Dynamic Excel Named List Grows Automatically

Dynamic Excel Named List

You can quickly create a named range in Excel, but it doesn’t automatically expand to include new items that are added at the end of the list.

However, a dynamic Excel named list grows automatically, so here’s how to create that type of list.

static list doesn't automatically expand to include new items
static list doesn’t automatically expand to include new items

Create a Dynamic Named Range

If you plan to add new items to a list, create a dynamic named range, by using an OFFSET formula.

Here are the steps:

  • On the Ribbon, click the Formulas tab
  • Click Define Name
  • Type a one-word name for the range, e.g. PriceListDynamic
  • Leave the Scope set to Workbook.

Add the Formula

Next, in the Refers To box, enter an Offset formula that defines the range size, based on the number of product names in column B

In this example, the following OFFSET formula is entered in the Refers to box:

=OFFSET(Prices!$B$1,1,0,COUNTA(Prices!$B:$B)-1,2)

How It Works

Here’s how the OFFSET formula works:

  • Using cell B1 as the reference cell, the list will start 1 row down, and 0 columns to the right.
  • It counts all the items entered in column B, and subtracts 1, because the list won’t include the heading in B1.
  • The list will be 2 columns wide.

namedynamic02

Then, as new items are added to the list, the dynamic named range will automatically expand to include them.

Video: Dynamic Excel Named List

To see the steps for creating a quick named range and a dynamic named ranged, you can watch this video tutorial.

_______________

41 thoughts on “Dynamic Excel Named List Grows Automatically”

  1. Hi Debra,
    Thanks for all your insight, it has helped me a ton. Here is my challenge:
    I have many dynamic named ranges in a sheet; call each one a section. Each section/range is over columns A thru E. I’ve created a check box for each section/range, and if the check box is checked it shows the section/range, and unchecked Hides the range.
    Using the offset and counta I can define each section as a range.
    The problem is if I insert a row into any section/range, it pushes the last row of the section/range out of the section/range…
    So what I need to do is define the start and end of each section/range, and allow that section/range to grow from the middle.
    Both of these 2 lines (2 different options) will define my 1st section/range; but they don’t grow from the middle:
    =OFFSET(‘RRC 2’!$A$4,1,0,COUNTA(‘RRC 2’!$A$4:$A$16)-1)
    =OFFSET(‘RRC 2’!$A$4,1,0,COUNTA(‘RRC 2’!$A:$A)-41)
    Please advise.
    Thank YOU!
    GJ

    1. Hi Debra,
      I just realized that each section has blank and populated cells, and if that number changes (a current blank cell gets data), then the range is thrown off as well.
      So I am now more confused…
      Is there a way to define the dynamic range that grows from the middle regardless if a row/column has data or not?
      Thanks Again,
      GJ

  2. Is it possible to have the range of columns to be updated automatically as well, instead of fixed number (2 in this case)?

  3. This is not working for one sheet and is working for another. On the sheet it doesn’t work the print range is based on the equation (correctly), but the range is not dynamic and gets converted to a strictly set notation (precisely, =OFFSET(PKG_num_Pass,-1,0,MAX(OFFSET(PKG_num_Pass,1,0,500,1))+4,16) is converted to =’Passivation Log’!$C$2:$R$7). Does anyone know why this may be happening?

  4. Love the youtube video explaining this, but I have an issue. I’ve created a dynamic named range in my worksheet, and several cells reference the dynamic named range using the following formula:

    SUMPRODUCT(SUMIF(INDIRECT(“‘”&MonthsDynamic&”‘!d9:d101”),$D8,INDIRECT(“‘”&MonthsDynamic&”‘!f9:f101”)))

    The purpose of the formula above is to look at any worksheet that has a name that matches a name in the named range, and return the value that matches the criteria in cell D8 (or the appropriate cell).

    Only one (1) of the cells will return a value even though the majority of them should. Any idea what I may be doing wrong?
    And the entire purpose of my workbook is a check register with tabs named for each month, and each month I would add the new month to the dynamic named range

  5. Hi
    I want to create dynamic list for each row.
    Eg. Accout 1 has 5 Contract , Account 2 has 3 Contract Account4 Has 7 contract and so on…

    Need to give drop down box on each row for account and based on account selection contract should be selected.
    Please can somebody help

Leave a Reply

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

This site uses Akismet to reduce spam. Learn how your comment data is processed.