AND, OR e IF anidados
Una nota de 81 con 70% de asistencia pasa la prueba de la nota y no pasa la de asistencia. AND necesita las dos; OR necesita solo una.
Dos condiciones a la vez: AND y OR
La misma profesora tiene una segunda regla. Para aprobar, un estudiante necesita una nota de al menos 60 y una asistencia de al menos 80%. AND recibe una o más pruebas (Excel admite hasta 255) y devuelve TRUE solo cuando todas son TRUE: =AND(B2>=60,C2>=80). OR devuelve TRUE cuando al menos una prueba es TRUE, así que =OR(B2>=90,C2=100) podría señalar para un premio a un estudiante que sacó una nota muy alta o que nunca faltó a clase. NOT cambia TRUE por FALSE y al revés, lo que sirve para reglas que dicen «a menos que».
Por sí solos, AND y OR solo dan TRUE o FALSE. Ponlos dentro de IF para convertir eso en palabras: =IF(AND(B2>=60, C2>=80), "Yes", "No"). Las pruebas de dentro pueden apuntar a columnas distintas, comparar texto o usar cálculos. AND y OR se saltan el texto y las celdas vacías de los rangos, y si no encuentran nada que puedan probar, devuelven #VALUE!. La tabla de abajo aplica las dos pruebas, una nota de al menos 60 y una asistencia de al menos 80, a cuatro estudiantes.
Di la regla con palabras sencillas antes de escribirla. «Aprueba si la nota es al menos 60 y la asistencia es al menos 80» corresponde directamente a AND; «aprueba si pasa cualquiera de las dos pruebas» corresponde a OR. Una regla que mezcla las dos, como «al menos 60, y además 80% de asistencia o un justificante médico», necesita una función dentro de la otra: =AND(B2>=60, OR(C2>=80, D2="note")). Escribe primero la parte interior. Comprueba que da TRUE y FALSE donde esperas y solo entonces envuélvela.
| Nota | % asist. | AND | OR |
|---|---|---|---|
| 93 | 95 | TRUE | TRUE |
| 81 | 70 | FALSE | TRUE |
| 66 | 88 | TRUE | TRUE |
| 55 | 70 | FALSE | FALSE |
Por qué el 93 de la historia se convirtió en D
IF da dos resultados. Para más, pon otro IF en el lugar de la respuesta falsa, y la escala de notas queda así: =IF(B2>=90, "A", IF(B2>=80, "B", IF(B2>=70, "C", IF(B2>=60, "D", "F")))). La hoja prueba la primera condición y pasa a la siguiente solo cuando falla. Eso es justo lo que salió mal en la historia. Con B2>=60 primero, un 93 pasa la primera prueba y se queda en D. Las pruebas más altas nunca se leen. Empieza por el umbral más alto y baja.
Cuenta los paréntesis: cuatro IF necesitan cuatro paréntesis de cierre al final. La página de límites de Excel admite 64 niveles de funciones anidadas, pero más allá de tres o cuatro niveles una fórmula se vuelve difícil de leer y fácil de romper. Las versiones más nuevas de los dos programas tienen IFS, que enumera pares de prueba y respuesta uno tras otro sin anidar, y la ayuda de Google sobre IF enlaza a ella. Para una escala larga, la tabla de búsqueda de la unidad siguiente suele ser todavía más clara, porque los umbrales están en celdas donde cualquiera puede verlos y cambiarlos.
En el laboratorio de abajo, la columna de la nota usa cuatro IF anidados y la de aprobado usa IF con AND. Rellena las dos hacia abajo y compara a Ben con Dev. Ben tiene mejor puntuación y suspende por la asistencia. Dev asiste, pero saca menos de 60.
Arrastra para girar. Desplaza o pellizca para acercar.
- Empezar un IF anidado por el umbral más bajo. Gana la primera prueba que da TRUE. Si B2>=60 va primero, toda puntuación de 60 o más se queda en D.
- Escribir =IF(B2>=60 AND C2>=80, ...). AND es una función que recibe las pruebas como argumentos, no una palabra que se pone entre ellas. Escribe AND(B2>=60, C2>=80).
- Usar OR cuando la regla pide las dos cosas. Un alumno con 81 puntos y un 70 % de asistencia aprueba con OR y suspende con AND. Di la regla en voz alta: una «y» en la frase significa AND.
- Perder la cuenta de los paréntesis de cierre. Cuatro IF anidados necesitan cuatro ) al final. Si falta uno, la fórmula no se acepta.
- B2 es 81 y C2 es 70. ¿Qué devuelve =AND(B2>=60,C2>=80)?
- FALSE
- TRUE
- Mismas celdas. ¿Qué devuelve =OR(B2>=60,C2>=80)?
- TRUE
- FALSE
- ¿Qué devuelve =NOT(5>3)?
- FALSE
- TRUE
- B2 es 93. ¿Qué devuelve =IF(B2>=90, "A", IF(B2>=80, "B", "C"))?
- B2 es 85. Misma fórmula. ¿Qué devuelve?
- B2 es 93. ¿Qué devuelve la fórmula mal ordenada =IF(B2>=60, "D", IF(B2>=90, "A", "F"))?
- ¿Cuántos paréntesis de cierre terminan una fórmula que solo tiene cuatro IF anidados?
- ¿Cuántos niveles de funciones anidadas permite Excel?
- B2 es 66 y C2 es 88. ¿Qué devuelve =IF(AND(B2>=60, C2>=80), "Yes", "No")?
- ¿Qué puntuaciones ponen mejor a prueba una fórmula de «aprueba con 60 o más»?
- 60 y 59.9
- 100 y 0
- 75 y 76
- 30 y 90
- AND: todas las pruebas TRUE. OR: al menos una TRUE. NOT: lo contrario.
- Úsalas dentro de IF para convertir TRUE o FALSE en palabras.
- IF anidado: pon el siguiente IF en el hueco del caso falso, empezando por el umbral más alto.
- Prueba los límites. Para escalas largas, una tabla de búsqueda es más clara.
Fuentes de este curso (19)
- Microsoft Support, "Switch between relative, absolute, and mixed references" (support.microsoft.com/en-us/office/dfec08cd-ae65-4f56-839e-5f0d8d0baca9: $ before column and row, F4 to switch, copying two down and two right: $A$1 stays, A$1 to C$1, $A1 to $A3, A1 to C3)
- Microsoft Support, "AVERAGE function" (support.microsoft.com/en-us/office/047bac88-d466-426c-a32b-8f33eb960cf6: text, logical values and empty cells in a reference ignored, zeros included; 10, 7, 9, 27, 2 gives 11, with 5 gives 10; mean 5, median 4, mode 3 for 2 3 3 5 7 10)
- Microsoft Support, "COUNT function" (support.microsoft.com/en-us/office/a59cd7fc-b623-4d93-87a4-d23bf411294c: only numbers counted, dates count, errors and text do not)
- Microsoft Support, "ROUND function" (support.microsoft.com/en-us/office/c018c5d8-40fb-4053-90b1-b3e7f61a213c: num_digits required; 2.15 to 2.2, -1.475 to -1.48, 626.3 to 1000, 1.98 to 0, -50.55 to -100)
- Microsoft Support, "IF function" (support.microsoft.com/en-us/office/69aed7c9-4e8a-4755-a9bc-aa8bbff73be2: value_if_false optional, text in quotes except TRUE and FALSE, 0 and #NAME? problems)
- Microsoft Support, "VLOOKUP function" (support.microsoft.com/en-us/office/0bbc8083-26fe-4963-8ab8-93a18ad188a1: range_lookup TRUE by default, sorted first column, #N/A, #REF!, #VALUE!, absolute table range, wildcards with FALSE)
- Microsoft Support, "XLOOKUP function" (support.microsoft.com/en-us/office/b7fd680e-6d10-43e6-84f9-88eae8bf5929: not in Excel 2016 and Excel 2019, exact match by default)
- Microsoft Support, "How to correct a #VALUE! error" (support.microsoft.com/en-us/office/15e1b616-fbf2-4147-9c0b-0a11a20e409e: + and * may not calculate cells with text, use SUM instead, IFERROR hides all errors)
- Microsoft Support, "Excel specifications and limits" (15 digits, 64 nested levels, 255 arguments)
- Google Docs Editors Help, "VLOOKUP" (support.google.com/docs/answer/3093318: is_sorted TRUE by default, FALSE recommended, search down to a larger value, " Apple" and "Apple " differ, wildcards, IFNA, absolute range)
- Google Docs Editors Help, "XLOOKUP" (support.google.com/docs/answer/12405947)
- Google Docs Editors Help, "ROUND" (support.google.com/docs/answer/3093440: places optional, 0 by default, rounding by magnitude)
- Google Docs Editors Help, "IF" (support.google.com/docs/answer/3093364: order of the answers is the most common problem, IFS)
- Google Docs Editors Help, "AVERAGE" (support.google.com/docs/answer/3093615: text ignored, any number of arguments)
- Google Docs Editors Help, "COUNTA" (support.google.com/docs/answer/3093991: zero-length strings and spaces count)
- Google Docs Editors Help, "Keyboard shortcuts for Google Sheets" (support.google.com/docs/answer/181110: F4 and Fn+F4 while entering a formula, F4 as Redo)
- Pryor Learning and Exceljet (F4 cycle A1, $A$1, A$1, $A1; = comparison not case-sensitive)
- Ablebits (IF without value_if_false returns FALSE)
- Spreadsheet Class (Sheets circular dependency shows #REF!)
Fecha de consulta: 2026-10-19