A family of Microsoft spreadsheet software with tools for analyzing, charting, and communicating data.
Interestingly, I'm having some trouble refreshing a sample data pivot table... but that isn't your question :)
In the column of your pivot table row headers, if you have a totals row, use something like:
=MATCH("Grand Total",D:D,FALSE)
to get the last row with data.
The top of your pivot always starts in the same place, so subtract the fixed number of rows until your data starts (and do this in an empty cell to make sure it matches the number of rows you expect)
=MATCH("Grand Total",D:D,FALSE)-4
Then make a named range that uses offset from that first cell, something like
=OFFSET(D4,0,0,G2,1) where G2 is the formula above- you can just embed it all in the named range if you include the sheet reference, like
OFFSET(D3,0,0,MATCH("Grand Total",Sheet1!D:D,FALSE)-4,1)
This assumes that you don't have blank rows in your cell range, as they would also show up in your DV list
The info above may not have perfect syntax, but should get you pointed in the right direction. When I manually refreshed my sample pivot, the offset range expanded/diminished when the number of items changed