Resumen —
IFhace una pregunta de sí/no y devuelve uno de dos valores:=IF(prueba_lógica, valor_si_verdadero, valor_si_falso). Dos cosas le muerden a todo el mundo. La primera: si omites el tercer argumento, una prueba falsa devuelve la palabraFALSE, no una celda vacía — escribe,"")cuando quieras dejarla en blanco. La segunda: deja de anidar IF pasados los dos niveles: una pirámide alta deIF(…IF(…IF(…)))es ilegible y una pesadilla de contar paréntesis. Para más de dos o tres ramas, cambia aIFS/SWITCHo a una tabla de búsqueda. Combina condiciones conAND()/OR()dentro de la prueba — no anides. Funciona en todas las versiones.
=IF(B2>=60, "Pass", "Fail")
=IF(AND(B2>=60, C2="Yes"), "Pass", "Fail")
IF es la primera función que casi todo el mundo aprende después de SUM, y la
que más tarda en quedársele pequeña. Parece sencilla — y un único IF lo es —
pero el problema empieza en cuanto tienes un tercer o cuarto resultado y echas
mano de un IF anidado en lugar de la herramienta correcta. Esta guía gira en
torno al modelo mental que mantiene a IF honesto y, luego, la única regla que
te dice cuándo parar.
Nota: en una interfaz de Excel en español la función se llama SI (IF). Relacionadas: IFS = SI.CONJUNTO, SWITCH = CAMBIAR, AND = Y, OR = O, EXACT = IGUAL, XLOOKUP = BUSCARX, LET = DEJAR, NA = NOD. 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:
IFes una bifurcación en el camino, nada más - Por qué un
valor_si_falsoausente devuelve la palabraFALSE(y cómo obtener un blanco) - La pirámide de IF anidados — por qué se hunde pasados los dos niveles, y qué usar en su lugar
- Combinar condiciones con
AND/ORen vez de anidar - Una sorpresa que rompe el «mi IF nunca se ejecuta»: las comparaciones de texto de
IFignoran mayúsculas - El movimiento moderno: un solo
IFque derrama por toda una columna
El modelo mental: una bifurcación en el camino
Un IF es un único cruce. Evalúa una prueba lógica — cualquier cosa que se
resuelva en TRUE o FALSE — y manda el resultado por uno de dos caminos:
' "¿Es la nota al menos 60? Si sí, Pass; si no, Fail."
=IF(B2>=60, "Pass", "Fail")
Esa es toda la función. prueba_lógica es la pregunta; valor_si_verdadero y
valor_si_falso son los dos caminos. Sostén esa imagen y la mayoría de los
«problemas con IF» resultan ser gente intentando meter tres, cuatro o siete
resultados por un cruce construido para dos. Una bifurcación tiene dos salidas.
En el instante en que necesitas una tercera, no necesitas un IF más grande —
necesitas una forma distinta.
La regla que te salva: no anides pasados los dos niveles
Puedes meter un IF dentro de otro IF para conseguir un tercer resultado, y un
cuarto, y un quinto. Excel permite hasta 64 niveles. Casi ninguno es buena
idea.
' Tres tramos de calificación como IF anidado — ya cuesta leerlo
=IF(B2>=90, "A", IF(B2>=80, "B", IF(B2>=70, "C", "F")))
Cada tramo nuevo añade un nivel de anidación y un paréntesis de cierre al final del todo. Cuando llevas cinco o seis, estás contando paréntesis para encontrar dónde vive cada rama, cada edición arriesga un paréntesis descuadrado, y un compañero que lo lea tiene que desenrollar mentalmente toda la pila. La información está toda ahí — pero la estructura lucha contra ti.
El veredicto es tajante: dos niveles de anidación es el límite; pasado eso,
cambia de herramienta. Para tramos numéricos ordenados como las
calificaciones, IFS se lee de arriba abajo sin
pirámide. Para mapear valores discretos (un código a una etiqueta),
SWITCH o — mejor para cualquier cosa que crezca o
cambie — una pequeña tabla de búsqueda con
XLOOKUP es mucho más mantenible. Una larga cadena
de IF anidados no es ingeniosa; es una factura de mantenimiento que le entregas a
quien abra el archivo después de ti.
La sorpresa del FALSE: el tercer argumento no es opcional en la práctica
valor_si_falso es técnicamente opcional. Omítelo y Excel no devuelve un blanco
— devuelve el booleano literal FALSE:
=IF(B2>=60, "Pass") ' nota 40 -> la celda muestra FALSE
=IF(B2>=60, "Pass", "") ' nota 40 -> la celda queda en blanco
Esta es la pregunta «¿por qué mi celda muestra FALSE?» más común de todas, y el
arreglo es un hábito: suministra siempre el tercer argumento. Si no quieres
nada, dilo explícitamente con "". Ojo con la trampa de "", eso sí: es una
cadena vacía, no una celda realmente vacía, así que un ISBLANK aguas abajo
lee FALSE y COUNTA la sigue contando. Si una fórmula posterior necesita que
la celda sea genuinamente numérica-o-vacía, devuelve NA() o un número, no "".
Combina condiciones con AND / OR — no anides para eso
Una enorme proporción de los IF anidados existe solo porque alguien necesitaba
dos condiciones verdaderas a la vez y echó mano de la forma equivocada. Para
eso no se anida — combinas las pruebas dentro de prueba_lógica con AND u
OR:
' Anidado (funciona, pero cuesta más leerlo y editarlo)
=IF(B2>=60, IF(C2="Yes", "Pass", "Fail"), "Fail")
' AND — una sola prueba limpia
=IF(AND(B2>=60, C2="Yes"), "Pass", "Fail")
AND(…) es TRUE solo cuando cada prueba pasa; OR(…) es TRUE cuando pasa
cualquiera de ellas. Colapsan una anidación de dos niveles en un único cruce
legible. Reserva la anidación para preguntas aguas abajo genuinamente
distintas, no para «ambas deben ser verdaderas» — ese es el trabajo de AND, y
es la misma lógica que usarás en
SUMIFS y FILTER.
La sorpresa de mayúsculas y minúsculas: «mi IF nunca se ejecuta»
La comparación = de IF ignora mayúsculas y minúsculas. "Yes" = "yes" es
TRUE para Excel, que suele ser lo que quieres — hasta que no lo es:
=IF(A2="OK", 1, 0) ' coincide con "OK", "ok", "Ok" — con todas
=IF(EXACT(A2,"OK"), 1, 0) ' coincide solo con "OK" exacto, mayúsculas incluidas
Cuando de verdad necesitas una prueba que distinga mayúsculas — comparar un
código como ID frente a id, o una suma de control — envuélvela en EXACT().
(Esto es la imagen especular de VBA, donde = distingue mayúsculas y minúsculas
por defecto; mira VBA UCase/LCase.) Saber a qué lado
tira Excel por defecto te ahorra el desconcertante «los valores se ven idénticos
pero mi IF no se dispara».
El movimiento moderno: un IF que derrama por una columna
En el Excel actual, IF acepta una matriz como prueba y derrama un resultado
por cada fila — sin arrastrar, sin copiar una fórmula hacia abajo:
=IF(Score>=60, "Pass", "Fail") ' Score es un rango -> un resultado por fila, derramado
Apunta la prueba a una columna entera (una columna de Table o un rango de
derrame #) y una sola celda produce la lista completa de resultados,
recalculando a medida que crece el origen. Para subexpresiones repetidas dentro
de un IF largo, nómbralas una vez con LET para que
Excel las calcule una sola vez — más limpio de leer y más rápido en hojas
grandes.
El criterio: IF vs IFS vs una tabla de búsqueda
Usa un IF simple para un binario de verdad — una pregunta, dos respuestas. En
el momento en que tienes tramos ordenados (calificaciones, niveles,
umbrales), pasa a IFS: se lee como la tabla que representa. Para mapear un
valor a una etiqueta (código de estado → descripción, región → responsable),
usa SWITCH para una lista corta y fija, o un XLOOKUP contra una tabla de
búsqueda real en cuanto la lista sea larga o cambie con el tiempo. La habilidad
no está en escribir IF más grandes — está en reconocer, pronto, cuál de estas
tres formas tiene en realidad tu problema.
Cómo ayuda ExcelMaster
La lógica real suele describirse en términos de negocio — aprueba a quien saque
60 o más y además haya entregado; si no, suspende — no en sintaxis de fórmula.
ExcelMaster convierte esa frase en la forma correcta: un solo IF con AND
cuando es todo lo que necesitas, o un IFS/búsqueda limpio cuando el problema se
le ha quedado grande a una bifurcación. Tú describes la decisión; él elige la
estructura que no se convertirá en una pesadilla de contar paréntesis dentro de
seis meses.
Preguntas frecuentes
¿Por qué mi fórmula IF muestra FALSE?
Omitiste el tercer argumento. =IF(prueba, valor_si_verdadero) devuelve el
literal FALSE cuando la prueba falla. Añade un valor_si_falso explícito: usa
,"") para un blanco o , "No" para una etiqueta.
¿Cuántos IF puedo anidar en Excel?
Hasta 64 niveles — pero la legibilidad se hunde mucho antes. Mantén la anidación
en dos niveles como máximo; para más ramas usa IFS, SWITCH o una tabla de
búsqueda.
¿Cómo escribo un IF con varias condiciones?
Combina las pruebas con AND u OR dentro de la prueba lógica, no anides:
=IF(AND(B2>=60, C2="Yes"), "Pass", "Fail"). AND necesita que toda prueba sea
verdadera; OR necesita que cualquiera lo sea.
¿El IF de Excel distingue mayúsculas y minúsculas?
No. IF(A2="ok", …) coincide con "OK", "Ok" y "ok" por igual. Para una
comparación que distinga mayúsculas, envuélvela en EXACT:
=IF(EXACT(A2,"OK"), …).
¿Cuándo debería usar IFS en vez de IF?
Cuando tengas tres o más resultados ordenados (como los tramos de calificación).
IFS lista cada prueba y resultado de arriba abajo sin anidación ni paréntesis
de cierre, así que es mucho más fácil de leer y editar.
Probado en
Probado en: Excel 365 (Windows 11) — última verificación: 25/06/2026.
Guías relacionadas: Excel IFS y SWITCH · Excel IFERROR · Excel SUMIFS · Excel FILTER
