🚀The world's best VBA AI has evolved. ExcelMaster is now an autonomous Agent.Read more →
Back to Blog

Funciones IS en Excel — ISNUMBER, ISTEXT, ISBLANK, ISERROR e ISNA (protege una fórmula antes de que se rompa)

|

Funciones IS en Excel — ISNUMBER, ISTEXT, ISBLANK, ISERROR e ISNA (protege una fórmula antes de que se rompa)

Resumen — Las funciones IS… responden cada una una pregunta de sí/no sobre una celda: ISNUMBER, ISTEXT, ISBLANK, ISERROR, ISNA (y compañía). Clasifican, nunca cambian el valor — su trabajo entero es proteger una fórmula antes de que se rompa. Tres cosas que saber: ISBLANK es más estricta que «parece vacía» — una celda que contiene ="" o una fórmula que devuelve "" no está en blanco; ISERROR se traga todos los tipos de error (ocultando bugs reales de #REF!/#NAME?) mientras ISNA atrapa solo #N/A; e ISNUMBER(SEARCH(...)) es la forma más limpia de probar una coincidencia parcial de texto. Echa mano de una función IS solo cuando una guarda integrada (IFERROR, el 4.º argumento de XLOOKUP) no haga ya el trabajo. Funciona en todas las versiones.

=IF(ISNUMBER(SEARCH("apple", A2)), "Match", "No")   ' parcial, ignora mayúsculas
=IF(ISBLANK(A2), "Missing", A2)                      ' comprobación de blanco real

La familia IS son las herramientas de diagnóstico de Excel — funciones pequeñas que informan de lo que una celda es en vez de calcular un nuevo valor. Bien usadas, evitan que una fórmula dé error en la única fila mala. Usadas con descuido, ocultan justo los bugs que necesitabas ver. La diferencia está en saber qué prueba de verdad cada una.

Nota: en una interfaz de Excel en español, ISNUMBER se llama ESNUMERO, ISTEXT = ESTEXTO, ISBLANK = ESBLANCO, ISERROR = ESERROR e ISNA = ESNOD. Relacionadas: IF = SI, IFERROR = SI.ERROR, IFNA = SI.ND, VLOOKUP = BUSCARV, XLOOKUP = BUSCARX, SEARCH = HALLAR, FIND = ENCONTRAR, LEN = LARGO, VALUE = VALOR, SUMPRODUCT = SUMAPRODUCTO, FILTER = FILTRAR. Las fórmulas siguientes usan los nombres en inglés — el comportamiento es el mismo. En Excel en español los errores aparecen como: #N/A, #REF!, #¿NOMBRE?, #¡VALOR!, #¡DIV/0!.

Lo que aprenderás

  • El modelo mental: inspectores que devuelven un veredicto, nunca un nuevo valor
  • Por qué ISBLANK es más estricta que «con pinta de vacía» — la trampa del ""
  • ISERROR (atrapa todo) frente a ISNA (solo #N/A) — y por qué importa
  • El coste oculto de IF(ISERROR(x), alternativa, x): calcula x dos veces
  • La aplicación estrella de ISNUMBER — convertir SEARCH en una prueba limpia de coincidencia parcial
  • Dónde brillan las funciones IS sin un IF siquiera

El modelo mental: inspectores, no transformadores

Cada función IS… toma un valor y devuelve TRUE o FALSE — un veredicto sobre lo que hay en la celda. Eso es todo. ISNUMBER pregunta «¿es esto un número?»; ISTEXT pregunta «¿es esto texto?»; ISBLANK pregunta «¿está esto de verdad vacío?»; ISERROR pregunta «¿reventó esto?».

=ISNUMBER(A2)    ' TRUE si A2 contiene un número (no texto con pinta numérica)
=ISTEXT(A2)      ' TRUE si A2 contiene texto
=ISERROR(A2)     ' TRUE si A2 es cualquier valor de error

Como solo informan, una función IS nunca es la respuesta final — igual que AND/OR, su veredicto tiene que alimentar algo: un IF, una regla de formato condicional, una fórmula de validación de datos o una máscara de matriz. Y ese encuadre te da el principio rector de toda la familia: usa una función IS para proteger una fórmula antes de que dé error — pero solo cuando no exista ya una guarda más limpia y hecha a propósito.

ISBLANK es más estricta que «parece vacía»

ISBLANK es la que todo el mundo malinterpreta. Devuelve TRUE solo para una celda que esté genuina y físicamente vacía — nada tecleado, ninguna fórmula. Una celda que parece vacía porque una fórmula devolvió una cadena vacía no está en blanco:

=ISBLANK(A2)    ' A2 contiene  =""  o  =IF(...,"")  ->  FALSE  (contiene una fórmula)
=ISBLANK(A2)    ' A2 es un espacio sobrante " "     ->  FALSE  (contiene un espacio)

Esta es la fuente del «pero la celda ESTÁ vacía, ¿por qué falla mi comprobación?». La prueba honesta de «sin contenido visible» suele ser una comparación de valor, no ISBLANK:

=IF(A2="", "Empty", "Filled")       ' trata el "" de una fórmula también como vacío
=IF(LEN(A2)=0, "Empty", "Filled")   ' la misma idea, explícita sobre longitud cero

Usa ISBLANK cuando de verdad quieras decir «nadie ha puesto nada aquí» — por ejemplo, distinguir una celda de entrada realmente intacta de una que una fórmula rellenó con "". Usa ="" o LEN()=0 cuando quieras decir «no se muestra nada». No son intercambiables, y elegir la equivocada es un bug silencioso clásico. (Esto es la imagen especular del hábito de IF de devolver "" — ese "" es exactamente lo que engaña a ISBLANK.)

ISERROR atrapa todo; ISNA atrapa solo #N/A

ISERROR devuelve TRUE para cualquier error — #N/A, #REF!, #DIV/0!, #NAME?, #VALUE!, todos. Suena cómodo y suele ser un error. Cuando envuelves una búsqueda en IF(ISERROR(...)), no solo atrapas «no encontrado» — también silencias un #REF! de una columna borrada o un #NAME? de una errata, así que un bug genuino de fórmula desaparece tras tu alternativa y nunca te enteras:

=IF(ISERROR(VLOOKUP(A2, T, 2, 0)), "Not found", VLOOKUP(A2, T, 2, 0))
' también oculta #REF!/#NAME? — un bug real ahora muestra "Not found" y no lo sabes

La herramienta precisa es ISNA, que atrapa solo #N/A — el error de «sin coincidencia» — y deja que cualquier otro error salga alto y claro, justo donde quieres que un bug real siga visible:

=IF(ISNA(MATCH(A2, List, 0)), "New", "Existing")   ' solo se maneja "sin coincidencia"

Esta es la misma lección que IFERROR frente a IFNA: atrapa el único error que esperas, no todos. Ajusta el ancho de tu red al pez que de verdad intentas pescar.

El coste oculto: IF(ISERROR(x), alternativa, x) calcula x dos veces

Incluso cuando sí quieres manejar un error, el viejo patrón IF(ISERROR(...)) tiene un inconveniente real: evalúa la parte costosa dos veces — una para probarla, otra para devolverla. En una búsqueda pesada sobre miles de filas eso duplica el trabajo:

' Heredado — el VLOOKUP se ejecuta dos veces por celda
=IF(ISERROR(VLOOKUP(A2,T,2,0)), "n/a", VLOOKUP(A2,T,2,0))

' Moderno — se calcula una vez
=IFERROR(VLOOKUP(A2,T,2,0), "n/a")
=IFNA(VLOOKUP(A2,T,2,0), "n/a")            ' solo #N/A, mantiene visibles los errores reales
=XLOOKUP(A2, Keys, Vals, "n/a")            ' if_not_found integrado, sin envoltorio alguno

Así que la jerarquía honesta es: prefiere IFERROR/IFNA o el cuarto argumento de XLOOKUP, y reserva IF(ISERROR(...)) solo para el raro caso en que la rama de error devuelve algo distinto de recalcular el valor. ISERROR/ISNA aún se ganan su sitio cuando necesitas el booleano en sí — dentro de un SUMPRODUCT, un formato condicional o un recuento de cuántas filas dieron error.

La aplicación estrella de ISNUMBER: una prueba limpia de coincidencia parcial

Lo más útil de toda la familia no es una comprobación de tipo por sí misma — es emparejar ISNUMBER con SEARCH/FIND. SEARCH devuelve una posición cuando encuentra tu subcadena y un error #VALUE! cuando no. Envolverlo en ISNUMBER convierte ese «número-o-error» en un TRUE/FALSE limpio de «¿contiene este texto?»:

=ISNUMBER(SEARCH("apple", A2))   ' TRUE si A2 contiene "apple" (ignora mayúsculas)
=ISNUMBER(FIND("APPLE", A2))     ' FIND distingue mayúsculas y minúsculas

Esa es la prueba idiomática de «¿esta celda contiene X?», y cae directamente en un formato condicional (resaltar cada fila que mencione una palabra clave), una máscara de FILTER o un recuento de SUMPRODUCT — ninguno de los cuales quiere un valor de error en medio.

ISNUMBER también diagnostica «números guardados como texto»

ISNUMBER es la forma más rápida de confirmar el quebradero de cabeza número uno de las importaciones de datos: valores que parecen numéricos pero en realidad son texto, así que se niegan a sumarse u ordenarse. Si =ISNUMBER(A2) devuelve FALSE para algo que parece 1234, has encontrado al culpable:

=ISNUMBER(A2)   ' FALSE para un número guardado como texto  ->  arréglalo con VALUE / *1

Una vez diagnosticado, conviértelo con VALUE/NUMBERVALUE o una coerción *1 / --. ISNUMBER es la prueba; esos son la cura.

Dónde brillan las funciones IS sin un IF

Como ya devuelven TRUE/FALSE, las funciones IS encajan perfectamente en los lugares que quieren un booleano y ninguna etiqueta — sin IF de por medio:

  • Formato condicional — una regla de =ISERROR(A2) sombrea de rojo cada celda con error; =ISNUMBER(SEARCH("urgent", A2)) resalta las filas coincidentes.
  • Validación de datos — una regla personalizada de =ISNUMBER(A1) impide que nadie teclee texto en una entrada numérica.
  • Conteo=SUMPRODUCT(--ISNUMBER(A2:A100)) cuenta cuántas celdas son números genuinos; =SUMPRODUCT(--ISERROR(Range)) cuenta errores antes de limpiar.

En los tres el veredicto es la respuesta — envolverlo en un IF(..., TRUE, FALSE) sería solo ruido.

El criterio: qué función IS, o una guarda más limpia

  • «¿No hay nada aquí en absoluto?»ISBLANK para una celda realmente intacta; ="" o LEN()=0 si el "" de una fórmula también debe contar como vacío.
  • «¿Falló una búsqueda?»IFNA / el 4.º argumento de XLOOKUP primero; ISNA cuando necesitas el booleano; nunca ISERROR (oculta bugs reales).
  • «¿Manejar cualquier error?»IFERROR (calcula una vez) sobre IF(ISERROR(...)) (calcula dos veces).
  • «¿Contiene este texto X?»ISNUMBER(SEARCH(...)).
  • «¿Es esto un número de verdad?»ISNUMBER, luego arregla con VALUE/*1.

Cómo ayuda ExcelMaster

Las funciones IS son donde «que no dé error» se convierte en silencio en «oculta el bug que necesitaba ver». ExcelMaster elige la guarda que encaja con la intención — ISNA o IFNA cuando solo debe manejarse una búsqueda ausente, IFERROR cuando cualquier fallo debe recurrir a la alternativa, un ISBLANK de blanco real frente a un LEN()=0 cuando «vacío» es ambiguo — para que tu red de seguridad atrape el caso que querías y deje que los errores genuinos salgan a la superficie donde puedas arreglarlos.

Preguntas frecuentes

¿Por qué ISBLANK devuelve FALSE en una celda con pinta de vacía?

Porque la celda no está de verdad vacía — contiene una fórmula que devuelve "", un espacio o un carácter invisible. ISBLANK es TRUE solo para una celda físicamente vacía. Para tratar el "" de una fórmula también como vacío, prueba =A2="" o =LEN(A2)=0 en su lugar.

¿Cuál es la diferencia entre ISERROR e ISNA?

ISERROR devuelve TRUE para cualquier valor de error; ISNA devuelve TRUE solo para #N/A. Usa ISNA (o IFNA) en las búsquedas para que un #REF! o #NAME? genuino siga apareciendo en vez de quedar oculto tras tu alternativa.

¿Cómo compruebo si una celda contiene un texto concreto?

Envuelve SEARCH en ISNUMBER: =ISNUMBER(SEARCH("apple", A2)) es TRUE cuando A2 contiene "apple" (ignora mayúsculas). Usa FIND en lugar de SEARCH para una prueba que distinga mayúsculas y minúsculas.

¿Debería usar IF(ISERROR(...)) o IFERROR?

Prefiere IFERROR — evalúa la fórmula una vez, mientras que IF(ISERROR(x), fb, x) calcula x dos veces. Reserva IF(ISERROR(...)) solo cuando la rama de error devuelve algo distinto de recalcular el valor.

¿Cómo sé si un número es en realidad texto en Excel?

Pruébalo con =ISNUMBER(A2). Si devuelve FALSE para algo que parece numérico, el valor está guardado como texto — conviértelo con VALUE, NUMBERVALUE o una coerción *1 / --.

Probado en

Probado en: Excel 365 (Windows 11) — última verificación: 04/07/2026.

Guías relacionadas: Excel IFERROR · Excel AND y OR · Excel NOT y XOR · Excel FIND y SEARCH · Excel VALUE