Excel: soma linhas até que uma célula tenha um determinado valor

2

Minha planilha tem custos e subcosts. Eu gostaria de totalizar os custos automaticamente. Existe uma fórmula que irá somar a coluna item_cost para todas as linhas abaixo desta até a primeira linha marcada com rollup . Algo como SUM(A13:A[first_row_with_rollup=Yes]-1)

    
por SRobert James 23.06.2014 / 02:56

2 respostas

3

Você pode usar a função MATCH(lookup_value, lookup_array, match_type) para encontrar a primeira ocorrência de um valor em uma coluna. Então você pode usar esse valor para fazer o intervalo da função soma. Algo como:

=SUM(INDIRECT(CONCATENATE("B1:B";MATCH("asd";B:B;0)-1)))

Explicação:

MATCH("asd";B:B;0) - 1 // finds the first occurrence of "asd" on B column, gets the cell above it
CONCATENATE("B1:B";$) // get the interval b1 to bn, where n is the cell found
INDIRECT($) // makes reference to the cell specified by the string "b1:bn"
SUM($) // sums the interval

Testado no Google Spreasheets, mas deve funcionar no Excel de acordo com os documentos.

    
por 23.06.2014 / 04:27
0

Eu sei que esse segmento é antigo, mas para o benefício de outras pessoas que podem procurar uma solução para esse problema, você pode tentar o seguinte:

Supondo que a coluna de números a serem somados esteja na coluna A, digamos A10:A20 .
Supondo que "Rollup" está na coluna B em cada ponto em que soma até.
Coloque a seguinte fórmula em C10 :

=SUM(OFFSET(A10,0,0,MATCH("Rollup",B10:$B$20,FALSE),1))

Observe que a última célula na sua coluna de números tem uma referência absoluta. Você pode copiar isso em C11:C20 para vê-lo em ação.

    
por 11.02.2015 / 00:04