Você cola uma fórmula no Excel, pressiona Enter e recebe um irritante erro #VALOR! em vez do texto que esperava. Na grande maioria das vezes, o culpado é um delimitador ausente. A função procurou um caractere que não estava lá e toda a fórmula falhou. Veja como resolver isso de forma limpa.
Por Que o Erro Acontece
Funções de texto do Excel como TEXTBEFORE e TEXTAFTER funcionam encontrando um delimitador específico em uma string. Se esse delimitador não existir na célula, elas retornam um erro #VALOR! por padrão. Esse é um comportamento completamente esperado, não um bug.
O problema é que dados do mundo real são bagunçados. Nem toda linha na sua planilha vai seguir o mesmo formato, e uma única vírgula ou hífen ausente pode quebrar uma fórmula aplicada a centenas de linhas.
A Solução Rápida: SEERRO
A maneira mais rápida de lidar com isso é envolver sua fórmula com SEERRO. Essa função captura qualquer erro que uma fórmula retorne e substitui por um valor que você escolher.
A sintaxe básica é assim:
Dica: Use =SEERRO(TEXTBEFORE(A1, "-"), A1) para retornar o valor original da célula quando nenhum delimitador for encontrado. Dessa forma, seus dados permanecem intactos em vez de exibir um erro.
Se preferir retornar uma string vazia, basta usar =SEERRO(TEXTBEFORE(A1, "-"), ""). Isso mantém sua planilha limpa se você não precisar de um valor de fallback.
Cenários de Erro do TEXTBEFORE
A função TEXTBEFORE é poderosa, mas rigorosa. Ela gera um erro #VALOR! em algumas situações específicas que vale a pena conhecer.
- A string do delimitador não é encontrada em nenhum lugar da célula.
- Você especifica um número de instância maior do que o número de vezes que o delimitador aparece.
- A célula está vazia e você está procurando um delimitador não vazio.
- Você passa um intervalo em vez de uma única célula (em versões mais antigas do Excel).
SEERRO lida com todos esses casos de uma vez só, e é por isso que é a correção de fórmula preferida pela maioria das pessoas.
Comparação de Comportamento: TEXTBEFORE vs SEERRO
| Fórmula | Delimitador Encontrado | Delimitador Ausente |
|---|---|---|
| TEXTBEFORE sozinho | Retorna o texto antes do delimitador | Erro #VALOR! |
| SEERRO + TEXTBEFORE | Retorna o texto antes do delimitador | Retorna seu valor de fallback |
| TEXTBEFORE com argumento if_not_found | Retorna o texto antes do delimitador | Retorna o fallback especificado (Excel 365) |
O Argumento de Fallback Integrado (Excel 365)
Se você usa o Microsoft 365, o TEXTBEFORE na verdade tem um argumento integrado para lidar com delimitadores ausentes. O quarto argumento, if_not_found, permite pular o SEERRO completamente.
Por exemplo: =TEXTBEFORE(A1, "-", 1, 0, 1, "nenhum") retorna "nenhum" quando o hífen não é encontrado. É uma abordagem mais limpa se você pode contar com a versão mais recente do Excel.
Atenção: O argumento if_not_found no TEXTBEFORE está disponível apenas no Excel 365 e Excel 2024. Se você compartilhar seu arquivo com alguém em uma versão mais antiga, essa pessoa ainda verá o erro. SEERRO é mais seguro para pastas de trabalho compartilhadas.
Verificando os Dados Antes de Chegarem ao Excel
Às vezes, a jogada mais inteligente é corrigir seus dados antes que eles cheguem às suas fórmulas. Se você está trabalhando com arquivos exportados que têm delimitadores inconsistentes, uma limpeza rápida economiza muitas dores de cabeça depois.
Você pode usar um conversor de delimitadores online para padronizar os delimitadores do seu arquivo antes de importar. Dessa forma, cada linha usa o mesmo separador e suas fórmulas não precisam compensar inconsistências.
Erros Comuns a Evitar
- Usar SEERRO para esconder erros reais que você deveria corrigir nos seus dados.
- Esquecer que o TEXTBEFORE diferencia maiúsculas de minúsculas por padrão.
- Aninhar muitas funções SEERRO em vez de limpar os dados de origem.
- Assumir que todas as linhas têm a mesma estrutura quando não têm.
Pontos-Chave
- TEXTBEFORE e funções similares retornam #VALOR! quando o delimitador não é encontrado na célula.
- Envolver sua fórmula com SEERRO é a correção mais rápida e compatível.
- Usuários do Excel 365 podem usar o argumento integrado
if_not_foundno TEXTBEFORE para fórmulas mais limpas. - Limpar delimitadores inconsistentes antes da importação reduz a necessidade de tratamento de erros logo de início.
- SEERRO é melhor para pastas de trabalho compartilhadas, pois funciona em todas as versões modernas do Excel.
Corrija os Dados, Não Apenas a Fórmula
O tratamento de erros em fórmulas é útil, mas é um paliativo. Se seus dados consistentemente não possuem os delimitadores que suas fórmulas esperam, isso é um sinal de que os próprios dados precisam de atenção. Um pouco de preparação no início, seja usando um conversor de delimitadores ou limpando seu CSV antes da importação, significa menos gambiarras em fórmulas depois.
Uma vez que seus dados estejam consistentes, suas fórmulas permanecem simples e suas planilhas permanecem rápidas. Esse é um resultado melhor do que uma cadeia profundamente aninhada de SEERRO que ninguém vai querer depurar daqui a seis meses.