Tabla de contenido
El tutorial explica cómo utilizar múltiples IF en Excel y proporciona un par de ejemplos de fórmulas If anidadas para las tareas más comunes.
Si alguien le preguntara qué función de Excel utiliza más a menudo, ¿cuál sería su respuesta? En la mayoría de los casos, la función IF de Excel. Una fórmula If normal que comprueba una única condición es muy sencilla y fácil de escribir. Pero, ¿qué ocurre si sus datos requieren pruebas lógicas más elaboradas con múltiples condiciones? En este caso, puede incluir varias funciones IF en una fórmula, y estas múltiples funciones Ifse denominan Excel IF anidado La mayor ventaja de la sentencia If anidada es que permite comprobar más de una condición y devolver diferentes valores en función de los resultados de dichas comprobaciones, todo ello en una única fórmula.
Microsoft Excel tiene límites a la niveles de IF anidados En Excel 2003 e inferiores, se permitían hasta 7 niveles. En Excel 2007 y superiores, se pueden anidar hasta 64 funciones IF en una fórmula.
Más adelante en este tutorial, encontrará un par de ejemplos de If anidados de Excel junto con una explicación detallada de su sintaxis y lógica.
Ejemplo 1. Fórmula IF clásica anidada
He aquí un ejemplo típico de Excel If con múltiples condiciones. Supongamos que tiene una lista de estudiantes en la columna A y sus notas de examen en la columna B, y desea clasificar las notas con las siguientes condiciones:
- Excelente: Más de 249
- Bueno: entre 249 y 200, ambos inclusive
- Satisfactorio: entre 199 y 150, ambos inclusive
- Pobre: menos de 150
Y ahora, escribamos una función IF anidada basada en los criterios anteriores. Se considera una buena práctica comenzar con la condición más importante y mantener las funciones lo más simples posible. Nuestra fórmula IF anidada de Excel es la siguiente:
=IF(B2>249, "Excelente", IF(B2>=200, "Bueno", IF(B2>150, "Satisfactorio", "Deficiente"))
Y funciona exactamente como debería:
Comprender la lógica IF anidada de Excel
He oído a algunas personas decir que Excel multiple If les está volviendo locos :) Intenta mirarlo desde otro ángulo:
Lo que la fórmula realmente le dice a Excel que haga es evaluar la variable prueba_lógica de la primera función IF y, si se cumple la condición, devuelve el valor suministrado en la función value_if_true Si no se cumple la condición de la primera función If, compruebe la segunda declaración If, y así sucesivamente.
SI( comprobar si B2>=249, si es verdadero - devolver "Excelente", o bienSI( comprobar si B2>=200, si es verdadero - devolver "Bien", o bien
SI( comprobar si B2>150, si es verdadero - devolver "Satisfactorio", si es falso -
return "Pobre"))
Ejemplo 2. If múltiple con cálculos aritméticos
He aquí otra tarea típica: el precio unitario varía en función de la cantidad especificada, y su objetivo es escribir una fórmula que calcule el precio total para cualquier cantidad de elementos introducidos en una celda específica. En otras palabras, su fórmula necesita comprobar múltiples condiciones y realizar diferentes cálculos en función del intervalo de cantidades en el que se encuentre la cantidad especificada:
Unidad Cantidad | Precio unitario |
1 a 10 | $20 |
11 a 19 años | $18 |
20 a 49 años | $16 |
50 a 100 | $13 |
Más de 101 | $12 |
Esta tarea también se puede realizar utilizando varias funciones IF. La lógica es la misma que en el ejemplo anterior, la única diferencia es que se multiplica la cantidad especificada por el valor devuelto por las funciones IF anidadas (es decir, el precio por unidad correspondiente).
Suponiendo que el usuario introduce la cantidad en la celda B8, la fórmula es la siguiente:
=B8*IF(B8>=101, 12, IF(B8>=50, 13, IF(B8>=20, 16, IF( B8>=11, 18, IF(B8>=1, 20, "")))))
Y el resultado será algo parecido a esto:
Como comprenderá, este ejemplo sólo demuestra el enfoque general, y usted puede personalizar fácilmente esta función If anidada dependiendo de su tarea particular.
Por ejemplo, en lugar de "codificar" los precios en la fórmula, puede hacer referencia a las celdas que contienen esos valores (celdas B2 a B6), lo que permitirá a los usuarios editar los datos de origen sin tener que actualizar la fórmula:
=B8*IF(B8>=101,B6, IF(B8>=50, B5, IF(B8>=20, B4, IF( B8>=11, B3, IF(B8>=1, B2, "")))))
O bien, puede incluir una(s) función(es) IF adicional(es) que fije(n) un límite superior, inferior o ambos del intervalo de cantidades. Cuando la cantidad esté fuera del intervalo, la fórmula mostrará un mensaje de "fuera del intervalo". Por ejemplo:
=IF(OR(B8>200,B8=101,12, IF(B8>=50, 13, IF(B8>=20, 16, IF( B8>=11, 18, IF(B8>=1, 20, ""))))))
Las fórmulas IF anidadas descritas anteriormente funcionan en todas las versiones de Excel. En Excel 365 y Excel 2021, también puede utilizar la función IFS para el mismo fin.
Los usuarios avanzados de Excel que estén familiarizados con las fórmulas de matriz, pueden utilizar esta fórmula que básicamente hace lo mismo que la función IF anidada comentada anteriormente. Aunque la fórmula de matriz es mucho más difícil de comprender, y mucho más de escribir, tiene una ventaja indiscutible: se especifica el rango de celdas que contienen las condiciones en lugar de hacer referencia a cada condición individualmente. Esto hace quela fórmula es más flexible, y si sus usuarios cambian alguna de las condiciones existentes o añaden una nueva, sólo tendrá que actualizar una única referencia de rango en la fórmula.
Excel IF anidado - trucos y consejos
Los siguientes consejos le ayudarán a mejorar sus fórmulas IF anidadas y a evitar errores comunes.
Límites IF anidados
En Excel 2007 - Excel 365, se pueden anidar hasta 64 funciones IF. En versiones anteriores de Excel 2003 e inferiores, se pueden utilizar hasta 7 funciones IF anidadas. Sin embargo, el hecho de que se puedan anidar muchas funciones IF en una fórmula no significa que se deban anidar. Tenga en cuenta que cada nivel adicional hace que su fórmula sea más difícil de entender y de solucionar. Si su fórmula tiene demasiados niveles anidados, es posible quedesea optimizarlo utilizando una de estas alternativas.
El orden de las funciones IF anidadas es importante
La función IF anidada de Excel evalúa las pruebas lógicas en el orden en que aparecen en la fórmula, y en cuanto una de las condiciones se evalúa como TRUE, las condiciones siguientes no se prueban. En otras palabras, la fórmula se detiene después del primer resultado TRUE.
Veamos cómo funciona en la práctica. Con B2 igual a 274, la fórmula IF anidada de abajo evalúa la primera prueba lógica (B2>249), y devuelve "Excelente" porque esta prueba lógica es TRUE:
=IF(B2>249, "Excelente", IF(B2>=200, "Bueno", IF(B2>150, "Satisfactorio", "Deficiente"))
Ahora, invirtamos el orden de las funciones IF:
=IF(B2>150, "Satisfactorio", IF(B2>200, "Bueno", IF(B2>249, "Excelente", "Deficiente"))
La fórmula comprueba la primera condición, y como 274 es mayor que 150, el resultado de esta prueba lógica también es VERDADERO. En consecuencia, la fórmula devuelve "Satisfactorio" sin comprobar otras condiciones.
Como ves, cambiar el orden de las funciones IF cambia el resultado:
Evaluar la lógica de la fórmula
Para ver paso a paso el flujo lógico de su fórmula IF anidada, utilice la función Evaluar fórmula situada en el menú Fórmula en la pestaña Auditoría de fórmulas La expresión subrayada es la parte que se está evaluando en ese momento, y pulsando el botón Evalúe le mostrará todos los pasos del proceso de evaluación.
Por ejemplo, la evaluación de la primera prueba lógica de la fórmula IF anidada que se muestra en la captura de pantalla siguiente será la siguiente: B2>249; 274>249; TRUE; Excelente.
Equilibrar los paréntesis de las funciones IF anidadas
Uno de los principales retos con los SI anidados en Excel es hacer coincidir los pares de paréntesis. Si los paréntesis no coinciden, su fórmula no funcionará. Por suerte, Microsoft Excel proporciona un par de funciones que pueden ayudarle a equilibrar los paréntesis al editar una fórmula:
- Si tiene más de un juego de paréntesis, los pares de paréntesis se sombrean en colores diferentes para que el paréntesis de apertura coincida con el de cierre.
- Al cerrar un paréntesis, Excel resalta brevemente el par correspondiente. El mismo efecto de negrita o "parpadeo" se produce al desplazarse por la fórmula mediante las teclas de flecha.
Para obtener más información, consulte Emparejar pares de paréntesis en fórmulas de Excel.
Tratar el texto y los números de forma diferente
Cuando construya pruebas lógicas de sus fórmulas IF anidadas, recuerde que el texto y los números deben tratarse de forma diferente - siempre encierre los valores de texto entre comillas dobles, pero nunca ponga comillas alrededor de los números:
Bien: =IF(B2>249, "Excelente",...)
Equivocada: =IF(B2>"249", "Excellent",…)
La prueba lógica de la segunda fórmula devolverá FALSE aunque el valor en B2 sea mayor que 249. ¿Por qué? Porque 249 es un número y "249" es una cadena numérica, que son dos cosas diferentes.
Añada espacios o saltos de línea para facilitar la lectura de los IF anidados.
Cuando construya una fórmula con múltiples niveles IF anidados, puede hacer que la lógica de la fórmula sea más clara separando las diferentes funciones IF con espacios o saltos de línea. A Excel no le importa el espaciado extra en una fórmula, por lo que no debe preocuparse por estropearla.
Para mover una parte determinada de la fórmula a la línea siguiente, basta con hacer clic donde desee insertar un salto de línea y pulsar Alt + Intro . A continuación, expanda la barra de fórmulas tanto como sea necesario y verá que su fórmula IF anidada se ha vuelto mucho más fácil de entender.
Alternativas a IF anidado en Excel
Para evitar el límite de siete funciones IF anidadas en Excel 2003 y versiones anteriores y para que sus fórmulas sean más compactas y rápidas, considere utilizar las siguientes alternativas a las funciones IF anidadas de Excel.
- Para probar múltiples condiciones y devolver diferentes valores basados en los resultados de esas pruebas, puede utilizar la función CHOOSE en lugar de IFs anidados.
- Construya una tabla de referencia y utilice un VLOOKUP con coincidencia aproximada como se muestra en este ejemplo: VLOOKUP en lugar de IF anidado en Excel.
- Utilice IF con las funciones lógicas OR / AND, como se muestra en estos ejemplos.
- Utilice una fórmula de matriz como la que se muestra en este ejemplo.
- Combine varias sentencias IF utilizando la función CONCATENAR o el operador de concatenación (&). Aquí encontrará un ejemplo de fórmula.
- Para los usuarios experimentados de Excel, la mejor alternativa al uso de múltiples funciones IF anidadas podría ser la creación de una función de hoja de cálculo personalizada utilizando VBA.
Así es como se utiliza una fórmula If en Excel con múltiples condiciones. Le agradezco su lectura y espero verle en nuestro blog la próxima semana.
Cuaderno de prácticas para descargar
Sentencias If anidadas en Excel (archivo .xlsx)