function

SI.ND

Todo sobre la función SI.ND en Excel

La función SI.ND (o IFNA en inglés) evalúa una expresión o el valor de una celda y, si el resultado es el error #N/A (No disponible), devuelve un valor alternativo que tú especifiques. Si el resultado es cualquier otro valor o error, la función devuelve el resultado original de la expresión.

Es especialmente útil para gestionar los errores que suelen devolver las funciones de búsqueda como BUSCARV, BUSCARH, COINCIDIR o BUSCARX cuando no encuentran el valor buscado.

Sintaxis

=SI.ND(valor, valor_si_nd)

La función SI.ND tiene los siguientes argumentos:

  • valor: La expresión, fórmula o referencia de celda que se va a comprobar. Obligatorio.
  • valor_si_nd: El valor que se devolverá si el primer argumento da como resultado el error #N/A. Puede ser un texto, un número, una referencia a otra celda o incluso otra fórmula. Obligatorio.

Ejemplos

Imaginemos que tenemos una lista de productos con su ID y stock en una tabla como la siguiente:

A B
1 ID Producto Stock
2 PROD-001 150
3 PROD-002 85
4 PROD-003 0

Ejemplo 1: Búsqueda con resultado encontrado

Si buscamos un producto que sí existe en la lista, la función SI.ND devolverá el resultado de la búsqueda sin alteración.

=SI.ND(BUSCARV("PROD-002", A2:B4, 2, FALSO), "Producto no encontrado")

Resultado: 85

En este caso, BUSCARV encuentra «PROD-002» y devuelve 85. Como no hay un error #N/A, SI.ND muestra ese resultado.

Ejemplo 2: Búsqueda con resultado #N/A

Si intentamos buscar un producto que no está en la lista, BUSCARV devolvería #N/A. Aquí es donde SI.ND actúa, reemplazando el error por nuestro mensaje personalizado.

=SI.ND(BUSCARV("PROD-005", A2:B4, 2, FALSO), "Producto no encontrado")

Resultado: Producto no encontrado

Como «PROD-005» no existe, BUSCARV genera un #N/A, y SI.ND lo intercepta para devolver el segundo argumento.

Ejemplo 3: Diferencia con SI.ERROR

Es importante distinguir SI.ND de SI.ERROR. SI.ND solo gestiona el error #N/A, mientras que SI.ERROR captura cualquier tipo de error (#¡DIV/0!, #¡VALOR!, #¡REF!, etc.).

=SI.ND(1/0, "Hubo un error")

Resultado: #¡DIV/0!

La fórmula anterior sigue devolviendo el error original porque SI.ND no está diseñado para capturar errores de división por cero.

=SI.ERROR(1/0, "Hubo un error")

Resultado: Hubo un error

En este caso, SI.ERROR sí captura el error y devuelve el mensaje personalizado.

Observaciones

La función SI.ND es una forma más elegante y eficiente de realizar la siguiente construcción con las funciones SI y ESNOD:

=SI(ESNOD(fórmula), valor_alternativo, fórmula)

El principal inconveniente de la fórmula anterior es que Excel tiene que evaluar la fórmula dos veces (una para la comprobación y otra para el resultado), lo que puede afectar al rendimiento en hojas de cálculo muy grandes y complejas. SI.ND solo la evalúa una vez.

Disponibilidad por versión de Excel

La función SI.ND está disponible en Excel 2013 y versiones posteriores, incluyendo Microsoft 365.

Compatibilidad

Software Compatibilidad Notas Alternativa
Microsoft Excel ✔️ A partir de Excel 2013.
Google Sheets ✔️
LibreOffice Calc ✔️ Disponible a partir de la versión 4.0.
OpenOffice Calc No está implementada. =SI(ESNOD(valor); valor_si_nd; valor)
WPS Office Spreadsheets ✔️
Apple Numbers ✔️

Funciones Relacionadas

  • SI.ERROR: Similar a SI.ND, pero captura cualquier tipo de error, no solo #N/A.
  • ESNOD: Comprueba si un valor es el error #N/A y devuelve VERDADERO o FALSO. Es la base lógica que SI.ND simplifica.
  • BUSCARV: Una de las funciones de búsqueda que más comúnmente produce el error #N/A cuando no encuentra un valor.
  • SI: Permite realizar pruebas lógicas y devolver un valor si la prueba es verdadera y otro si es falsa. Se puede combinar con ESNOD para replicar el comportamiento de SI.ND.

Ver también...