EDIT: Embora a fórmula anterior desnecessariamente complicada (veja esta revisão ) ainda seja útil, por exemplo, se um o fator de escala deslizante era necessário para ser aplicado às entradas, eu substituí-lo nesta resposta com a versão nova, mais simples, muito mais fácil de entender.
Aqui está uma solução não VBA que não requer linhas / colunas auxiliares ou tabelas extras:

Array:introduzaaseguintefórmulaemB3e,emseguida,preencha-aàdireita:
{=SUM(IFERROR(INDEX($2:$2,N(IF(1,COLUMN()-(COLUMN(INDEX(3:3,1):INDEX(3:3,$A$5))-1))))/$A$5,0))}
Explicação:
A versão prettificada da fórmula é a seguinte:
{=
SUM(
IFERROR(
INDEX(
($2:$2),
N(IF(1,COLUMN()-(COLUMN(INDEX(3:3,1):INDEX(3:3,$A$5))-1)))
)/$A$5,
0
)
)}
A fórmula é muito mais fácil de entender se você considerar que para n = 5, o segundo argumento do primeiro INDEX() é efetivamente equivalente a:
COLUMN()-{0,1,2,3,4}
Ele basicamente funciona gerando um array de comprimento variável (baseado em n, armazenado em A5 no meu exemplo) para acessar o n-1 anterior, mais os valores de entrada atuais.
Percorrendo a fórmula em I3 deve-se esclarecer:
-
(COLUMN(INDEX(3:3,1):INDEX(3:3,$A$5))-1)→{1,2,3,4,5}-1→{0,1,2,3,4} -
COLUMN()-{0,1,2,3,4}→{9}-{0,1,2,3,4}→{9,8,7,6,5} -
N(IF(1,{9,8,7,6,5}))→N({9,8,7,6,5})→{9,8,7,6,5} -
(INDEX($2:$2,{9,8,7,6,5})/$A$5→{100000,0,0,0,7}/5→{20000,0,0,0,1.4} -
SUM(IFERROR({20000,0,0,0,1.4},0))→20001.40
INDEX($2:$2,N(IF(1,expression))) é um hack * necessário para forçar o Excel a retornar uma matriz para expression , já que o segundo argumento de INDEX() é avaliado como um único valor por padrão. Usando apenas INDEX($2:$2,expression) em I3 levaria a
INDEX($2:$2,COLUMN()-(COLUMN(INDEX(3:3,1):INDEX(3:3,$A$5))-1)) → INDEX($2:$2,9-(COLUMN($A$3:$E$3)-1)) → INDEX($2:$2,9-(1-1)) → INDEX($2:$2,9) → 100000
desde que dentro de uma expressão retornando um único valor, COLUMN(multi-cell-range) retorna a coluna da primeira célula do intervalo.
A função IFERROR() é necessária caso a fórmula exista em uma célula próxima ao lado esquerdo da planilha, resultando no acesso ao cabeçalho da linha ou na tentativa de acessar uma célula à esquerda da coluna A .
Notas:
- A fórmula prettificada realmente funciona se inserida.
- Os parênteses em torno de
($2:$2)na versão prettified são necessários para forçar o$2:$2a permanecer em sua própria linha.
* A explicação exata do motivo pelo qual o hack funciona terá que esperar até eu descobrir por mim primeiro; -)
