edubun
Español

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.

ContextoUn ejemplo inventado. Una profesora arma una hoja de calificaciones la noche antes de entregar las notas. La regla es A para 90 o más, B para 80, C para 70, D para 60 y F por debajo. Escribe las pruebas en el orden en que se le ocurren, de la más baja a la más alta: =IF(B2>=60, "D", IF(B2>=70, "C", ...)). Todo estudiante con 60 o más recibe una D, incluido uno que sacó 93. No aparece ningún error. Un estudiante lo señala a la mañana siguiente. La solución es invertir el orden, y el motivo se explica abajo.

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.ANDOR
9395TRUETRUE
8170FALSETRUE
6688TRUETRUE
5570FALSEFALSE

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.

Prueba los límites. En una escala de notas, comprueba exactamente 90, 89.9, 60 y 59.9 antes de fiarte de la fórmula. La mayoría de los errores se esconden en un límite, donde > y >= dan respuestas distintas.
Cargando

Arrastra para girar. Desplaza o pellizca para acercar.

Escribe la fórmula de la nota en D2 y rellena hacia abajo. Prueba a poner primero la condición del 60 y verás cómo Ana baja a D.
Errores frecuentes
  • 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.
Nota para docentesEl IF anidado suele ser la primera fórmula que los alumnos no entienden de un vistazo. Constrúyela por pasos en la pizarra: un solo IF para A o «no A», luego cambia «no A» por un segundo IF, y así sucesivamente, probando después de cada paso. Pide que predigan la nota para 93, 85, 60 y 59.9 antes de rellenar hacia abajo. Merece la pena contar la historia del orden equivocado. Falla sin dar ningún error, y el arreglo es evidente en cuanto se ve.
  1. B2 es 81 y C2 es 70. ¿Qué devuelve =AND(B2>=60,C2>=80)?
    • FALSE
    • TRUE
  2. Mismas celdas. ¿Qué devuelve =OR(B2>=60,C2>=80)?
    • TRUE
    • FALSE
  3. ¿Qué devuelve =NOT(5>3)?
    • FALSE
    • TRUE
  4. B2 es 93. ¿Qué devuelve =IF(B2>=90, "A", IF(B2>=80, "B", "C"))?
  5. B2 es 85. Misma fórmula. ¿Qué devuelve?
  6. B2 es 93. ¿Qué devuelve la fórmula mal ordenada =IF(B2>=60, "D", IF(B2>=90, "A", "F"))?
  7. ¿Cuántos paréntesis de cierre terminan una fórmula que solo tiene cuatro IF anidados?
  8. ¿Cuántos niveles de funciones anidadas permite Excel?
  9. B2 es 66 y C2 es 88. ¿Qué devuelve =IF(AND(B2>=60, C2>=80), "Yes", "No")?
  10. ¿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
Ideas clave
  • 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