Existe uma rivalidade saudável no Excel entre duas abordagens para somas condicionais avançadas: o SOMASES com múltiplos critérios e o SOMARPRODUTO. As duas funções podem resolver muitos dos mesmos problemas, mas cada uma tem vantagens e limitações específicas que tornam uma mais adequada do que a outra em determinados cenários. Entender quando escolher SOMASES com duas condições e quando preferir SOMARPRODUTO é o que diferencia usuários que escrevem fórmulas funcionais de usuários que escrevem fórmulas realmente eficientes. Neste artigo iremos mostrar as diferenças práticas entre as duas abordagens e dar critérios claros para escolher a certa.
O que cada função faz de diferente
O SOMASES com duas condições usa critérios predefinidos que são avaliados diretamente contra os valores do intervalo. A função percorre os intervalos de critério linha por linha, verifica se cada linha atende a todas as condições e, quando atende, inclui o valor correspondente na soma. Os critérios são passados como argumentos explícitos — textos, números ou referências a células — e o SOMASES usa algoritmos internos otimizados para essa verificação.
O SOMARPRODUTO funciona de forma diferente: ele multiplica arrays element por element e soma os produtos resultantes. Quando você usa condições no SOMARPRODUTO, cada condição cria um array de 1s e 0s (VERDADEIRO=1, FALSO=0), e a multiplicação desses arrays age como um filtro lógico E. A soma final dos produtos é o total dos valores que passaram por todos os filtros. A diferença fundamental é que o SOMARPRODUTO aceita arrays como critérios — incluindo resultados de funções que processam cada elemento do intervalo — enquanto o SOMASES aceita apenas valores escalares ou referências a células individuais como critérios.
Para uma soma com duas condições simples como vendedor=João e região=Sul, as duas fórmulas produzem resultados idênticos. Com SOMASES: =SOMASES(D2:D100;A2:A100;”João”;B2:B100;”Sul”). Com SOMARPRODUTO: =SOMARPRODUTO(–(A2:A100=”João”)*–(B2:B100=”Sul”)*D2:D100). O resultado é o mesmo, mas o SOMASES é mais legível (os argumentos têm papéis claros) e geralmente mais rápido para esse tipo de critério simples.
Quando o SOMARPRODUTO supera o SOMASES com duas condições
O SOMARPRODUTO brilha em situações onde os critérios envolvem funções que o SOMASES não aceita diretamente. O SOMASES aceita comparações simples e curingas de texto, mas não aceita funções como MÊS(), ANO(), DIA.DA.SEMANA(), NÚM.CARACT(), ESQUERDA(), É.NÚM() como critérios. Para qualquer condição que depende do resultado de uma função aplicada a cada elemento do intervalo, o SOMARPRODUTO é a única opção.
Para somar os valores de vendas de sexta-feira (DIA.DA.SEMANA=6 com tipo 2) da região Sul: com SOMASES é impossível diretamente, porque DIA.DA.SEMANA não é aceito como critério. Com SOMARPRODUTO: =SOMARPRODUTO(–(DIA.DA.SEMANA(A2:A100;2)=5)*–(B2:B100=”Sul”)*C2:C100). O DIA.DA.SEMANA(A2:A100;2) processa cada data do intervalo e retorna um array de números do dia da semana. A comparação =5 cria um array de 1/0 (sexta-feira=1, outros dias=0). O restante funciona como no padrão SOMARPRODUTO condicional.
Outro caso onde o SOMARPRODUTO supera o SOMASES é na lógica OU. O SOMASES usa lógica E implícita entre todos os critérios — todas as condições precisam ser verdadeiras. Para lógica OU (somar quando qualquer uma das condições é verdadeira), o SOMASES não tem suporte direto. Com SOMARPRODUTO: =SOMARPRODUTO(–((A2:A100=”Sul”)+(A2:A100=”Norte”))>0)*C2:C100) soma os valores onde a região é Sul OU Norte. A alternativa com SOMASES exigiria somar dois SOMASES separados: =SOMASES(C:C;A:A;”Sul”;B:B;”João”)+SOMASES(C:C;A:A;”Norte”;B:B;”João”), que funciona mas é mais longa.
Quando o SOMASES com duas condições supera o SOMARPRODUTO
Para critérios simples com textos, números e operadores de comparação, o SOMASES é geralmente mais rápido que o SOMARPRODUTO em planilhas com grandes volumes de dados. O SOMASES usa algoritmos internos otimizados que processam mais eficientemente do que a multiplicação de arrays do SOMARPRODUTO. Em tabelas com 100.000 linhas e muitas fórmulas condicionais, a diferença de performance entre as duas abordagens pode ser perceptível.
O SOMASES com duas condições também é mais fácil de ler e manter do que o SOMARPRODUTO equivalente. =SOMASES(D:D;A:A;”João”;B:B;”Sul”) é autoexplicativo — qualquer pessoa com conhecimento básico de Excel entende que está somando D onde A é João e B é Sul. =SOMARPRODUTO(–(A2:A100=”João”)*–(B2:B100=”Sul”)*D2:D100) exige que o leitor entenda o padrão de duplo traço e multiplicação de arrays — conhecimento mais avançado. Para planilhas compartilhadas com pessoas de diferentes níveis de Excel, o SOMASES é mais inclusivo.
O SOMASES também é mais robusto a erros de edição. Se alguém editar inadvertidamente um array no SOMARPRODUTO (adicionando ou removendo um elemento), a fórmula pode retornar #VALOR! ou resultado errado silenciosamente. No SOMASES, os intervalos são claramente separados por argumentos e é mais difícil fazer uma edição acidental que quebre a lógica da fórmula sem gerar um erro visível.
A regra prática para escolher entre SOMASES e SOMARPRODUTO
A regra de uso é direta: se os critérios são comparações simples (igual a texto, maior/menor que número, data entre intervalo, curingas de texto), use SOMASES — é mais rápido, mais legível e mais fácil de manter. Se os critérios envolvem funções que retornam arrays (MÊS, DIA.DA.SEMANA, ESQUERDA, É.NÚM etc.) ou se você precisa de lógica OU entre critérios, use SOMARPRODUTO — é a única opção que aceita esses critérios avançados.
Para os casos onde você precisa combinar critérios simples com critérios avançados na mesma fórmula — por exemplo, somar os valores onde a categoria é “Alimentação” (critério simples) E a data cai em uma sexta-feira (critério avançado) — o SOMARPRODUTO é a escolha porque o SOMASES não consegue processar a condição de dia da semana: =SOMARPRODUTO(–(A2:A100=”Alimentação”)*–(DIA.DA.SEMANA(B2:B100;2)=5)*C2:C100). Quando há pelo menos um critério avançado necessário, o SOMARPRODUTO leva toda a análise para si, e o SOMASES fica reservado para fórmulas com critérios exclusivamente simples.
Um último ponto importante: as duas abordagens não são mutuamente exclusivas na mesma planilha. Use SOMASES para as análises que ele resolve com critérios simples — que são a maioria das análises cotidianas — e reserve o SOMARPRODUTO para os casos específicos onde os critérios avançados são necessários. Manter essa separação consciente entre as duas funções resulta em planilhas onde cada fórmula usa a abordagem mais adequada para o seu caso, sem a tentação de usar sempre SOMARPRODUTO “porque é mais poderoso” em situações onde o SOMASES mais simples seria suficiente e mais eficiente.
Se você curtiu esse artigo onde mostramos as diferenças entre SOMASES com duas condições e SOMARPRODUTO no Excel, compartilhe com as suas redes sociais e não se esqueça de deixar um comentário aqui embaixo caso você tenha ficado com alguma dúvida.