=SEERRO(B2/C2;0) retorna o resultado de B2/C2, ou 0 quando esse resultado é um erro. O primeiro argumento é a fórmula que você quer; o segundo é o que mostrar no lugar de qualquer erro que ela produza. A SEERRO se chama IFERROR em inglês, e a tabela mostra a fórmula assim: =IFERROR(B2/C2,0). Você também pode digitar as fórmulas em português, com ponto e vírgula.
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Product | Revenue | Units | Plain | With IFERROR |
| 2 | Pens | $120 | 80 | $1.50 | $1.50 |
| 3 | Paper | $300 | 50 | $6.00 | $6.00 |
| 4 | Ink | $90 | 0 | #DIV/0! | $0.00 |
| 5 | Tape | $45 | 30 | $1.50 | $1.50 |
| 6 | Clips | $0 | 0 | #DIV/0! | $0.00 |
=SEERRO(B2/C2;0)Ink e Clips têm 0 unidades, então a divisão simples na coluna D mostra #DIV/0!. A coluna E mostra $0.00 para elas e o preço normal em todas as outras linhas. Digite 15 em C4 e as duas colunas mostram o preço de Ink.
Sintaxe da SEERRO
=IFERROR(value, value_if_error)
valueé a fórmula a calcular.value_if_erroré retornado quandovalueé qualquer erro: #N/D (#N/Aem inglês), #VALOR! (#VALUE!), #REF!, #DIV/0!, #NÚM! (#NUM!), #NOME? (#NAME?), #NULO! (#NULL!) e os mais novos, como #CALC!. A tabela mostra os nomes de erro em inglês.- Se
valuenão é um erro, a SEERRO retorna esse valor sem mudança.
A troca pode ser um número (0), um texto ("Not found"), um texto vazio ("") ou outra fórmula, por exemplo uma segunda busca em outra tabela: =SEERRO(PROCV(E2;A2:C6;3;FALSO);PROCV(E2;G2:I6;3;FALSO)).
SEERRO com PROCV
Uma busca retorna #N/D quando o valor não está na tabela. Envolver a busca na SEERRO mostra uma mensagem no lugar:
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Product | Category | Price | Look for | Price | |
| 2 | Apple | Fruit | $1.20 | Pear | $1.50 | |
| 3 | Pear | Fruit | $1.50 | Kiwi | Not found | |
| 4 | Carrot | Vegetable | $0.80 | Milk | $1.10 | |
| 5 | Bread | Bakery | $2.40 | |||
| 6 | Milk | Dairy | $1.10 |
=SEERRO(PROCV(E2;$A$2:$C$6;3;FALSO);"Not found")Kiwi não está na lista, então F3 diz Not found. Digite Kiwi em A4 no lugar de Carrot e F3 encontra. Com a PROCX (XLOOKUP em inglês), você não precisa da SEERRO para isso, porque o quarto argumento dela é o valor de "não encontrado": =PROCX(E2;A2:A6;C2:C6;"Not found").
SENÃODISP: pegar só o #N/D
A SENÃODISP (IFNA em inglês) funciona como a SEERRO, mas só troca o #N/D. Nas buscas, quase sempre é isso que você quer: #N/D significa "não encontrado", que é uma resposta normal, enquanto qualquer outro erro significa que a própria fórmula está errada. Nesta tabela, as fórmulas pedem a coluna 4 de uma tabela de três colunas, um erro de digitação:
| A | B | C | D | E | F | G | |
|---|---|---|---|---|---|---|---|
| 1 | Product | Category | Price | Look for | IFERROR | IFNA | |
| 2 | Apple | Fruit | 1.2 | Pear | Not found | #REF! | |
| 3 | Pear | Fruit | 1.5 | ||||
| 4 | Carrot | Vegetable | 0.8 | ||||
| 5 | Bread | Bakery | 2.4 | ||||
| 6 | Milk | Dairy | 1.1 |
=SEERRO(PROCV(E2;$A$2:$C$6;4;FALSO);"Not found")Pear está na tabela, mas F2 diz Not found: a SEERRO transformou o #REF! do número de coluna errado na mesma mensagem de um produto que falta. G2 deixa o #REF! passar, então você vê que a fórmula está quebrada. Mude o 4 para 3 em G2 e ela retorna 1.5. A SENÃODISP precisa do Excel 2013 ou posterior.
Retornar vazio em vez de um erro
Para não mostrar nada, use um texto vazio, duas aspas duplas, como troca:
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Month | Last year | This year | Growth |
| 2 | Jan | 200 | 240 | 20% |
| 3 | Feb | 0 | 150 | |
| 4 | Mar | 180 | 171 | -5% |
| 5 | Apr | 90 | ||
| 6 | May | 250 | 300 | 20% |
=SEERRO((C2-B2)/B2;"")Fevereiro e abril não tiveram vendas no ano passado, então o crescimento deles não pode ser calculado e a célula fica vazia. Os outros meses mostram 20%, menos 5% e 20%. Uma célula com "" guarda texto: a SOMA e a MÉDIA ignoram essa célula, mas =D3*2 dá #VALOR!. Se fórmulas seguintes fazem contas com a coluna, retorne 0.
Prática: busca com alternativa
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Product | Stock | Look for | Stock | ||
| 2 | Apple | 40 | Kiwi | |||
| 3 | Pear | 25 | ||||
| 4 | Carrot | 60 | ||||
| 5 | Bread | 12 | ||||
| 6 | Milk | 30 |
Sua vez: Em F2, busque o estoque do produto em E2 a partir de A2:B6, e mostre "Not found" quando ele não estiver na lista.
Por que esconder todos os erros pode esconder enganos
A SEERRO não conserta nada; ela decide o que a célula mostra. Antes de envolver uma fórmula nela:
- Descubra por que o erro acontece. Quando uma célula Units vazia causa #DIV/0!, a correção de verdade pode ser um dado que alguém precisa preencher, não um preço zero.
- Prefira a SENÃODISP nas buscas, para que um número de coluna errado (#REF!), um nome digitado errado (#NOME?) ou texto numa coluna de números (#VALOR!) continuem aparecendo.
- Nas divisões, teste o caso específico.
=SE(C2=0;0;B2/C2)trata um divisor zero e mais nada; uma referência errada em B2 continua mostrando o seu erro. A página sobre #DIV/0! compara os dois jeitos. - Escolha uma troca que não possa ser confundida com um dado. Um 0 numa coluna de preços parece um preço de verdade e baixa a média;
""ou "Not found" não.
Envolva a fórmula por último, quando ela já der o resultado certo nas linhas que deveriam funcionar.
Perguntas frequentes
Como uso a SEERRO com o PROCV?
Envolva a busca: =SEERRO(PROCV(E2;A2:C6;3;FALSO);"Not found"). Quando E2 não está na primeira coluna, a célula mostra Not found em vez de #N/D. =SENÃODISP(PROCV(E2;A2:C6;3;FALSO);"Not found") faz o mesmo e continua mostrando os outros erros.
Como faço a SEERRO retornar uma célula vazia?
Use um texto vazio como segundo argumento: =SEERRO(B2/C2;""). A célula parece vazia, mas guarda texto, então =D2+1 sobre ela dá #VALOR!; a SOMA e a MÉDIA ignoram essa célula.
Qual a diferença entre SEERRO e SENÃODISP?
A SEERRO troca qualquer erro: #N/D, #DIV/0!, #VALOR!, #REF!, #NOME?, #NÚM! e #NULO!. A SENÃODISP troca só o #N/D, o "não encontrado" das buscas, e deixa todos os outros erros aparecerem, para uma fórmula quebrada não ficar escondida.
Como troco #N/D por 0 no Excel?
Envolva a fórmula na SENÃODISP com 0 como valor: =SENÃODISP(PROCV(E2;A2:C6;3;FALSO);0). A PROCX já tem essa troca embutida como quarto argumento: =PROCX(E2;A2:A6;C2:C6;0).
Quais versões do Excel têm SEERRO e SENÃODISP?
A SEERRO existe desde o Excel 2007 e a SENÃODISP desde o Excel 2013. Em arquivos mais antigos você pode ver =SE(ÉERROS(B2/C2);0;B2/C2), que faz o mesmo trabalho da SEERRO, mas calcula a fórmula duas vezes.