Fórmula do Excel para recolher linhas adjacentes com uma soma

0

Eu tenho uma planilha com valores como:

blah   1    12
       2    12
       3    12
foo    1     6
bar    1     2
foo    1     6
       2     5

Os números na coluna do meio variam de 1 a 8; os números na coluna da direita variam de 1 a 12. A coluna do meio está sempre em ordem, sem intervalos, mas pode redefinir novamente para 1 após qualquer valor. A coluna da esquerda tem sempre um valor não em branco (mas não necessariamente único) numa linha 1 e um valor em branco numa linha > 1. Os valores das linhas > 1 são normalmente iguais aos da linha 1, mas nem sempre (e não pretendo assumir que sejam).

Gostaria de adicionar uma nova coluna com uma única fórmula que, para cada linha:

  • se o primeiro número for 1, some todos os segundos números até, mas não incluindo a próxima linha com 1.
  • se o primeiro número for qualquer outra coisa, então imprima 0.

ie. a saída necessária para os dados acima é:

36
 0
 0
 6
 2
11
 0

Se for mais fácil, a soma poderá aparecer na linha com o número mais alto de cada subgrupo em vez da linha 1 (embora eu definitivamente prefira na linha 1). Mas as relações de linha precisam ser mantidas - não podem produzir apenas 4 linhas.

Alternativamente, a decisão de agrupamento poderia ser baseada na coluna branco / não-branco em vez da coluna de contagem; novamente, se é mais fácil.

    
por Miral 06.06.2014 / 08:16

1 resposta

1

Assumindo que a tabela que você forneceu está em A1: C7, em D1 e copie:

=IF(B1=1,SUM(C1:INDEX(C1:C$1000,IFERROR(MATCH(TRUE,INDEX(B2:B$1000=1,,),0),MATCH(10^10,C:C)))),0)

Ajuste o 1000 para um número de linha suficientemente maior, se necessário.

Note que esta solução assume que os valores na coluna C são numéricos e não, e. números armazenados como texto.

    
por 06.06.2014 / 12:35