Guías de Excel

Funciones SI, Y y O en Excel: cómo tomar decisiones con fórmulas

Aprende a usar SI, Y y O en Excel con ejemplos prácticos: una condición, varias condiciones, SI anidados, SI.CONJUNTO y comparación de columnas.

Funciones SI, Y y O en Excel: cómo tomar decisiones con fórmulas

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:

  • Y devuelve VERDADERO solo si todas las condiciones se cumplen.
  • O devuelve 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:

  1. Escribe primero las condiciones en orden, de la más restrictiva a la más general.
  2. Comprueba que cada SI abierto tiene su paréntesis de cierre. Excel colorea las parejas de paréntesis mientras escribes.
  3. Si pasas de tres o cuatro niveles, plantéate usar una tabla de rangos con BUSCARV en coincidencia aproximada.
  4. 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<1000 no funciona como esperas: Excel compara primero 500<B2, obtiene VERDADERO o FALSO y luego compara ese resultado con 1000. Lo correcto es Y(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>=1000 devuelve 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 ESPACIOS antes 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.

Ver todas las herramientas
Scroll to Top