Muchas hojas de cálculo necesitan tomar decisiones: marcar un pedido como urgente, saber si un cliente tiene descuento o avisar cuando un importe supera un límite. Hacerlo a mano, fila por fila, es lento y provoca errores. Excel lo resuelve con tres funciones lógicas que se combinan entre sí: SI, Y y O.
Aquí verás cómo funciona cada una, cómo unirlas en una sola fórmula, cuándo conviene usar SI anidados o SI.CONJUNTO y qué errores suelen aparecer. Todos los ejemplos usan una pequeña tabla de pedidos que puedes copiar para practicar.
Los datos de ejemplo
Partimos de esta tabla, con los encabezados en la fila 1 y los datos desde la fila 2:
| Cliente (A) | Importe (B) | Pagado (C) | Zona (D) |
|---|---|---|---|
| Cliente A | 1250 | Sí | Norte |
| Cliente B | 480 | No | Sur |
| Cliente C | 760 | Sí | Centro |
| Cliente D | 1900 | No | Norte |
Las fórmulas se escriben en la fila 2 de una columna libre y luego se copian hacia abajo arrastrando el controlador de relleno.
Cómo funciona la función SI
SI evalúa una condición y devuelve un valor si se cumple y otro distinto si no se cumple. Su sintaxis es:
=SI(prueba_lógica;valor_si_verdadero;valor_si_falso)
- prueba_lógica: una comparación que da VERDADERO o FALSO, como
B2>=1000. - valor_si_verdadero: lo que aparece si la condición se cumple. Puede ser un texto, un número u otra fórmula.
- valor_si_falso: lo que aparece si no se cumple. Si lo omites, Excel muestra FALSO.
Para clasificar los pedidos por tamaño:
=SI(B2>=1000;"Grande";"Normal")
El Cliente A y el Cliente D obtienen "Grande"; el resto, "Normal". Los textos siempre van entre comillas dobles; los números y las referencias a celdas, no.
Operadores de comparación
Dentro de la prueba lógica puedes usar = (igual), <> (distinto), >, <, >= y <=. Las comparaciones de texto no distinguen mayúsculas de minúsculas: C2="sí" y C2="Sí" dan el mismo resultado. En cambio, las tildes sí cuentan: "Si" sin tilde no es igual a "Sí".
Y y O: evaluar varias condiciones
Las funciones Y y O no devuelven textos, sino VERDADERO o FALSO. Su utilidad está en agrupar varias condiciones:
Ydevuelve VERDADERO solo si todas las condiciones se cumplen.Odevuelve VERDADERO si al menos una se cumple.
Por ejemplo, para saber si un pedido es grande y además está pagado:
=Y(B2>=1000;C2="Sí")
Solo el Cliente A cumple ambas condiciones. Esta otra fórmula comprueba si el pedido es grande o está pagado:
=O(B2>=1000;C2="Sí")
Aquí dan VERDADERO los clientes A, C y D. Únicamente el Cliente B, con un importe bajo y sin pagar, devuelve FALSO. Ambas funciones admiten hasta 255 condiciones, aunque con más de cuatro o cinco la fórmula se vuelve difícil de leer.
Combinar SI con Y y O
La potencia real aparece cuando colocas Y u O como prueba lógica de SI. Así conviertes el VERDADERO o FALSO en un mensaje útil.
Ejemplo con Y
Supón que regalas una muestra a los pedidos grandes que ya están pagados:
=SI(Y(B2>=1000;C2="Sí");"Enviar regalo";"")
Las comillas vacías del final hacen que la celda quede en blanco cuando no se cumple la condición, lo que deja la columna más limpia.
Ejemplo con O
Ahora imagina que las zonas Norte y Sur tienen envío gratis y el resto paga transporte:
=SI(O(D2="Norte";D2="Sur");"Envío gratis";"Con coste")
Y y O en la misma fórmula
También puedes meter una función dentro de otra. Esta fórmula marca como prioritarios los pedidos pagados que sean grandes o que vayan a la zona Norte:
=SI(Y(C2="Sí";O(B2>=1000;D2="Norte"));"Prioritario";"Normal")
Este es el resultado de las tres fórmulas con los datos de ejemplo:
| Cliente | Regalo | Envío | Prioridad |
|---|---|---|---|
| Cliente A | Enviar regalo | Envío gratis | Prioritario |
| Cliente B | (vacío) | Envío gratis | Normal |
| Cliente C | (vacío) | Con coste | Normal |
| Cliente D | (vacío) | Envío gratis | Normal |
SI anidados y SI.CONJUNTO
Cuando necesitas más de dos resultados, puedes poner un SI dentro de otro. Para clasificar los pedidos en tres tamaños:
=SI(B2>=1000;"Grande";SI(B2>=500;"Mediano";"Pequeño"))
Excel evalúa las condiciones en orden y se detiene en la primera que se cumple. Por eso el orden importa: si pusieras primero B2>=500, un pedido de 1900 se quedaría en "Mediano".
En Excel 2019, Excel 2021 y Microsoft 365 tienes una alternativa más legible, SI.CONJUNTO, que evita encadenar paréntesis:
=SI.CONJUNTO(B2>=1000;"Grande";B2>=500;"Mediano";VERDADERO;"Pequeño")
La última pareja, con VERDADERO como condición, funciona como un "en cualquier otro caso". Si no la incluyes y ninguna condición se cumple, la fórmula devuelve el error #N/A.
Consejos para no perderte con los anidados:
- Escribe primero las condiciones en orden, de la más restrictiva a la más general.
- Comprueba que cada
SIabierto tiene su paréntesis de cierre. Excel colorea las parejas de paréntesis mientras escribes. - Si pasas de tres o cuatro niveles, plantéate usar una tabla de rangos con
BUSCARVen coincidencia aproximada. - Prueba la fórmula con valores límite (exactamente 500 o 1000) para confirmar que caen en el grupo correcto.
Usar SI para comparar dos columnas
Otro uso muy frecuente es revisar si dos listas coinciden fila a fila, por ejemplo los precios de un mes frente a los del mes anterior. Si los valores están en las columnas A y B:
=SI(A2=B2;"Igual";"Distinto")
Esta comparación no distingue mayúsculas. Si necesitas que "PROD-1″ y "prod-1″ cuenten como diferentes, usa la función IGUAL:
=SI(IGUAL(A2;B2);"Igual";"Distinto")
Con números, a veces dos valores parecen idénticos pero uno está guardado como texto, y la fórmula devuelve "Distinto". Revisa la alineación (los números se alinean a la derecha por defecto) o convierte el texto con VALOR.
Este método sirve cuando ambas listas están en la misma hoja y en el mismo orden. Si lo que quieres es comparar dos archivos completos, nuestra herramienta gratuita para comparar archivos de Excel revisa las dos versiones y genera un archivo con los cambios, sin escribir ninguna fórmula.
Errores habituales con SI, Y y O
- Olvidar las comillas en los textos. Si escribes
C2=Sísin comillas, Excel interpreta Sí como un nombre definido y devuelve #¿NOMBRE?. - Encadenar comparaciones como en matemáticas.
500<B2<1000no funciona como esperas: Excel compara primero500<B2, obtiene VERDADERO o FALSO y luego compara ese resultado con 1000. Lo correcto esY(B2>500;B2<1000). - Usar el separador equivocado. Según la configuración regional, los argumentos se separan con punto y coma o con coma. Si Excel rechaza la fórmula, prueba con el otro separador.
- Números guardados como texto. Excel considera cualquier texto mayor que cualquier número, así que
B2>=1000devuelve VERDADERO aunque el importe sea el texto "250″. Ocurre a menudo con datos importados desde CSV. - Espacios invisibles. "Norte " con un espacio final no es igual a "Norte". Limpia los datos con
ESPACIOSantes de comparar.
Conclusión
SI decide entre dos resultados, Y exige que se cumplan todas las condiciones y O se conforma con una. Combinadas, cubren la mayoría de reglas que encontrarás en una hoja de cálculo: descuentos, prioridades, alertas o validaciones.
Empieza con fórmulas sencillas, comprueba los resultados con valores límite y, cuando la lógica crezca, pasa a SI.CONJUNTO o a columnas auxiliares. Una fórmula que se entiende a simple vista es mucho más fácil de corregir dentro de unos meses.
Preguntas frecuentes
¿Cuántos SI puedo anidar en una fórmula?
Desde Excel 2007 puedes anidar hasta 64 funciones SI. En la práctica, más de tres o cuatro niveles hacen la fórmula difícil de mantener; en esos casos es mejor SI.CONJUNTO o una tabla de búsqueda.
¿Qué devuelve SI si no indico el valor si falso?
Si omites el tercer argumento, Excel muestra FALSO cuando no se cumple la condición. Para dejar la celda en blanco, escribe dos comillas dobles seguidas ("") como tercer argumento.
¿Puedo usar SI con fechas?
Sí. Compara la celda con otra fecha o con HOY(), por ejemplo =SI(F2<HOY();"Vencido";"En plazo"). Evita escribir la fecha como texto entre comillas dentro de la fórmula, porque el resultado depende de la configuración regional.
¿Existe una función para invertir una condición?
Sí, la función NO convierte VERDADERO en FALSO y viceversa. Por ejemplo, =SI(NO(C2="Sí");"Reclamar pago";"") avisa de los pedidos pendientes de pago. Equivale a usar el operador <>.
Prueba nuestras herramientas gratuitas
Compara, convierte, combina y limpia tus hojas de cálculo desde el navegador, sin instalar nada.