I couldn’t think of a really elegant way to do this without using VBA, but should the named range contain only numbers, you could try the following:

`={INDEX(testRange,MATCH(LARGE(testRange+ROW(testRange)/10000,ROW($C1)-ROW($C$1)+1),testRange+ROW(testRange)/10000,0),1)}`

It’s an array formula, so you need to press CTRL + SHIFT + ENTER when entering the formula. You then simply drag the formula down until it is the same size as your unsorted list.

Let me know if you are looking to sort text, as this will require a different solution that I can’t think of off the top of my head!

]]>This explanation help me a lot. I already defined the name and it updates the values with no problem. How would I keep it alphabetically sorted?

=OFFSET(DropdownData!$C$3,0,0,COUNTA(DropdownData!$C:$C)-1,1)

]]>Have you tried:

`Dim NRValue`

NRValue = ThisWorkbook.Names("<*named range*>").RefersToRange.Value

MsgBox (NRValue(1, 1))

This should work for you if your range refers to a single cell. Otherwise, it is pretty easy to modify for larger ranges.

]]>This seems much simpler than entering all these formulas. ]]>

You’re pretty awesome…thanks for the example! ]]>

I’m glad to here you had some success. An interesting thing to note is that if you do use a named range for the source data for the chart, you need to reference it by including the worksheet name as well as the named range name. For example, if the named range was “dates”, you’d need to reference this as “Sheet1!dates” if that is where the data resides.

I’ve attached the example from your earlier email here: Chart Example using OFFSET for Jen.xls.

Hope this helps.

]]>Mar 11 and 10 units; second bar: Dec 10 and 15 units; …all the way to the eighth bar (and 10th row of data): Jun 09, 45 units.

As I update data, I insert a row above row 3. So, I still need rows 3-10 to feed the chart, but now the chart would go from Jun 11, Mar 11,…Sep 10 — and the data from Jun 09 would no longer be on the chart.

Thanks for your expertise! All the best from Denver, CO, USA!

]]>The general premise is ok, but I think that the parameters may not necessarily be in the correct order. Are you trying to SUM the 8 most recent values in the column?

If that understanding is correct, the formula you have listed will only list the most recent value. Breaking down the OFFSET formula, you have:

`=OFFSET(reference, rows, cols, [height], [width])`

Having `$B$2`

, this means your starting point is the cell that has “Figure” (good place to start).

The next parameter tells OFFSET how many rows to move to reach the beginning of what you want the range to be. I’d make this simply **1** as you are always going to want the cell just beneath the heading to make a start.

You don’t want to move across any columns, so the next cell value will simply be “0”.

You want the range to be 8 cells high to capture the 8 most recent numbers, so the 4th parameter (for “height”) will be “8”.

The final parameter, for the width of the range, will be 1 (as the range is only 1 cell wide.)

Therefore, `=OFFSET($B$2,1,0,8,1)`

will define your range. Assuming you want the sum of these 8 values, you need to enter:

`=SUM(OFFSET($B$2,1,0,8,1))`

Hope this helps (sorry if I’ve misunderstood what you were after.)

P.S – The reason the formula value didn’t change was because when you inserted the row, the cell references updated (`$B$3:$B$11`

to `$B$4:$B$12`

, the count of both will always equal 9 (provided there are values in there – therefore, your value for the second parameter – # of rows to move – was always 9 – 8 = 1!))