Aprenda as maneiras corretas e mais rápidas de somar F2:F892 apenas quando o valor correspondente em G2:G892 for um número no Excel. Veja fórmulas prontas, prós e contras de cada abordagem, dicas de desempenho e armadilhas comuns.
Contexto e resumo do problema
Você já tem uma soma filtrada para casos em que G
contém o texto "Deleted"
:
=SUMIFS(F2:F892, G2:G892, "Deleted")
Agora, o objetivo é somar F2:F892
apenas nas linhas em que G2:G892
é numericamente um número (negativo, zero ou positivo). Uma tentativa comum é usar ISNUMBER()
dentro do critério do SUMIFS
, mas isso não funciona: os critérios de SUMIFS
são textos (como ">0"
, "<>Deleted"
), e não aceitam diretamente uma matriz booleana (TRUE/FALSE
).
Por que ISNUMBER
não entra em SUMIFS
?
SUMIFS
(ou SOMASES
) avalia cada critério como uma string de comparação, do tipo “>=0”, “<>texto”, “=rótulo”. Ele não interpreta resultados de funções lógicas por linha (TRUE/FALSE
) como condição. Por isso, expressões como =SUMIFS(F2:F892, G2:G892, ISNUMBER(G2:G892))
retornam erro ou zero. Se quiser testar “é número” dentro da própria condição, use comparações numéricas (ex.: “>=–9.99E+307” e “<=9.99E+307”) que forçam o Excel a admitir somente linhas onde G
é numérico.
Soluções validadas (escolha a que melhor se encaixa)
Quando a coluna G só contém “Deleted” ou números
A forma mais simples e rápida é excluir apenas o texto “Deleted”. Isso cobre todos os números (incluindo negativos e zeros), desde que não haja outros textos além de “Deleted” em G
:
=SUMIFS(F2:F892, G2:G892, "<>Deleted")
Atenção: esta fórmula também inclui células vazias em G
. Para excluir vazias, adicione um segundo critério:
=SUMIFS(F2:F892, G2:G892, "<>Deleted", G2:G892, "<>" & "")
Regiões PT‑BR/PT‑PT (separador “;”):
=SOMASES(F2:F892; G2:G892; "<>Deleted")
=SOMASES(F2:F892; G2:G892; "<>Deleted"; G2:G892; "<>" & "")
Quando usar: Cenários limpos, em que a única string possível em G
é “Deleted”.
Risco: Qualquer outro texto (p.ex. “OK”, “N/A”, “Deleted ” com espaço final) ou célula vazia será indevidamente incluído.
Verificação “é número” robusta com limites numéricos
Textos não passam em comparações numéricas. Use dois limites extremamente amplos para “prender” apenas números:
=SUMIFS(F2:F892, G2:G892, ">=-9.99E+307", G2:G892, "<=9.99E+307")
Regiões PT‑BR/PT‑PT:
=SOMASES(F2:F892; G2:G892; ">=-9,99E+307"; G2:G892; "<=9,99E+307")
Vantagens: cobre números negativos, zeros, positivos e datas (datas são números no Excel).
Observações: “números como texto” (ex.: "123"
) não são considerados; se precisar incluí‑los, converta-os para número antes (veja a seção de conversão).
Excel 365 / 2021: fórmula curta com FILTER
+ ISNUMBER
Se tiver funções dinâmicas:
=SUM(FILTER(F2:F892, ISNUMBER(G2:G892)))
Regiões PT‑BR/PT‑PT:
=SOMA(FILTRAR(F2:F892; É.NÚM(G2:G892)))
Simples e legível: filtra as linhas em que G
é número e soma F
. Textos em F
são tratados como 0
pela SOMA
.
Compatibilidade total: SUMPRODUCT
+ ISNUMBER
Funciona em praticamente todas as versões e não exige Ctrl+Shift+Enter:
=SUMPRODUCT(--ISNUMBER(G2:G892), F2:F892)
Se houver textos em F
e você quiser tratá‑los com segurança como zero:
=SUMPRODUCT(--ISNUMBER(G2:G892), N(F2:F892))
Regiões PT‑BR/PT‑PT:
=SOMARPRODUTO(--É.NÚM(G2:G892); F2:F892)
=SOMARPRODUTO(--É.NÚM(G2:G892); N(F2:F892))
Quando os números de G são sempre positivos
Se você sabe que G
só terá valores positivos (e talvez zeros), pode simplificar:
=SUMIFS(F2:F892, G2:G892, ">0")
Para incluir zeros:
=SUMIFS(F2:F892, G2:G892, ">=0")
Regiões PT‑BR/PT‑PT:
=SOMASES(F2:F892; G2:G892; ">0")
=SOMASES(F2:F892; G2:G892; ">=0")
Cuidado: esta variante ignora números negativos; não use se G
puder conter negativos.
Tabela rápida de comparação
Abordagem | Quando usar | Compatibilidade | Inclui vazios? | Observações |
---|---|---|---|---|
<>Deleted no SOMASES | Quando G tem apenas “Deleted” ou números | Ampla | Sim, a menos que adicione "<>"&"" | Qualquer outro texto entra por engano (ex.: “Deleted ” com espaço) |
Limites numéricos no SOMASES | “É número” completo (neg., zero, pos., datas) | Ampla | Não | Não inclui números como texto (“123”) |
FILTRAR + É.NÚM | Planilhas 365/2021, legibilidade | 365/2021 | Não | Curta e clara; soma ignora textos em F |
SOMARPRODUTO + É.NÚM | Maior compatibilidade sem SOMASES/365 | Todas | Não | Use N(F) se F puder ter texto |
Critério >0 ou >=0 | Quando só há positivos (e zeros) | Ampla | Não | Descarta negativos; use com cautela |
Exemplos práticos com resultados
Cenário limpo: apenas “Deleted” ou números em G
Linha | F | G |
---|---|---|
2 | 120 | 10 |
3 | 80 | Deleted |
4 | 50 | 0 |
5 | 200 | -5 |
6 | 30 | 12 |
7 | 0 | 0 |
8 | 15 | Deleted |
9 | -5 | 3 |
10 | 40 | 5 |
- Soma quando G é número (completa): 435 → use
<>Deleted
(sem vazios) ou limites numéricos. - Soma com “>0”: 185 → ignora
G=0
e negativos. - Soma com “>=0”: 235 → inclui
G=0
, ignora negativos.
Cenário realista: valores mistos em G
Linha | F | G |
---|---|---|
2 | 120 | 10 |
3 | 80 | Deleted |
4 | 50 | (vazio) |
5 | 200 | -5 |
6 | 30 | “123” (texto) |
7 | 0 | 0 |
8 | texto | 7 |
9 | 15 | Deleted (com espaço) |
10 | -5 | 3 |
11 | 40 | 15/01/2024 (data) |
12 | 60 | OK |
- Soma quando G é número (completa): 355 → use limites numéricos,
FILTRAR+É.NÚM
ouSOMARPRODUTO+É.NÚM
. - Soma com “>0” ou “>=0”: 155 → ignora
G=-5
; “>=0” não muda o total, poisF
emG=0
é 0. - Somar com “<>Deleted”: 510 → incorreto aqui, porque inclui vazios, “OK”, “123” como texto e “Deleted ” com espaço.
Dicas importantes para não errar
- Datas contam como números. Se aparecerem em
G
, serão incluídas por limites numéricos,FILTRAR+É.NÚM
eSOMARPRODUTO+É.NÚM
. - Números como texto (
"123"
) não passam emÉ.NÚM/ISNUMBER
. Converta-os para números (veja a seguir). - Espaços (no início ou fim) fazem “Deleted ” ser diferente de “Deleted”. Padronize ou use
PROCURAR/LIMPAR/ARRANCAR
em coluna auxiliar. - Separador de argumentos. Em pt‑BR/pt‑PT costuma ser
;
, em ambientes en‑US é,
. Ajuste as fórmulas conforme seu Excel. - Desempenho. Para 892 linhas, todas as opções são rápidas. Em faixas muito grandes,
SOMASES
eFILTRAR
costumam ser mais eficientes que várias camadas deSOMARPRODUTO
.
Como converter “números como texto” em G
Se G
tiver valores como "123"
, converta-os para número para que “é número” funcione:
- Colar Especial > Multiplicar: insira
1
em uma célula, copie, selecioneG2:G892
> Colar Especial > Multiplicar. - Texto para Colunas: selecione
G2:G892
> Dados > Texto para Colunas > Concluir. - Coluna auxiliar com fórmula:
=VALOR(G2)
(pt) /=VALUE(G2)
(en). Depois, copie e use “Colar Especial > Valores”. - Eliminar espaços/invisíveis:
=VALOR(SUBSTITUIR(ARRANCAR(LIMPAR(G2));" "; ""))
para tratar espaços e caracteres não imprimíveis.
Versões em português das funções
- SUMIFS →
SOMASES
- ISNUMBER →
É.NÚM
- SUMPRODUCT →
SOMARPRODUTO
- FILTER →
FILTRAR
- SUM →
SOMA
- VALUE →
VALOR
Modelos prontos de fórmulas
Excluir só “Deleted” (inclui vazios; adicione "<>"&""
para excluir):
=SUMIFS(F2:F892, G2:G892, "<>Deleted")
=SOMASES(F2:F892; G2:G892; "<>Deleted")
“É número” robusto com limites (aceita negativos, zeros, positivos e datas):
=SUMIFS(F2:F892, G2:G892, ">=-9.99E+307", G2:G892, "<=9.99E+307")
=SOMASES(F2:F892; G2:G892; ">=-9,99E+307"; G2:G892; "<=9,99E+307")
Excel 365/2021 com dinâmicas:
=SUM(FILTER(F2:F892, ISNUMBER(G2:G892)))
=SOMA(FILTRAR(F2:F892; É.NÚM(G2:G892)))
Compatível com todas as versões:
=SUMPRODUCT(--ISNUMBER(G2:G892), F2:F892)
=SOMARPRODUTO(--É.NÚM(G2:G892); F2:F892)
Tratar textos em F como 0:
=SUMPRODUCT(--ISNUMBER(G2:G892), N(F2:F892))
=SOMARPRODUTO(--É.NÚM(G2:G892); N(F2:F892))
Quando só há positivos:
=SUMIFS(F2:F892, G2:G892, ">0") // ou ">=0" para incluir zeros
=SOMASES(F2:F892; G2:G892; ">0") // ou ">=0"
Boas práticas de limpeza de dados
- Padronize rótulos: garanta que “Deleted” não tenha variações (“deleted”, “Deleted ” com espaço). Se necessário, crie uma coluna auxiliar com
=SE(ÉTEXTO(G2);ARRANCAR(MAIÚSC(G2));G2)
para normalizar. - Evite mesclar células nas colunas de critérios; mesclagens atrapalham intervalos.
- Use Tabelas do Excel (Ctrl+T): ficam mais legíveis com referências estruturadas. Ex.:
=SOMASES(Tabela1[Valores]; Tabela1[Status]; ">=-9,99E+307"; Tabela1[Status]; "<=9,99E+307")
.
Depuração e erros comuns
- Resultado zero inesperado: verifique se
G
contém números como texto. Faça um teste rápido: em uma célula,=É.NÚM(G2)
. Se retornarFALSO
, é texto. - “Deleted” com espaços:
"<>Deleted"
não exclui “Deleted ” com espaço. Limpe a coluna ou troque para um teste numérico robusto. - Erros em G (#N/D, #VALOR!): preferir
FILTRAR+É.NÚM
ouSOMARPRODUTO+É.NÚM
, poisÉ.NÚM
retorna FALSO e a soma ignora as linhas problemáticas. - Separador decimal: em locais com vírgula (9,99E+307), use vírgula na notação científica; em locais com ponto, use ponto (9.99E+307).
Versões com LET
e referências estruturadas
Para planilhas modernas, deixe a fórmula mais legível com LET
:
=LET(rF, F2:F892, rG, G2:G892, SUM(FILTER(rF, ISNUMBER(rG))))
=LET(rF; F2:F892; rG; G2:G892; SOMA(FILTRAR(rF; É.NÚM(rG))))
Em Tabela nomeada Vendas
com colunas [Valor]
e [Status]
:
=SUMIFS(Vendas[Valor], Vendas[Status], ">=-9.99E+307", Vendas[Status], "<=9.99E+307")
=SOMASES(Vendas[Valor]; Vendas[Status]; ">=-9,99E+307"; Vendas[Status]; "<=9,99E+307")
Qual opção escolher?
Escolha pelo cenário:
- Ambiente limpo (só “Deleted” ou números):
<>Deleted
(e adicione"<>"&""
para excluir vazios). - Dados mistos (vazios, textos diversos, datas): limites numéricos no
SOMASES
,FILTRAR+É.NÚM
(365/2021) ouSOMARPRODUTO+É.NÚM
. - Certamente positivos: critério
">0"
(ou">=0"
).
Resumo em uma linha
Para somar F2:F892 só quando G2:G892 é número, a opção mais robusta e compatível é:
=SOMASES(F2:F892; G2:G892; ">=-9,99E+307"; G2:G892; "<=9,99E+307")
Em Excel 365/2021, a versão mais curta é:
=SOMA(FILTRAR(F2:F892; É.NÚM(G2:G892)))
Exemplos finais em português
=SOMASES(F2:F892; G2:G892; "<>Deleted")
=SOMASES(F2:F892; G2:G892; ">=-9,99E+307"; G2:G892; "<=9,99E+307")
=SOMA(FILTRAR(F2:F892; É.NÚM(G2:G892)))
=SOMARPRODUTO(--É.NÚM(G2:G892); F2:F892)