Lección 5 de 12 · Nivel 2: Intermedio

Función SI en Excel: SI anidado, SI.CONJUNTO, Y, O y SI.ERROR

En esta lección
  1. La estructura de SI
  2. SI con cálculos dentro
  3. Combinar condiciones con Y, O y NO
  4. Varias opciones: SI anidado y SI.CONJUNTO
  5. SI.ERROR: ocultar errores con criterio
  6. Funciones de apoyo muy útiles
  7. Resumen
Lo que lograrás en esta lección
  • Tomar decisiones en tus hojas con la función SI.
  • Combinar condiciones con Y, O y NO.
  • Resolver varios casos con SI.CONJUNTO en lugar de SI anidados.
  • Controlar errores con SI.ERROR sin ocultar fallos reales.
📥 Practica esta lección

Calcula el promedio, si aprueba y la calificación de 15 alumnos.

Hasta ahora tus fórmulas hacían siempre el mismo cálculo. Con la función SI le enseñas a Excel a tomar decisiones: aprobar o reprobar, aplicar o no un descuento, marcar un pedido como atrasado. Es la función lógica más usada del mundo y la puerta de entrada a hojas realmente automáticas.

La estructura de SI

=SI(prueba_lógica; valor_si_verdadero; valor_si_falso)
  • Prueba lógica: una comparación que solo puede ser VERDADERO o FALSO, por ejemplo B2>=60.
  • Valor si verdadero: lo que devuelve si se cumple.
  • Valor si falso: lo que devuelve si no se cumple.

Ejemplo: si la nota de la columna B es 60 o más, el alumno aprueba.

=SI(B2>=60; "Aprobado"; "Reprobado")

Los textos van entre comillas dobles; los números y las referencias, no.

Operadores de comparación

OperadorSignificadoEjemplo
=Igual aC2="Lima"
<>Distinto deC2<>"Lima"
> / <Mayor / menor queD2>1000
>= / <=Mayor o igual / menor o igualD2<=0

Si quieres profundizar en cómo funciona la lógica booleana detrás de esto, tenemos guías sobre operadores lógicos y tablas de verdad.

1. ¿Qué devuelve =SI(B2>=60;"Aprobado";"Reprobado") si B2 vale 60?

  • Aprobado
  • Reprobado
  • Un error

El operador >= significa "mayor o igual", así que 60 cumple la condición.

SI con cálculos dentro

Los valores de resultado pueden ser fórmulas. Un comercio da un 10% de descuento en compras de 500 o más:

=SI(D2>=500; D2*0,9; D2)

Mejor aún, con los parámetros en celdas (lección 3): si el mínimo está en H1 y el descuento en H2:

=SI(D2>=$H$1; D2*(1-$H$2); D2)

Para dejar una celda "en blanco" cuando no se cumple, usa dos comillas seguidas: =SI(E2="";"";E2*1,18). Así evitas ver ceros o errores en filas que todavía no tienen datos.

Combinar condiciones con Y, O y NO

Cuando la decisión depende de más de una condición:

  • Y(cond1; cond2; …) es VERDADERO solo si todas se cumplen.
  • O(cond1; cond2; …) es VERDADERO si al menos una se cumple.
  • NO(cond) invierte el resultado.

Ejemplo: un vendedor recibe bono si vendió más de 10.000 y tiene menos de 3 devoluciones:

=SI(Y(C2>10000; D2<3); "Bono"; "Sin bono")

Envío gratis si el cliente es "Premium" o la compra supera 200:

=SI(O(B2="Premium"; E2>200); 0; 15)

2. Hay bono si las ventas (B2) superan 10.000 y la antigüedad (C2) es de al menos 1 año. ¿Qué fórmula es correcta?

  • =SI(O(B2>10000;C2>=1);"Bono";"")
  • =SI(Y(B2>10000;C2>=1);"Bono";"")
  • =Y(SI(B2>10000;C2>=1))

Y exige que se cumplan todas las condiciones; O se conformaría con una sola.

Varias opciones: SI anidado y SI.CONJUNTO

¿Y si hay más de dos resultados posibles? Por ejemplo, clasificar notas: 90 o más "Excelente", 75 o más "Bueno", 60 o más "Suficiente", el resto "Insuficiente".

La forma clásica: SI dentro de SI

=SI(B2>=90;"Excelente";SI(B2>=75;"Bueno";SI(B2>=60;"Suficiente";"Insuficiente")))

Funciona en cualquier versión, pero es difícil de leer y fácil de romper con un paréntesis de más o de menos.

La forma moderna: SI.CONJUNTO

Disponible en Excel 2019, 2021, Microsoft 365 y Google Sheets (como IFS en inglés):

=SI.CONJUNTO(B2>=90;"Excelente"; B2>=75;"Bueno"; B2>=60;"Suficiente"; VERDADERO;"Insuficiente")

Se lee en parejas: condición, resultado; condición, resultado… El último par VERDADERO;"Insuficiente" actúa como "en cualquier otro caso".

El orden importa

Excel devuelve el resultado de la primera condición que se cumple. Si pusieras B2>=60 primero, una nota de 95 entraría ahí y saldría "Suficiente". Ordena siempre de la condición más exigente a la menos exigente.

¿Más de 4 o 5 tramos?

Si tienes muchos tramos (escalas de comisiones, tablas de impuestos), no anides más: crea una pequeña tabla de tramos y usa BUSCARV o BUSCARX con coincidencia aproximada. Lo verás en la siguiente lección; es más fácil de mantener.

3. Con SI.CONJUNTO calificas notas: 90 o más "Excelente", 70 o más "Bueno", el resto "Regular". ¿En qué orden escribes las condiciones?

  • De la menos exigente a la más exigente (≥70 primero)
  • De la más exigente a la menos exigente (≥90 primero)
  • El orden no importa

SI.CONJUNTO devuelve el resultado de la primera condición verdadera. Si pones ≥70 primero, un 95 saldría "Bueno".

SI.ERROR: ocultar errores con criterio

SI.ERROR(fórmula; valor_si_error) devuelve el resultado de la fórmula o, si da error, lo que tú indiques:

=SI.ERROR(D2/C2; 0)
=SI.ERROR(BUSCARV(A2;Clientes;2;FALSO); "No registrado")

Úsala para errores que esperas (un divisor vacío, un código que aún no existe), no para esconder fórmulas mal hechas: si todo devuelve "0", nunca sabrás que algo falló.

Funciones de apoyo muy útiles

  • ESBLANCO(A2): VERDADERO si la celda está vacía.
  • ESNUMERO(A2): VERDADERO si es un número (detecta números guardados como texto).
  • HOY(): la fecha actual. Combinada con SI: =SI(D2<HOY();"Vencida";"Al día").

Ejercicio práctico: control de pedidos

Tienes una lista con estas columnas: Pedido (A), Monto (B), Fecha de entrega (C), Entregado (D, con "Sí" o "No"). Crea una columna E Estado que muestre:

  • "Entregado" si D es "Sí".
  • "Atrasado" si no está entregado y la fecha de entrega ya pasó.
  • "En plazo" en cualquier otro caso.

Después, en la columna F, calcula una penalización del 5% del monto solo para los pedidos atrasados de más de 1.000.

Ver solución
E2: =SI.CONJUNTO(D2="Sí";"Entregado"; C2<HOY();"Atrasado"; VERDADERO;"En plazo")
F2: =SI(Y(E2="Atrasado"; B2>1000); B2*5%; 0)

Sin SI.CONJUNTO: =SI(D2="Sí";"Entregado";SI(C2<HOY();"Atrasado";"En plazo"))

Resumen

  • SI evalúa una condición y devuelve uno de dos valores.
  • Y exige que se cumplan todas las condiciones; O, al menos una.
  • SI.CONJUNTO reemplaza a los SI anidados; ordena de lo más exigente a lo menos.
  • SI.ERROR controla errores esperados; no la uses para tapar fórmulas mal hechas.

En la próxima lección: BUSCARV y BUSCARX: cómo buscar datos entre tablas. Verás BUSCARV paso a paso, BUSCARX, INDICE+COINCIDIR, búsqueda por tramos y cómo resolver el error #N/D.

¿Quieres tu certificado gratis?

Crea tu cuenta, marca tus avances y descarga el certificado al terminar el curso.

Inscribirme gratis