Tabla de contenido
El tutorial muestra cómo crear múltiples sentencias IF en Excel con lógica AND y OR. Además, aprenderá a utilizar IF junto con otras funciones de Excel.
En la primera parte de nuestro tutorial de Excel IF, vimos cómo construir una simple sentencia IF con una condición para texto, números, fechas, espacios en blanco y no espacios en blanco. Sin embargo, para un análisis de datos potente, a menudo puede necesitar evaluar múltiples condiciones a la vez. Los siguientes ejemplos de fórmulas le mostrarán las formas más efectivas de hacerlo.
Cómo utilizar la función IF con múltiples condiciones
En esencia, existen dos tipos Fórmula IF con múltiples criterios basados en la lógica AND / OR Por consiguiente, en la prueba lógica de su fórmula IF, debe utilizar una de estas funciones:
- Función AND - devuelve TRUE si todas las condiciones y FALSE en caso contrario.
- Función OR - devuelve TRUE si cualquier condición y FALSE en caso contrario.
Para ilustrar mejor este punto, investiguemos algunos ejemplos de fórmulas de la vida real.
Sentencia IF de Excel con múltiples condiciones (lógica AND)
La fórmula genérica de Excel IF con dos o más condiciones es ésta:
SI(Y( condición1 , condición2 ...), value_if_true, value_if_false)Traducida a un lenguaje humano, la fórmula dice: Si la condición 1 es verdadera Y la condición 2 es verdadera, devuelve value_if_true ; else return value_if_false .
Suponga que tiene una tabla con las puntuaciones de dos exámenes en las columnas B y C. Para aprobar el examen final, un alumno debe tener ambas puntuaciones superiores a 50.
Para la prueba lógica, se utiliza la siguiente sentencia AND: AND(B2>50, C2>50)
Si ambas condiciones son verdaderas, la fórmula devolverá "Pass"; si alguna condición es falsa - "Fail".
=IF(AND(B2>50, B2>50), "Aprobado", "Suspenso")
La siguiente captura de pantalla demuestra que nuestra fórmula IF /AND de Excel funciona correctamente:
De forma similar, puede utilizar la función IF de Excel con múltiples condiciones del texto .
Por ejemplo, para obtener un resultado "Bueno" si B2 y C2 son superiores a 50 y "Malo" en caso contrario, la fórmula es:
=IF(AND(B2="aprobado", C2="aprobado"), "¡Bien!", "Mal")
Nota importante: la función AND comprueba todas las condiciones Este comportamiento es un poco inusual, ya que en la mayoría de los lenguajes de programación, las condiciones posteriores no se prueban si alguna de las pruebas anteriores ha devuelto FALSE.
En la práctica, una sentencia IF aparentemente correcta puede dar lugar a un error debido a esta especificidad. Por ejemplo, la siguiente fórmula devolvería #DIV/0! (error de "dividir por cero") si la celda A2 es igual a 0:
=IF(AND(A20, (1/A2)>0.5), "Bueno", "Malo")
Para evitarlo, debe utilizar una función IF anidada:
=IF(A20, IF((1/A2)>0.5, "Bueno", "Malo"), "Malo")
Para obtener más información, consulte la fórmula IF AND en Excel.
Función IF de Excel con múltiples condiciones (lógica OR)
Hacer una cosa si cualquier condición se cumple, en caso contrario haga otra cosa, utilice esta combinación de las funciones IF y OR:
IF(OR( estado1 , condición2 ...), value_if_true, value_if_false)La diferencia con la fórmula IF / AND comentada anteriormente es que Excel devuelve TRUE si alguna de las condiciones especificadas es cierta.
Así, si en la fórmula anterior utilizamos OR en lugar de AND:
=IF(OR(B2>50, B2>50), "Aprobado", "Suspenso")
Entonces, cualquiera que tenga más de 50 puntos en cualquiera de los dos exámenes obtendrá "Aprobado" en la columna D. Con estas condiciones, nuestros estudiantes tienen más posibilidades de aprobar el examen final (Yvette tuvo especialmente mala suerte al suspender por sólo 1 punto :)
Consejo: si está creando un sentencia IF múltiple con texto y comprobando un valor en una celda con la lógica OR (es decir, una celda puede ser "esto" o "aquello"), entonces puede construir una fórmula más compacta utilizando una constante de matriz.
Por ejemplo, para marcar una venta como "cerrada" si la celda B2 es "entregada" o "pagada", la fórmula es:
=IF(OR(B2={"entregado", "pagado"}), "Cerrado", "")
Encontrará más ejemplos de fórmulas en la función IF OR de Excel.
IF con múltiples sentencias AND & OR
Si su tarea requiere evaluar varios conjuntos de condiciones múltiples, tendrá que utilizar ambas funciones AND & OR a la vez.
En nuestra tabla de ejemplo, supongamos que tiene los siguientes criterios para comprobar los resultados del examen:
- Condición 1: examen1>50 y examen2>50
- Condición 2: examen1>40 y examen2>60
Si se cumple alguna de las dos condiciones, el examen final se considera aprobado.
A primera vista, la fórmula parece un poco complicada, pero en realidad no lo es. Basta con expresar cada una de las condiciones anteriores como una sentencia AND y anidarlas en la función OR (puesto que no es necesario que se cumplan ambas condiciones, cualquiera de ellas será suficiente):
OR(AND(B2>50, C2>50), AND(B2>40, C2>60)
A continuación, utilice la función OR para la prueba lógica de IF y suministre el value_if_true y value_if_false Como resultado, se obtiene la siguiente fórmula IF con múltiples condiciones AND / OR:
=IF(OR(AND(B2>50, C2>50), AND(B2>40, C2>60), "Aprobado", "Suspenso")
La captura de pantalla siguiente indica que hemos hecho bien la fórmula:
Naturalmente, no está limitado a utilizar sólo dos funciones AND/OR en sus fórmulas IF. Puede utilizar tantas como requiera su lógica de negocio, siempre que:
- En Excel 2007 y versiones superiores, no tiene más de 255 argumentos y la longitud total de la fórmula IF no supera los 8.192 caracteres.
- En Excel 2003 e inferiores, no hay más de 30 argumentos, y la longitud total de su fórmula IF no supera los 1.024 caracteres.
Sentencia IF anidada para comprobar múltiples pruebas lógicas
Si desea evaluar varias pruebas lógicas dentro de una misma fórmula, puede anidar varias funciones una dentro de otra. Estas funciones se denominan funciones IF anidadas Resultan especialmente útiles cuando se desea devolver valores diferentes en función de los resultados de las pruebas lógicas.
He aquí un ejemplo típico: supongamos que desea calificar los logros de los alumnos como " Bien ", " Satisfactorio " y " Pobre "basándose en las siguientes puntuaciones:
- Bueno: 60 o más (>=60)
- Satisfactorio: entre 40 y 60 (>40 y <60)
- Pobre: 40 o menos (<=40)
Antes de escribir una fórmula, tenga en cuenta el orden de las funciones que va a anidar. Excel evaluará las pruebas lógicas en el orden en que aparecen en la fórmula. Una vez que una condición se evalúa como TRUE, las condiciones posteriores no se prueban, lo que significa que la fórmula se detiene después del primer resultado TRUE.
En nuestro caso, las funciones están ordenadas de mayor a menor:
=IF(B2>=60, "Bueno", IF(B2>40, "Satisfactorio", "Deficiente"))
Naturalmente, puede anidar más funciones si es necesario (hasta 64 en las versiones modernas).
Para obtener más información, consulte Cómo utilizar varias sentencias IF anidadas en Excel.
Excel IF fórmula de matriz con múltiples condiciones
Otra forma de conseguir que un SI de Excel compruebe múltiples condiciones es utilizando una fórmula de matriz.
Para evaluar condiciones con la lógica AND, utilice el asterisco:
SI( condición1 ) * ( condición2 ) * ..., value_if_true, value_if_false)Para probar condiciones con la lógica OR, utilice el signo más:
SI( condición1 ) + ( condición2 ) + ..., value_if_true, value_if_false)Para completar una fórmula de matriz correctamente, pulse las teclas Ctrl + Mayús + Intro a la vez. En Excel 365 y Excel 2021, esto también funciona como una fórmula normal debido a la compatibilidad con las matrices dinámicas.
Por ejemplo, para obtener "Aprobado" si tanto B2 como C2 son superiores a 50, la fórmula es:
=IF((B2>50) * (C2>50), "Aprobado", "Suspenso")
En mi Excel 365, una fórmula normal funciona perfectamente (como puedes ver en las capturas de pantalla anteriores). En Excel 2019 y versiones inferiores, recuerda convertirla en una fórmula de matriz mediante el atajo de teclado Ctrl + Mayús + Intro.
Para evaluar múltiples condiciones con la lógica OR, la fórmula es:
=IF((B2>50) + (C2>50), "Aprobado", "Suspenso")
Utilización de IF junto con otras funciones
En esta sección se explica cómo utilizar IF en combinación con otras funciones de Excel y qué ventajas le aporta.
Ejemplo 1. Si #N/A error en VLOOKUP
Cuando VLOOKUP u otra función de búsqueda no puede encontrar algo, devuelve un error #N/A. Para que sus tablas tengan un aspecto más agradable, puede devolver cero, un espacio en blanco o un texto específico si #N/A. Para ello, utilice esta fórmula genérica:
IF(ISNA(VLOOKUP(...)), valor_si_na , VLOOKUP(...))Por ejemplo:
Si #N/A devuelve 0:
Si no se encuentra el valor de búsqueda en E1, la fórmula devuelve cero.
=IF(ISNA(VLOOKUP(E1, A2:B10, 2,FALSE )), 0, VLOOKUP(E1, A2:B10, 2, FALSE))
Si #N/A devuélvalo en blanco:
Si no se encuentra el valor buscado, la fórmula no devuelve nada (una cadena vacía).
=IF(ISNA(VLOOKUP(E1, A2:B10, 2,FALSE )), "", VLOOKUP(E1, A2:B10, 2, FALSE))
Si #N/A devuelve un texto determinado:
Si no se encuentra el valor buscado, la fórmula devuelve un texto específico.
=IF(ISNA(VLOOKUP(E1, A2:B10, 2,FALSE )), "No encontrado", VLOOKUP(E1, A2:B10, 2, FALSE))
Para ver más ejemplos de fórmulas, consulte VLOOKUP con sentencia IF en Excel.
Ejemplo 2. IF con funciones SUM, AVERAGE, MIN y MAX
Para sumar valores de celdas basándose en determinados criterios, Excel proporciona las funciones SUMIF y SUMIFS.
En algunas situaciones, su lógica de negocio puede requerir incluir la función SUM en la prueba lógica de IF. Por ejemplo, para devolver diferentes etiquetas de texto dependiendo de la suma de los valores en B2 y C2, la fórmula es:
=IF(SUM(B2:C2)>130, "Bueno", IF(SUM(B2:C2)>110, "Satisfactorio", "Deficiente"))
Si la suma es superior a 130, el resultado es "bueno"; si es superior a 110, "satisfactorio"; si es igual o inferior a 110, "deficiente".
De forma similar, puede incrustar la función PROMEDIO en la prueba lógica de SI y devolver diferentes etiquetas basadas en la puntuación media:
=IF(AVERAGE(B2:C2)>65, "Bueno", IF(AVERAGE(B2:C2)>55, "Satisfactorio", "Deficiente"))
Suponiendo que la puntuación total está en la columna D, puede identificar los valores más altos y más bajos con la ayuda de las funciones MAX y MIN:
=IF(D2=MAX($D$2:$D$10), "Mejor resultado", "")
=IF(D2=MAX($D$2:$D$10), "Mejor resultado", "")
Para tener ambas etiquetas en una columna, anide las funciones anteriores una dentro de otra:
=IF(D2=MAX($D$2:$D$10), "Mejor resultado", IF(D2=MIN($D$2:$D$10), "Peor resultado", ""))
Del mismo modo, puede utilizar IF junto con sus funciones personalizadas. Por ejemplo, puede combinarlo con GetCellColor o GetCellFontColor para devolver diferentes resultados basados en el color de una celda.
Además, Excel proporciona una serie de funciones para calcular datos basándose en condiciones. Para ver ejemplos detallados de fórmulas, consulte los siguientes tutoriales:
- COUNTIF - cuenta las células que cumplen una condición
- COUNTIFS - recuento de celdas con criterios múltiples
- SUMIF - suma condicional de celdas
- SUMIFS - suma celdas con múltiples criterios
Ejemplo 3. IF con ISNUMBER, ISTEXT e ISBLANK
Para identificar texto, números y celdas en blanco, Microsoft Excel proporciona funciones especiales como ISTEXT, ISNUMBER e ISBLANK. Colocándolas en las pruebas lógicas de tres sentencias IF anidadas, puede identificar todos los tipos de datos diferentes de una sola vez:
=IF(ISTEXT(A2), "Texto", IF(ISNUMBER(A2), "Número", IF(ISBLANK(A2), "En blanco", ""))
Ejemplo 4. IF y CONCATENAR
Para imprimir el resultado de IF y algún texto en una celda, utilice las funciones CONCATENAR o CONCAT (en Excel 2016 - 365) e IF juntas. Por ejemplo:
=CONCATENADO("Has actuado ", IF(B1>100, "¡fantástico!", IF(B1>50, "bien", "mal"))
=CONCAT("Has actuado ", IF(B1>100, "¡fantástico!", IF(B1>50, "bien", "mal"))
Si observa la captura de pantalla siguiente, apenas necesitará explicaciones sobre lo que hace la fórmula:
Fórmula IF ISERROR / ISNA en Excel
Las versiones modernas de Excel disponen de funciones especiales para atrapar errores y sustituirlos por otro cálculo o valor predefinido: IFERROR (en Excel 2007 y posteriores) e IFNA (en Excel 2013 y posteriores). En versiones anteriores de Excel, puede utilizar en su lugar las combinaciones IF ISERROR e IF ISNA.
La diferencia es que IFERROR e ISERROR manejan todos los posibles errores de Excel, incluyendo #VALOR!, #N/A, #NOMBRE?, #REF!, #NUM!, #DIV/0!, y #NULL! Mientras que IFNA e ISNA se especializan únicamente en errores #N/A.
Por ejemplo, para sustituir el error "dividir por cero" (#DIV/0!) por su texto personalizado, puede utilizar la siguiente fórmula:
=IF(ISERROR(A2/B2), "N/A", A2/B2)
Y esto es todo lo que tengo que decir sobre el uso de la función IF en Excel. Te doy las gracias por leer y ¡espero verte en nuestro blog la semana que viene!
Cuaderno de prácticas para descargar
Excel IF criterios múltiples - ejemplos (.xlsx file)