Lógica y control de errores

Función SI.ND en Excel: capturar solo #N/D y dejar ver los errores reales

Ejecuta una fórmula y devuelve un valor tuyo solo si produce #N/D.

SI.ND es SI.ERROR con una red más estrecha. SI.ERROR captura todos los errores que existen; SI.ND captura solo #N/D y deja pasar el resto. Suena a una distinción menor y es la diferencia entre una hoja que oculta sus problemas y una que no.

El caso para el que está pensada es una búsqueda que puede fallar de forma legítima. Un BUSCARV de un producto que realmente no está en el catálogo devuelve #N/D, y sustituirlo por "Sin stock" es exactamente lo correcto. Pero si a esa misma fórmula se le rompe la referencia de rango, devuelve #¡REF!, y SI.ERROR lo sustituiría también por "Sin stock", informando de una fórmula rota como si fuera un producto que falta.

Así que la regla es simple. Usa SI.ND alrededor de las búsquedas, donde un fallo es esperable y cualquier otro error significa que algo va mal. Usa SI.ERROR solo donde de verdad quieras tratar todos los fallos igual, que es más raro de lo que sugiere su popularidad.

Sintaxis

=SI.ND(valor; valor_si_nd)

Argumentos

valor
Obligatorio
La fórmula que se intenta. Normalmente una búsqueda de algún tipo.
valor_si_nd
Obligatorio
Qué devolver si produce #N/D. Cualquier otro error pasa sin tocarse.

Los datos de ejemplo

Una tabla dispuesta en horizontal: etiquetas en la fila 1, datos en las filas 2 y 3.

ABCDE
1MétricaT1T2T3T4
2Ingresos48000525006100074500
3Plantilla12121417

Ejemplos resueltos

=SI.ND(BUSCARH("T5"; A1:E3; 2; FALSO); "Sin datos")

Resultado: Sin datos

T5 no existe en la tabla, así que el #N/D se convierte en algo con lo que quien lea puede hacer algo.

=SI.ND(BUSCARH("T3"; A1:E3; 2; FALSO); "Sin datos")

Resultado: 61000

Cuando la búsqueda funciona, SI.ND es invisible y devuelve el resultado sin cambios.

=SI.ND(BUSCARH("T3"; A1:E3; 9; FALSO); "Sin datos")

Resultado: #¡REF!

El sentido de la función. La fila 9 no existe, lo que es una fórmula rota y no un valor ausente, y SI.ND lo deja ver. SI.ERROR lo habría ocultado.

=SI.ND(BUSCARH("T5"; A1:E3; 2; FALSO); 0)

Resultado: 0

Devolver 0 en lugar de texto, para que la columna se pueda seguir sumando después.

Ahora practícala

Leer sobre una fórmula no es lo mismo que escribirla. Abre el ejercicio de esta función y escríbela en una hoja real: recibirás comentarios inmediatos sobre qué celda está mal y por qué.

Abrir el ejercicio: Función SI.ND

Errores habituales y cómo resolverlos

Sigue apareciendo un #¡VALOR! o un #¡REF!

Por qué ocurre: Es SI.ND funcionando bien: solo captura #N/D.

Cómo resolverlo: Arregla la fórmula de debajo. Si de verdad quieres capturar todos los errores, SI.ERROR es la función adecuada, pero asegúrate de que es lo que quieres decir.

#¿NOMBRE?

Por qué ocurre: SI.ND llegó con Excel 2013 y las versiones anteriores no la tienen.

Cómo resolverlo: Usa =SI(ESND(fórmula); alternativa; fórmula), que funciona en todas partes pero evalúa la fórmula dos veces.

Los totales cambian tras envolver

Por qué ocurre: La alternativa es texto dentro de una columna numérica, así que SUMA omite esas filas.

Cómo resolverlo: Devuelve 0 en lugar de texto allí donde la columna alimente cálculos.

Consejos que conviene saber

  • Prefiere SI.ND a SI.ERROR alrededor de cualquier búsqueda. Se escribe igual de rápido y es estrictamente más segura.
  • El cuarto argumento de BUSCARX hace esto de forma nativa, así que una búsqueda moderna rara vez necesita envolverse.
  • Envuelve la búsqueda en sí, no toda una cadena de aritmética: un envoltorio amplio oculta más de lo que pretendías.
  • Si te ves envolviéndolo todo en SI.ERROR por costumbre, esa costumbre es el fallo.

Preguntas frecuentes

¿Qué diferencia hay entre SI.ND y SI.ERROR?

SI.ERROR captura todos los tipos de error: #N/D, #¡REF!, #¡VALOR!, #¡DIV/0!, #¿NOMBRE?, #¡NUM! y #¡NULO!. SI.ND captura solo #N/D. En las búsquedas, SI.ND es casi siempre la correcta: que falte un valor es esperable, pero un #¡REF! significa que la fórmula está rota y necesitas verlo.

¿Necesito SI.ND con BUSCARX?

Normalmente no. BUSCARX admite un valor para «no encontrado» como cuarto argumento, que resuelve el mismo caso sin envoltorio. SI.ND sigue siendo útil alrededor de BUSCARV, INDICE/COINCIDIR y cualquier otra cosa sin alternativa incorporada.

¿Qué versión de Excel tiene SI.ND?

Excel 2013 y posteriores. En versiones anteriores el equivalente es =SI(ESND(fórmula); alternativa; fórmula), que funciona igual pero evalúa la fórmula dos veces y es proporcionalmente más lento en modelos grandes.

Funciones relacionadas

Guías que la usan

Lecturas más largas donde esta función hace trabajo real en una hoja real.