Instruções para um exemplo, revelando as ferramentas para uma possível maneira de fazer isso.
Pegue uma folha em branco |
Digite um conjunto de números aleatórios em 5-10 células na coluna A
Em B1, digite "Sum",
em B2, digite = soma (A1: A100)
Sim, isso é fixo linhas e não se adapta, ele está lá, então você vai ver que funciona
Agora para começar a construir algo interessante
No tipo C1 "SubTotal"
No tipo C2 = subtotal (3, A1: A100)
Em D1 digite "Built-ref"
Em D2 type = CELL ("endereço", A1) & ":" & CELL ("endereço", OFFSET (A1, C2-1,0))
no tipo E1 "Sum-thru-ref"
Em E2 type = SUM (INDIRECT (D2))
Agora:
O Excel aceita "A: A" como referência / substituição para "A1: A100" acima, no Excel que é todo da coluna A. Estou usando o LibreOffice, que não o aceita.
A coluna B está lá para permitir a verificação do resultado
A célula C2 informa quantas células existem com valores nelas. Olhe para cima SUBTOTAL () para ver o que conta, existem outras opções que você pode achar muito útil.
A célula D2 contém duas chamadas para CELL () que, com o "endereço" fornecido, criará uma string que consiste em um endereço fixo para a célula de referência (também matriz no Excel?) que você fornece como segundo argumento.
Como você pode ver, há dois deles, o segundo cria uma referência usando a função OFFSET (), permitindo que um cálculo seja usado para encontrar a célula que você deseja referenciar.
Adicione as concatenações e você tem uma referência de matriz válida ...
... que então pode ser usado via INDIRECT () como na célula E2
Com isso criado, se você digitar um novo número na lista da coluna A, a referência na célula D2 será atualizada automaticamente. Esse facto será a base para todas as fórmulas em, e. uma média móvel ...
Agora, para uma média móvel (ou qualquer coisa!) - eu faria a dinâmica usada para o END da lista aqui, também para o BEGINNING da lista.
HTH
--- Untitled.csv ---
10,"sum","subtot","Built-ref","Sum-thru-ref" 9,"=SUM(A1:A100)","=SUBTOTAL(3,A1:A100)","=CELL(""address"",A1)&"":""&CELL(""address"",OFFSET(A1,C2-1,0))","=SUM(INDIRECT(D2))" 8,,,, 7,,,, 6,,,, 15,,,, 4,,,, 3,,,, 3,,,, 2,,,, 1,,,,