Este tutorial demonstra como usar a função IFERROR do Excel para capturar erros de fórmula, substituindo-os por outra fórmula, valor em branco, 0 ou uma mensagem personalizada.
Visão geral da função IFERROR
A função IFERROR verifica se uma fórmula resulta em um erro. Se FALSE, retorna o resultado original da fórmula. Se TRUE, retorna outro valor especificado.
Para usar a função de planilha do IFERROR Excel, selecione uma célula e digite:
(Observe como as entradas da fórmula aparecem)
Sintaxe e entradas da função IFERROR:
= IFERROR (VALUE, value_if_error)
valor - Uma expressão. Exemplo: 4 / A1
value_if_error - Valor ou cálculo a ser executado se a entrada anterior resultar em erro. Exemplo 0 ou “” (em branco)
O que é a função IFERROR?
A função IFERROR se enquadra na categoria de funções lógicas no Microsoft Excel, que inclui ISNA, ISERROR e ISERR. Todas essas funções ajudam a detectar e tratar erros de fórmula.
IFERROR permite que você execute um cálculo. Se o cálculo não resultar em um erro, o resultado do cálculo será exibido. Se o cálculo faz resultar em um erro, então outro cálculo é executado (ou um valor estático como 0, em branco ou algum texto é gerado).
Quando você usaria a função IFERROR?
- Ao dividir números para evitar erros causados pela divisão por 0
- Ao realizar pesquisas para evitar erros se o valor não for encontrado.
- Quando você deseja realizar outro cálculo se o primeiro resultar em um erro (por exemplo, pesquisar um valor em um 2WL tabela se não for encontrada na primeira tabela)
Erros de fórmula não tratados podem causar erros em sua pasta de trabalho, mas erros visíveis também tornam sua planilha menos visivelmente atraente.
Se o erro for 0
Vejamos um exemplo básico. Abaixo você está dividindo dois números. Se você tentar dividir por zero, receberá um erro:
Em vez disso, insira o cálculo na função IFERROR e se você dividir por zero, um 0 é gerado em vez de um erro:
= IFERROR (A2 / B2,0)
Se o erro for em branco
Em vez de definir os erros como 0, você pode defini-los como ‘em branco’ com aspas duplas (“”):
= IFERROR (A2 / B2, "")
Veremos mais usos do IFERROR com a função VLOOKUP …
IFERROR com VLOOKUP
Funções de pesquisa como VLOOKUP irão gerar erros se o valor de pesquisa não for encontrado. Conforme mostrado acima, você pode usar a função IFERROR para substituir erros por espaços em branco (“”) ou 0s:
= IFERROR (VLOOKUP (A2, LookupTable1! $ A $ 2: $ B $ 4,2, FALSE), "não encontrado")
Se houver erro, faça outra coisa
A função IFERROR também pode ser usada para realizar um 2º cálculo se o 1º cálculo resultar em um erro:
= IFERROR (VLOOKUP (A2, LookupTable1! $ A $ 2: $ B $ 4,2, FALSE), VLOOKUP (A2, LookupTable2! $ A $ 2: $ B $ 4,2, FALSE))
Aqui, se os dados não forem encontrados em ‘LookupTable1’, uma VLOOKUP será realizada em ‘LookupTable2’.
Mais exemplos de fórmulas IFERROR
IFERROR aninhado - VLOOKUP várias planilhas
Você pode aninhar um IFERROR dentro de outro IFERROR para realizar 3 cálculos separados. Aqui, usaremos dois IFERRORs para realizar VLOOKUPs em 3 planilhas separadas:
= IFERROR (VLOOKUP (A2, LookupTable1! $ A $ 2: $ B $ 4,2, FALSE), IFERROR (VLOOKUP (A2, LookupTable2! $ A $ 2: $ B $ 4,2, FALSE), VLOOKUP (A2, LookupTable3! $ A $ 2: $ B $ 4,2, FALSO)))
Índice / Correspondência e XLOOKUP
Obviamente, IFERROR também funcionará com as fórmulas Index / Match e XLOOKUP.
IFERROR XLOOKUP
A função XLOOKUP é uma versão avançada da função VLOOKUP.
= IFERROR (XLOOKUP (A2, LookupTable1! $ A $ 2: $ A $ 4, LookupTable1! $ B $ 2: $ B $ 4), "Não encontrado")
ÍNDICE DE IFERROR / CORRESPONDÊNCIA
INDEX e MATCH podem ser usados para criar VLOOKUPs mais poderosos (semelhante ao funcionamento da nova função XLOOKUP) no Excel.
= IFERROR (INDEX (LookupTable1! $ B $ 2: $ B $ 4, MATCH (A3, LookupTable1! $ A $ 2: $ A $ 4,0)), "Não encontrado")
IFERROR em matrizes
As fórmulas de matriz no Excel são usadas para realizar vários cálculos por meio de uma única fórmula. Suponhamos que haja três colunas de ano, vendas e preço médio. Você pode descobrir a quantidade total com a seguinte fórmula na coluna E.
{= SUM ($ B $ 2: $ B $ 4 / $ C $ 2: $ C $ 4)}
A fórmula funciona bem até tentar dividir por zero, resultando no erro # DIV / 0! erro.
Você pode usar a função IFERROR assim para resolver o erro:
{= SUM (IFERROR ($ B $ 2: $ B $ 4 / $ C $ 2: $ C $ 4,0))}
Observe que a função IFERROR deve ser aninhada dentro da função SUM, caso contrário, o IFERROR será aplicado à soma total e não a cada item individual na matriz.
IFNA vs. IFERROR
A função IFNA funciona exatamente da mesma forma que a função IFERROR, exceto que a função IFNA só detectará erros # N / A. Isso é extremamente útil ao trabalhar com funções de pesquisa: erros regulares de fórmula ainda serão detectados, mas nenhum erro aparecerá se o valor de pesquisa não for encontrado.
= IFNA (VLOOKUP (A2, LookupTable1! $ A $ 2: $ B $ 4,2, FALSE), "Não encontrado")
Se ISERROR
Se você ainda estiver usando o Microsoft Excel 2003 ou uma versão anterior, poderá substituir IFERROR por uma combinação de IF e ISERROR. Aqui está um breve exemplo:
= SE (ISERROR (A2 / B2), 0, A2 / B2)
IFERROR no Planilhas Google
A função IFERROR funciona exatamente da mesma forma no Planilhas Google e no Excel:
Exemplos IFERROR em VBA
O VBA não tem uma função IFERROR embutida, mas você também pode acessar a função IFERROR do Excel de dentro do VBA:
Dim n enquanto n = Application.WorksheetFunction.IfError (Value, value_if_error)
Application.WorksheetFunction oferece acesso a muitas (não todas) funções do Excel no VBA.
Normalmente IFERROR é usado ao ler valores de células. Se uma célula contiver um erro, o VBA pode lançar uma mensagem de erro ao tentar processar o valor da célula. Tente fazer isso com o código de exemplo abaixo (em que a célula B2 contém um erro):
Sub IFERROR_VBA () Dim n As Long, m As Long 'IFERROR n = Application.WorksheetFunction.IfError (Range ("b2"). Value, 0)' Não IFERROR m = Range ("b2"). Value End Sub
O código atribui a célula B2 a uma variável. A segunda atribuição de variável gera um erro porque o valor da célula é # N / A, mas a primeira funciona bem por causa da função IFERROR.
Você também pode usar o VBA para criar uma fórmula contendo a função IFERROR:
Intervalo ("C2"). FormulaR1C1 = "= IFERROR (RC [-2] / RC [-1], 0)"
O tratamento de erros no VBA é muito diferente do Excel. Normalmente, para lidar com erros no VBA, você usará o Tratamento de erros do VBA. O tratamento de erros do VBA é semelhante a este:
Sub TestWS () MsgBox DoesWSExist ("test") End Sub Função DoesWSExist (wsName As String) As Boolean Dim ws As Planilha Em Erro Resume Next Set ws = Sheets (wsName) 'If Error WS Não existe If Err.Number 0 Then DoesWSExist = False Else DoesWSExist = True End If On Error GoTo -1 End Function
Observe que usamos If Err.Number 0 Then para identificar se ocorreu um erro. Essa é uma maneira típica de detectar erros no VBA. No entanto, a função IFERROR tem alguns usos ao interagir com células do Excel.