Вы можете сделать это, используя функции INDIRECT
и OFFSET
.
Чтобы дать вам пример, давайте предположим, что у вас есть только один столбец из пяти точек данных, причем первая строка является заголовком, а вторая строка - данными. Теперь вы хотите подвести итог столбца.
|| A
==||======
1 || Sale
2 || 1
3 || 2
4 || 3
5 || 4
6 || 5
и вы хотите SUM
от первого значения до последнего значения всегда. Для фиксированного набора, подобного показанному выше, вы можете просто сделать =SUM(A2:A6)
в ячейке A7
.
Но вы хотите иметь возможность добавлять строки в начало. И вы ожидаете, что функция сможет суммировать от первой строки данных до последней строки данных непосредственно перед тем, где используется формула. Таким образом, вы бы использовали INDIRECT("A2")
в качестве начального индекса (A2 не изменяется, даже если вы добавите новую строку), а OFFSET(A7, -1, 0, 1, 1)
в качестве последнего индекса (A7 будет измените на A8, если добавлена новая строка, и смещение обеспечит суммирование до одной ячейки выше A8).
=SUM(INDIRECT("A2"):OFFSET(A7,-1,0,1,1))
Теперь, даже если вы добавите новую строку вверху, ваша формула будет работать нормально.
Надеюсь, это поможет.