Función SI.ERROR en Excel, VBA y Google Sheets **Actualización 2022**.

Written by

Editorial Team

Reviewed by

Steve Rynearson

Translated by

Dennis Madrid

Last updated on febrero 4, 2023

Este tutorial muestra cómo utilizar la Función SI.ERROR de Excel para detectar errores de fórmula, sustituyéndolos por otra fórmula, un valor en blanco, 0 o un mensaje personalizado.

SIERROR

 

¿Qué es la Función SI.ERROR?

SI.ERRO le permite realizar un cálculo. Si el cálculo no resulta en un error, entonces se muestra el resultado del cálculo. Si el cálculo hecho resulta en un error, entonces se realiza otro cálculo (o se muestra un valor estático como 0, en blanco, o algún texto).

¿Cuándo se Utiliza la Función SI.ERROR?

  • Al dividir números para evitar errores causados por la división por 0
  • Cuando se realizan búsquedas para evitar errores si no se encuentra el valor.
  • Cuando se desea realizar otro cálculo si el primero da lugar a un error (por ejemplo, buscar un valor en una 2da tabla si no se encuentra en la primera)

Los errores de fórmula no manejados pueden causar errores dentro de su libro de trabajo, pero los errores visibles también hacen que su hoja de cálculo sea menos atractiva.

SI.ERROR Entonces 0

Veamos un ejemplo básico. A continuación está dividiendo dos números. Si intentas dividir por cero recibirás un error:

Dividir Valor Ref de Celdas en Excel

 

En su lugar, inserta el cálculo dentro de la función SI.ERROR y si divides por cero saldrá un 0 en lugar de un error:

=SI.ERROR(A2/B2;0)

SI.ERROR Entonces 0 en Excel

 

SI.ERROR Entonces Blanco

En lugar de poner los errores a 0, puede ponerlos en ‘blanco’ con comillas dobles («»):

=SI.ERROR(A2/B2;"")

SI.ERROR Entonces Blanco en Excel

 

Veremos más usos de SI.ERROR con la función BUSCARV

SI.ERROR con BUSCARV

Las funciones de búsqueda como BUSCARV generarán errores si el valor de búsqueda no se encuentra. Como se muestra arriba, puede usar la función SI.ERROR para reemplazar los errores con espacios en blanco («») o ceros:

=SI.ERROR(BUSCARV(A2;ventas1;2;FALSO);0)

SI.ERROR BUSCARV en Excel

 

SI.ERROR Entonces, Haga Otra Cosa

La función SI.ERROR también se puede utilizar para realizar un segundo cálculo si el primer cálculo da lugar a un error:

=SI.ERROR(BUSCARV(A2;ventas1;2;FALSO);BUSCARV(A2;ventas2;2;FALSO))

SI.ERROR BUSCARV Hacer Algo en Excel

Aquí, si los datos no se encuentran en ‘ventas1’ se realiza un BUSCARV en ‘ventas2’ en su lugar.

 

Más Ejemplos de Fórmulas SI.ERROR

SI.ERROR Anidado – BUSCARV Múltiples Hojas

Puede anidar un SI.ERROR dentro de otro SI.ERROR para realizar 3 cálculos separados. Aquí usaremos dos SI.ERRORs para realizar BUSCARVs en 3 hojas de trabajo separadas:

=SI.ERROR(BUSCARV(A2;Tabla1!$A$2:$B$4;2;FALSO);
SI.ERROR(BUSCARV(A2;Tabla2!$A$2:$B$4;2;FALSO);
BUSCARV(A2;Tabla3!$A$2:$B$4;2;FALSO)))

SI.ERROR Anidado en Excel

 

INDICE/ COINCIDIR y BUSCARX

Por supuesto, SI.ERROR también funcionará con las fórmulas INDICE / COINCIDIR y BUSCARX.

SI.ERROR – BUSCARX

La función BUSCARX es una versión avanzada de la función BUSCARV.

=SI.ERROR(BUSCARX(A2;Tabla1!$A$2:$A$4;Tabla1!$B$2:$B$4);"No Encontrado!")

SI.ERROR BUSCARX en Excel

 

SI.ERROR – INDICE – COINCIDIR

INDICE y COINCIDIR pueden utilizarse para crear BUSCARVs más potentes (de forma similar a como funciona la nueva función BUSCARX) en Excel.

=SI.ERROR(INDICE(Tabla1!$B$2:$B$4;COINCIDIR(A2;Tabla1!$A$2:$A$4;0));"No Encontrado!")

SI.ERROR INDICE COINCIDIR en Excel

 

SI.ERROR en Matrices

Las fórmulas de matrices en Excel se utilizan para realizar varios cálculos a través de una sola fórmula. Supongamos que hay tres columnas de Año, Ventas y Precio medio. Puedes averiguar la cantidad total con la siguiente fórmula en la columna E.

{=SUMA($B$2:$B$4/$C$2:$C$4)}

SI.ERROR en Matrices Error en Excel

¡La fórmula funciona bien hasta que intenta dividir por cero, dando como resultado el error #DIV/0!

Puede utilizar la función SI.ERROR así para resolver el error:

{=SUMA(SI.ERROR($B$2:$B$4/$C$2:$C$4;0))}

SI.ERROR en Matrices en Excel

Tenga en cuenta que la función SI.ERROR debe estar anidada dentro de la función SUMA, de lo contrario el SI.ERROR se aplicará a la suma total y no a cada elemento individual de la matriz.

SI.ND vs. SI.ERROR

La función SI.ND funciona exactamente igual que la función SI.ERROR, excepto que la función SI.ND sólo detectará los errores #N/D. Esto es extremadamente útil cuando se trabaja con funciones de búsqueda: los errores de fórmulas regulares seguirán siendo detectados, pero no aparecerá ningún error si no se encuentra el valor de búsqueda.

=SI.ND(BUSCARV(A2;Tabla1!$A$2:$B$4;2;FALSO);"No Encontrado!")

SI.ND BUSCARV en Excel

 

SI – ESERROR

Si todavía utiliza Microsoft Excel 2003 o una versión anterior, puede sustituir SI.ERROR por una combinación de SI e ESERROR. He aquí un breve ejemplo:

=SI(ESERROR(A2/B2);0;A2/B2)

SI ESERROR en Excel

 

SI.ERROR en Google Sheets

La función SI.ERROR funciona exactamente igual en Google Sheets que en Excel:

SI.ERROR en Google Sheets

 

Ejemplos de IFERROR (SI.ERROR) en VBA

VBA no tiene una función IFERROR incorporada, pero también puedes acceder a la función IFERROR de Excel desde VBA:

Dim n as long
n = Application.WorksheetFunction.IfError(Value, value_if_error)

Application.WorksheetFunction le da acceso a muchas (no todas) funciones de Excel en VBA. Normalmente, IFERROR se utiliza cuando se leen valores de las celdas. Si una celda contiene un error, VBA puede lanzar un mensaje de error al intentar procesar el valor de la celda. Pruebe esto con el código de ejemplo de abajo (donde la celda B2 contiene un error):

vba iferror example

Sub IFERROR_VBA()
    Dim n As Long, m As Long
    'IFERROR
    n = Application.WorksheetFunction.IfError(Range("b2").Value, 0)
    'No IFERROR
    m = Range("b2").Value
End Sub

El código asigna la celda B2 a una variable. La segunda asignación de variable arroja un error porque el valor de la celda es #N/D, pero la primera funciona bien debido a la función IFERROR.

También puedes usar VBA para crear una fórmula que contenga la función IFERROR:

Range("C2").FormulaR1C1 = "=IFERROR(RC[-2]/RC[-1];0)"

vba code generator El manejo de errores en VBA es muy diferente al de Excel. Típicamente, para manejar los errores en VBA, usted utilizará el Manejo de Errores de VBA. El manejo de errores en VBA se ve así:

Sub TestHoja()
    MsgBox hojaExiste("test")
End Sub
Function hojaExiste(wsName As String) As Boolean
    Dim ws As Worksheet
    
    On Error Resume Next
    Set ws = Sheets(wsName)
    
    'Si hay error, la hoja no existe
    If Err.Number <> 0 Then
        DoesWSExist = False
    Else
        DoesWSExist = True
    End If
    On Error GoTo -1
End Function

Observe que utilizamos If Err.Number <> 0 Then para identificar si se ha producido un error. Esta es una forma típica de detectar errores en VBA. Sin embargo, la función IFERROR tiene algunos usos cuando se interactúa con las celdas de Excel.

AI Formula Generator

Pruébelo Gratis

Excel Practice Worksheet

practice excel worksheet

Practice Excel functions and formulas with our 100% free practice worksheets!

  • Automatically Graded Exercises
  • Learn Excel, Inside Excel!

Free Download

Return to List of Excel Functions