Não é particularmente elegante, mas:
=SUMPRODUCT((RIGHT(A2:A7,5)="total")*1,B2:B7)
Por algum motivo você não pode usar A: A ou B: B ...
Eu tenho os seguintes dados no Excel, onde quero uma fórmula que forneça a soma de todas as linhas total :
A B
australia 10
australia total 10
china 1
china 5
china 7
china total 13
Eu tentei fórmulas ao longo das linhas de
=sumif(A:A,"search("total",A:A)>0",B:B)
mas não consigo que a condição funcione.
Qual é a maneira correta de escrever isso contém condição?
Existe também uma gramática específica para a linguagem de condições? Eu não consegui encontrar nada.
Eu encontrei uma maneira de escrever isso usando sumif
e um curinga na condição
=SUMIF(A2:A7,"*total",B2:B7)
No entanto, eu prefiro o uso de sumproduct
, pois isso me permite escrever fórmulas normais do Excel em vez de adivinhar a sintaxe da condição.
As linhas totais são realmente calculadas como totais ou são apenas dados simples importados de algum lugar junto com os valores de divisão?
Se eles são calculados, então um truque simples seria este: Não some os totais usando SUM, use SUBTOTAL (usando a opção 9 para o tipo de soma do subtotal). por exemplo, em B2 você teria = sSUBTOTAL (9, B1: B1), em B6 = SUBTOTAL (9, B3: B5) e assim por diante.
Agora você pode simplesmente usar outra função SUBTOTAL para somar toda a coluna B, e ela ignorará completamente os outros subtotais . Isso é o oposto de somar os totais, ele adiciona apenas os pontos de dados originais, mas de certa forma é mais robusto se você tivesse uma linha total incorreta devido a uma fórmula incorreta. Essa técnica funciona em todas as versões do Excel que têm a função de subtotal e é discutida brevemente aqui devido a uma alteração relacionada na barra de status no Excel 2010: A algumas descobertas rápidas do Excel 2010
A rigor, isso não é uma resposta à pergunta que foi feita, mas resolve o problema representado pelo exemplo. Dado que B2 = B1 e B6 = B3 + B4 + B5 no exemplo, podemos notar que B1 + B2 + B3 + B4 + B5 + B6 = (B1) + B2 + (B3 + B4 + B5) + B6 = B2 + B2 + B6 + B6 = 2 × (B2 + B6). Como B2 + B6 é o valor que estamos tentando obter (neste exemplo limitado), segue-se que podemos obtê-lo por SUM(B:B)/2
.