Você pode realizar isso usando as funções INDIRECT
e OFFSET
.
Para dar um exemplo, vamos supor que você tenha apenas uma coluna de cinco pontos de dados, com a primeira linha sendo o cabeçalho e a segunda linha sendo os dados. Agora você quer somar a coluna.
|| A
==||======
1 || Sale
2 || 1
3 || 2
4 || 3
5 || 4
6 || 5
e você deseja SUM
do primeiro valor até o último valor sempre. Para um conjunto fixo como o mostrado acima, você poderia fazer apenas =SUM(A2:A6)
na célula A7
.
Mas você deseja adicionar linhas ao topo. E você espera que a função seja capaz de somar da primeira linha de dados até a última linha de dados antes de onde a fórmula é usada. Portanto, você usaria INDIRECT("A2")
como o índice inicial (A2 não muda mesmo se você adicionar uma nova linha) e OFFSET(A7, -1, 0, 1, 1)
como o último índice (A7 mudará para A8 se uma nova linha for adicionada e o deslocamento vai se certificar de que você ainda está somando até uma célula acima de A8).
=SUM(INDIRECT("A2"):OFFSET(A7,-1,0,1,1))
Agora, mesmo que você adicione uma nova linha no topo, sua fórmula funcionará bem.
Espero que isso ajude.