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

Función IF en Excel — Una sola bifurcación sí/no, y cuándo dejar de anidar

|

Función IF en Excel — Una sola bifurcación sí/no, y cuándo dejar de anidar

ResumenIF hace 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 palabra FALSE, 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 de IF(…IF(…IF(…))) es ilegible y una pesadilla de contar paréntesis. Para más de dos o tres ramas, cambia a IFS/SWITCH o a una tabla de búsqueda. Combina condiciones con AND()/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: IF es una bifurcación en el camino, nada más
  • Por qué un valor_si_falso ausente devuelve la palabra FALSE (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 / OR en vez de anidar
  • Una sorpresa que rompe el «mi IF nunca se ejecuta»: las comparaciones de texto de IF ignoran mayúsculas
  • El movimiento moderno: un solo IF que 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