Un SI anidado es un SI dentro de otro SI, y se usa cuando hay más de dos resultados posibles. =SI(B2>=90;"A";SI(B2>=80;"B";SI(B2>=70;"C";"F"))) da una A con 90 o más, una B de 80 a 89, una C de 70 a 79 y una F por debajo de 70. La función SI se llama IF en inglés, y la tabla muestra la fórmula en inglés; también acepta las fórmulas escritas en español, con punto y coma (o con comas, como en México).
| A | B | C | |
|---|---|---|---|
| 1 | Student | Score | Grade |
| 2 | Ana | 94 | A |
| 3 | Ben | 81 | B |
| 4 | Chloe | 70 | C |
| 5 | Dan | 65 | F |
| 6 | Eve | 88 | B |
| 7 | Finn | 90 | A |
=SI(B2>=90;"A";SI(B2>=80;"B";SI(B2>=70;"C";"F")))Haz clic en C2 y mira la barra de fórmulas: tres funciones SI y tres paréntesis de cierre al final. Cambia la puntuación de Dan en B5 a 75 y su nota pasa de F a C.
Cómo se lee un SI anidado
Excel lee la fórmula desde el principio y se detiene en la primera prueba que es VERDADERO:
=IF(B2>=90, "A",
IF(B2>=80, "B",
IF(B2>=70, "C",
"F")))
- ¿La puntuación es 90 o más? Entonces A, y no se comprueba nada más.
- Si no, ¿es 80 o más? Entonces B. Esta prueba no necesita decir "y menor que 90", porque una puntuación de 90 o más nunca llega hasta aquí.
- Si no, ¿es 70 o más? Entonces C.
- Si no, F, el valor_si_falso del último SI.
Cada SI interior ocupa el lugar del valor_si_falso del anterior. Excel admite hasta 64 niveles, pero una fórmula con más de cuatro o cinco es difícil de revisar a simple vista. Excel acepta saltos de línea dentro de una fórmula, así que puedes distribuir una fórmula larga como esta en la barra de fórmulas: pulsa Alt+Enter (Windows) o Control+Opción+Retorno (Mac) antes de cada SI.
Por qué importa el orden de las condiciones
Como Excel se detiene en la primera prueba VERDADERO, con >= los umbrales deben ir del más alto al más bajo. La columna D tiene las mismas tres pruebas en el orden contrario:
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Student | Score | Right order | Wrong order |
| 2 | Ana | 94 | A | C |
| 3 | Ben | 81 | B | C |
| 4 | Chloe | 70 | C | C |
| 5 | Dan | 65 | F | F |
| 6 | Eve | 88 | B | C |
=SI(B2>=70;"C";SI(B2>=80;"B";SI(B2>=90;"A";"F")))En la columna D todos los que tienen 70 o más reciben una C: una puntuación de 94 pasa la primera prueba, B2>=70, y nunca se llega a las pruebas de B y A. Si prefieres empezar por el tramo más bajo, invierte los operadores: =SI(B2<70;"F";SI(B2<80;"C";SI(B2<90;"B";"A"))) da las mismas notas que la columna C.
SI anidado con texto
Las pruebas también pueden comparar texto. Aquí el costo de envío depende de la región, y toda región que no se nombra recibe el último valor:
| A | B | C | |
|---|---|---|---|
| 1 | Order | Region | Fee |
| 2 | 1001 | North | $5.00 |
| 3 | 1002 | South | $7.00 |
| 4 | 1003 | West | $9.00 |
| 5 | 1004 | East | $6.00 |
| 6 | 1005 | Islands | $9.00 |
=SI(B2="North";5;SI(B2="South";7;SI(B2="East";6;9)))West e Islands no cumplen ninguna de las tres pruebas y reciben el valor final, $9.00. Cuando todas las pruebas comparan la misma celda con un valor fijo, como aquí, CAMBIAR (SWITCH en inglés) escribe la misma regla nombrando cada región una sola vez: =CAMBIAR(B2;"North";5;"South";7;"East";6;9). Consulta la página de CAMBIAR.
SI anidado con Y
Un SI anidado puede combinar sus niveles con Y u O (AND y OR en inglés) cuando un tramo depende de dos celdas. Un vendedor con ventas de 2000 o más y al menos 3 años recibe el 10%, cualquier otro por encima de 2000 recibe el 5% y el resto, nada:
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Rep | Sales | Years | Rate |
| 2 | Ana | 2400 | 4 | 10% |
| 3 | Ben | 2100 | 1 | 5% |
| 4 | Chloe | 1500 | 6 | 0% |
| 5 | Dan | 3000 | 3 | 10% |
| 6 | Eve | 900 | 2 | 0% |
=SI(Y(B2>=2000;C2>=3);10%;SI(B2>=2000;5%;0))Ana y Dan llegan al 10%, Ben tiene las ventas pero no los años y recibe el 5%, y Chloe y Eve reciben 0%. Aquí también importa el orden: la prueba más estricta va primero.
SI.CONJUNTO: lo mismo sin anidar
En Excel 2019, Excel 2021 y Microsoft 365, SI.CONJUNTO (IFS en inglés) toma las pruebas y los resultados por parejas, sin SI interiores y con un solo paréntesis de cierre. VERDADERO como última prueba hace de "todo lo demás":
=IFS(B2>=90,"A",B2>=80,"B",B2>=70,"C",TRUE,"F")
En Excel en español: =SI.CONJUNTO(B2>=90;"A";B2>=80;"B";B2>=70;"C";VERDADERO;"F"). Lee las condiciones en el mismo orden y se detiene en la primera VERDADERO, así que la regla del orden sigue valiendo. La página de SI.CONJUNTO lo explica, incluido el #N/A que devuelve cuando ninguna prueba se cumple. En Excel 2016 y anteriores SI.CONJUNTO no existe, y un archivo que la usa muestra ahí #¿NOMBRE? (#NAME? en inglés).
Práctica: una comisión con tres tramos
| A | B | C | |
|---|---|---|---|
| 1 | Rep | Sales | Commission |
| 2 | Ana | $6,200 | |
| 3 | Ben | $2,400 | |
| 4 | Chloe | $600 |
Tu turno: En C2, paga el 10% de las ventas de B2 cuando sean 5000 o más, el 5% cuando sean 1000 o más, y 0 en los demás casos. La fórmula se copia hasta C4.
Una tabla de búsqueda en lugar de muchos SI
Cuando los tramos son números y hay más de tres o cuatro, guarda los umbrales en una tabla pequeña y búscalos. La tabla está ordenada del umbral más bajo al más alto, y la coincidencia aproximada (VERDADERO como último argumento) devuelve la fila del mayor umbral que no supera la puntuación:
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Student | Score | Grade | Min score | Grade | |
| 2 | Ana | 94 | A | 0 | F | |
| 3 | Ben | 81 | B | 70 | C | |
| 4 | Chloe | 70 | C | 80 | B | |
| 5 | Dan | 65 | F | 90 | A | |
| 6 | Eve | 88 | B |
=BUSCARV(B2;$E$2:$F$5;2;VERDADERO)Los resultados coinciden con el SI anidado del principio de la página. En Excel en español la fórmula de C2 es =BUSCARV(B2;$E$2:$F$5;2;VERDADERO) (BUSCARV es VLOOKUP en inglés). Para mover el tramo B a 85, cambia E4 a 85: ninguna fórmula cambia y todas las notas se actualizan. Con BUSCARX (XLOOKUP en inglés) la misma búsqueda es =BUSCARX(B2;$E$2:$E$5;$F$2:$F$5;;-1), donde -1 significa "coincidencia exacta o el siguiente valor menor"; entonces la tabla no necesita estar ordenada.
Pruébalo: la tabla de tramos está lista, escribe la búsqueda.
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Student | Score | Grade | Min score | Grade | |
| 2 | Ana | 86 | 0 | F | ||
| 3 | 70 | C | ||||
| 4 | 80 | B | ||||
| 5 | 90 | A |
Tu turno: En C2, devuelve la nota de la puntuación de B2 a partir de la tabla de tramos de E2:F5.
Preguntas frecuentes
¿Cómo se escriben varias funciones SI en Excel?
Pon el SI siguiente en el argumento valor_si_falso del anterior: =SI(B2>=90;"A";SI(B2>=80;"B";SI(B2>=70;"C";"F"))). Excel comprueba las condiciones de la primera a la última y se detiene en la primera que es VERDADERO.
¿Cuántas funciones SI se pueden anidar en Excel?
Hasta 64 niveles en Excel 2007 y posteriores. Mucho antes de ese límite, la fórmula se vuelve difícil de leer y de revisar; con más de tres o cuatro tramos, una tabla de búsqueda con BUSCARV aproximado o BUSCARX es más fácil de mantener.
¿Por qué mi SI anidado devuelve un resultado equivocado?
Casi siempre porque las condiciones están en el orden equivocado. Con pruebas >=, empieza por el umbral más alto: si B2>=70 va primero, una nota de 95 se detiene ahí y recibe el resultado del tramo de 70.
¿Qué puedo usar en lugar de un SI anidado en Excel?
SI.CONJUNTO en Excel 2019 y posteriores (=SI.CONJUNTO(B2>=90;"A";B2>=80;"B";VERDADERO;"F")), CAMBIAR cuando comparas un valor con valores fijos, y una tabla de búsqueda con =BUSCARV(B2;$E$2:$F$5;2;VERDADERO) para tramos numéricos.