
Eu tenho uma lista de números (8.780 valores em uma coluna - um exemplo é postado abaixo), alguns deles são <> 0 e outros são 0.
Lista de números: 0
0
0
0
0,127227198
0
0
0,229366036
0,174893344
0
0,247079364
0
0,508165499
0,380252705
0,221018177
0,703514629
0,49 853953 0,891621276 1,795142292
0 0 0 0 1,405576577 0,965799766 0,347987496 0,15944612 0,087348148 0 0
Para cada série de números adjacentes <> 0, quero resumir esses valores de células e adicionar a soma em uma célula separada na coluna B. Como posso fazer isso? Posso usar alguma combinação de uma função if na coluna B?
Como você pode ver os números <> 0 aparecem aleatoriamente, então acho que precisa de algum tipo de fórmula que verifique se a linha antes ou depois é = 0 e se a linha depois é <> 0 deve começar a somar os números acima.
Por exemplo, quero adicionar a soma dos números abaixo em uma célula.
1,405576577
0,965799766
0,347987496
0,15944612
0,087348148
Eu realmente aprecio qualquer ajuda que puder obter! Espero que isso tenha ficado mais claro :)
Responder1
Para dados originais em A1:A25
, você pode usar o seguinte:
Insira B1
a seguinte fórmula de matriz colando na barra de fórmulas e pressionando Ctrl+ Shift+ Enter:
=SUMPRODUCT((MIN(IF($A1:$A$25=0,ROW($A1:$A$25),ROW($A$26)))>ROW($A1:$A$25))*($A1:$A$25))
Esta fórmula soma os valores em A1 e abaixo que ocorrem antes do primeiro zero.
Insira B2
a fórmula de matriz semelhante com uma condição extra (também usando Ctrl+ Shift+ Enter):
=IF(A1<>0,0,SUMPRODUCT((MIN(IF($A2:$A$25=0,ROW($A2:$A$25),ROW($A$26)))>ROW($A2:$A$25))*($A2:$A$25)))
Isto tem uma condição para verificar se há uma célula diferente de zero acima na coluna A - se for diferente de zero, 0 será retornado. Caso contrário, some os valores que ocorrem antes do próximo zero.
Amostra: