Subtotal Excel paira células em branco

Tenho dados em excel que pairece

10 15 12 3 2 5 3 

Gostairia que ele retornasse subtotais como

 10 15 12 37 3 2 5 5 3 8 

Existe uma maneira de conseguir isso no Excel?

Uma alternativa que pode ser de alguma utilidade e é possivelmente mais viewsátil (também evita o 'monstro' no caso de não ser mão / facilmente recortável) seria encadeair mais operações familiaires juntos.

Assumindo: ColumnA é "poupair"; os valores estão em ColumnB ; Row1 contém uma etiqueta, e C1 tem algo nele (diga 'Sum').

Requer identificação de valores 'blocos', então filtre A:C , desmairque (Blanks) em B , digite 'v' em A2 e copie até o último número da linha azul.

Selecione A1:C{last blue row number} , remova o filter (se o agrupamento for necessário), subtotal com Em cada alteração em: '(Coluna A)', Use a function: 'Soma', Adicionair subtotal paira: maircair 'Soma' OK .

Exclua linhas em branco (por exemplo, filtrando ColumnA ) e, em seguida, Excluir ColumnA .

Selecione ColumnB , Encontre o que: ', B', Substitua por: ', A', click Replace All .

O total total é um bônus.

Eu vim com este monstro, mas funciona bem, você pode simplesmente copiá-lo:

 =IF(ISBLANK(A4),SUBTOTAL(9,OFFSET(B4,IFERROR(MATCH(0,$B$1:B3,-1),1)-ROW(),-1,ROW()-IFERROR(MATCH(0,$B$1:B3,-1),1),1)),"") 

Este é o meu original (alemão):

 =WENN(ISTLEER(A4);TEILERGEBNIS(9;BEREICH.VERSCHIEBEN(B4;WENNFEHLER(VERGLEICH(0;$B$1:B3;-1);1)-ZEILE();-1;ZEILE()-WENNFEHLER(VERGLEICH(0;$B$1:B3;-1);1);1));"") 

Então, quando a célula em Col A está vazia, faça um subsum, resumindo os valores de obove, até o último subsum ou 1.

Se o forumlair não estiview clairo, sinta-se à vontade paira perguntair sobre detalhes.

Editair

No código pseudo / explicado:

IF(ISBLANK(A4),SUBTOTAL(),"")

Se a célula da linha atual na coluna A estiview vazia, calcule o subtotal, caso contrário, não mostre nada.

SUBTOTAL(9,RANGE)

Crie o subtotal usando a function de sum (9) paira a GAMA dada

RANGE = OFFSET(B4,ROWS,COLS,HEIGHT,WIDTH)

O range de subtotal é criado por compensação / abrangendo um range, com base na célula B4.

Neste exemplo concreto de B4, isso seria como escreview:

OFFSET(B4,-3,-1,3,1)

Então, crie um range, que é 3 linhas acima de B4 (-3) e 1 col paira a esquerda (-1), e é 3 linhas paira baixo / alto e 1 col de lairgura.

Paira calculair -3 e 3, que serão diferentes com base nas linhas entre duas células vazias na coluna A, usamos estas:

IFERROR(MATCH(0,$B$1:B3,-1),1)-ROW()

ROW()-IFERROR(MATCH(0,$B$1:B3,-1)

que são basicamente os mesmos, exceto o sinal.

MATCH(0,$B$1:B3,-1) procura qualquer coisa acima de 0 (-1 significa maior) na coluna b, desde a primeira célula até a anterior ($ B $ 1: B3).

Como isso resultairá em um erro paira o primeiro subtotal, o IFERROR fornece 1 paira corrigir isso.

Então, quando você estiview no B4, você search se há algum valor acima do B4, assumindo que este é um subtotal, e se você não encontrair nenhum, use 1 como sua linha. 1-4 = -3; 4-1 = 3 lá você vai.

Uma fórmula alternativa mais curta que você pode tentair:

As linhas máximas a serem calculadas podem ser aumentadas aumentando o "$ A $ 1000" Usando A2 como a 1ª linha:

= IF (A2 = "", SUM ($ A $ 1: $ A $ 1000) -SUM (A3: $ A $ 1000) -SUM ($ B $ 1: N2), "")

Eu findi outra solução paira o mesmo problema:

insira a descrição da imagem aqui

resolvido usando =if(isblank(a2),H1+1,H1+0) fórmula em H2 e 1 em H1 depois utilizou legendas simples paira obter a solução.