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:ISBLANKes más estricta que «parece vacía» — una celda que contiene=""o una fórmula que devuelve""no está en blanco;ISERRORse traga todos los tipos de error (ocultando bugs reales de#REF!/#NAME?) mientrasISNAatrapa solo#N/A; eISNUMBER(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 deXLOOKUP) 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é
ISBLANKes más estricta que «con pinta de vacía» — la trampa del"" ISERROR(atrapa todo) frente aISNA(solo#N/A) — y por qué importa- El coste oculto de
IF(ISERROR(x), alternativa, x): calculaxdos veces - La aplicación estrella de
ISNUMBER— convertirSEARCHen una prueba limpia de coincidencia parcial - Dónde brillan las funciones IS sin un
IFsiquiera
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?» →
ISBLANKpara una celda realmente intacta;=""oLEN()=0si el""de una fórmula también debe contar como vacío. - «¿Falló una búsqueda?» →
IFNA/ el 4.º argumento deXLOOKUPprimero;ISNAcuando necesitas el booleano; nuncaISERROR(oculta bugs reales). - «¿Manejar cualquier error?» →
IFERROR(calcula una vez) sobreIF(ISERROR(...))(calcula dos veces). - «¿Contiene este texto X?» →
ISNUMBER(SEARCH(...)). - «¿Es esto un número de verdad?» →
ISNUMBER, luego arregla conVALUE/*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
