Cómo usar las funciones SI en Excel con varias condiciones

En Excel una de las funciones más utilizadas es «SI», esta te permite efectuar comparaciones lógicas de un valor, para obtener un resultado u otro.

La función toma tres parámetros, el primero consiste en la comparación lógica, el segundo es el resultado que se devolverá en caso de que la comparación sea verdadera, y el tercer parámetro es el valor que se devolverá si la comparación es falsa.

¿Quieres aprender a dominar las mejores FÓRMULAS EN EXCEL?

Ejemplos de función SI en Excel

Para comprender un poco mejor cómo opera esta función, te presentamos varios ejemplos sencillos:

=SI(B2="Activo",1,0)

Le indica a Excel que devuelva un «1» como resultado, si el valor de la celda B2 es igual a «Activo», en caso contrario debe devolver un «0».

=SI(A2>B2,"Monto sobregirado","Aprobado")

Le indica a Excel que devuelva «Monto sobregirado» como resultado, si el valor de la celda A2 es mayor B2, en caso contrario debe devolver «Aprobado».

=SI(A2>B2,B2,A2)

Le indica a Excel que devuelva el valor del «Monto requerido» como resultado, si el valor de la celda A2 es mayor B2, en caso contrario debe devolver el valor del «Monto ofrecido».

Función SI Y en Excel con varias condiciones

Para incluir varias condiciones en una función SI, se debe hacer uso de la función «Y» o de la función «O».

  • La función «Y» es condicional y devuelve «Verdadero» si ambas condiciones indicadas en sus parámetros se cumplen.
  • En cuanto a la función «O», devuelve «Verdadero» si una de las condiciones indicadas en sus parámetros se cumple.
=SI(Y(A2="Rojo",B2="Verde"),VERDADERO,FALSO)

En este caso la función arrojará «Verdadero» solo si el color ubicado en la columna A es igual a «Rojo» y el color de la columna «B» es igual a «Verde».

=SI(O(A2="Rojo",B2="Verde"),VERDADERO,FALSO)

En este caso la función arrojará «Verdadero» si el color ubicado en la columna A es igual a «Rojo» o el color de la columna «B» es igual a «Verde».

La función SI también puede ser utilizada con varias condiciones, creando de esta forma una función anidada.

¿Quieres aprender Excel desde Cero?
Inscríbete GRATIS y conviértete en un master en Excel

Para el ejemplo se evaluarán diversas puntuaciones (valores numéricos), y de acuerdo al valor de cada una se le asignará la letra correspondiente (A: para excelente, B: para bueno, C: regular, D: deficiente y F: reprobado).

=SI(A2>89,"A",SI(A2>79,"B", SI(A2>69,"C",SI(A2>59,"D","F"))))

Función si y en Excel inglés

La función SI en inglés opera de la misma manera, su sintaxis cambia en la forma en la que se escribe el nombre de la función en sí. Es decir, en lugar de ser SI (parámetro 1, parámetro 2, parámetro 3), se debe escribir

IF (parámetro 1, parámetro 2, parámetro 3).

En caso de que se desee utilizar en combinación con la función «Y» o con la función «O», estas también deben cambiar a su sintaxis en inglés, las cuales serían las siguientes:

  • AND (parámetro 1, parámetro 2)
  • OR (parámetro 1, parámetro 2)

Como ejemplo, presentamos algunos de los ejercicios previos escritos en inglés:

Ejemplo: =IF(A2>89,»A», IF(A2>79,»B», IF(A2>69,»C», IF(A2>59,»D»,»F»))))

Ejemplo: =IF(AND(A2=»Rojo»,B2=»Verde»),TRUE,FALSE)

Ejemplo: =IF(OR(A2=»Rojo»,B2=»Verde»),TRUE,FALSE)

Utilizar la función SI de Excel puede facilitarte el trabajo, especialmente cuando se requiere la comprobación de ciertos valores o condiciones. Además, al utilizarla en combinación con otras funciones su aplicación y utilidad se amplía, así como la efectividad y practicidad de la misma.

Conclusión

En este tutorial, has aprendido como realizar comparaciones complejas a través de usar las funciones SI + Y dentro de la hoja de cálculo.

Asegurate de seguir bien los ejemplos y ten cuidado con las comas (,) y los paréntesis () porque puede causar conflictos en esta función.

Publica un comentario y comparte tus dudas sobre esta función.

Gerardo Castro

Ing. Programador VBA y .NET
Me encanta programar en Excel y buscar nuevas formas de hacer las tareas más rápido.

112 comentarios en «Cómo usar las funciones SI en Excel con varias condiciones»

  1. HOLA GERARDO GRACIAS POR TU AYUDA, NECESITO REALIZAR EL SIGUINETE CÁLCULO. SEGÚN EL PORCENTAJE OBTENIDO CORRESONDE UNA CALIFICACIÓN: 100% IGUAL A 5; DESDE 97% AL 99.98% IGUAL A 4; DESDE EL 95% AL 96.5 IGUAL A 3; DESDE EL 92% AL 94.4% IGUAL A 4. DESDE YA MUCHAS GRACIAS!

    Responder
    • Hola Verónica, que tal?

      Para lograr lo que necesitas debes crear una función como la siguiente:

      =SI(A1=100%,5,SI(A1>=97%,4,SI(A1>=95%,3,SI(A1>92%,2,1))))

      Espero que esto te ayude, saludos!

      Responder
  2. Súper interesante todo lo que tiene que ver con las fórmulas de excel, hasta hace poco vengo practicándolas un poco más.
    Justo en estos días he intentado dar con la solución para una fórmula que utiliza «sumar.si.conjunto», pero no doy. Espero que me puedan ayudar. Mi fórmula es la siguiente:
    =SI(D2=»TODO»,SUMAR.SI.CONJUNTO(D10:D118,G10:G118,D3),SUMAR.SI.CONJUNTO(D10:D118,J10:J118,D2,G10:G118,D3))
    contexto: Es una tabla que tiene registro de impresiones por tipo de papel e impresora, si solo pongo la fórmula: «SUMAR.SI.CONJUNTO(D10:D118,J10:J118,D2,G10:G118,D3)» obtengo la suma de D10 hasta D118 según los valores de D2 (mod. de impresora) y D3 (tipo de papel).
    Pero con la primer fórmula quería obtener el resultado de la suma total en la misma celda en caso de que estuviera la palabra «todo» en D2(impresora), en D3 (papel) o en ambas.
    De antemano, Gracias.

    Responder
  3. Hola Gerardo, Gracias por este espacio. Es realmente practico y funcional

    Particularmente quiero que ver la posibilidad de que me ayudes en lo siguiente

    quiero que la celda muestre el valor que estoy agregando pero colocarse en color rojo si esta por debajo o por encima de dos valores específicos, sin modificar lo que yo estoy ingresando (solo cambiar a color rojo si esta por afuera del rango)

    Responder
    • Hola Pedro, gusto en saludarte,

      Para lograr lo que necesitas, deberás usar formatos condicionales agregando las condiciones y los colores correspondientes.

      Esta herramienta la encuentras en el menú Inicio / Formato Condicional, posteriormente te recomiendo usar REGLAS PARA RESALTAR CELDAS, y la opción de MENOR QUE o MAYOR QUE, para crear las reglas que necesitas.

      Espero que te ayude, saludos!

      Responder
  4. Hola me puede ayudar con una formula de si, que me indique cual celda es la mayor
    ejemplo celda A6=12.000 B6=13,000 C6=14,000 D6=15,000 E6=18,000 F6=9.000
    Necesito por favor que me devuelva si es A6 «A» SI ES B6 «B» SI es C6 «C» SI ES D6″D» SI ES F6 «F»

    MUCHAS GRACIAS

    Responder
  5. Hola muy buenas por aca excelente trabajo el de ustedes, estoy intentado hacer una formula IF para que me devuelva el % de comision segun el valor insertado en una celda, la formula que hice es: *=SI(C3>2000;C3*25/100;test,SI(C3>1999;C3*20/100,SI(C3>999;C3*15/100,SI(C3>499;C3*10/100))))*
    las condiciones son:
    10% menos de 499
    15% entre 500 – 999
    20% entre 1000 – 1999
    25% más de 2000

    Gracias de antemano espero alguien me pueda ayudar

    Responder
    • Ya logre hacer la formula era un error de comparaciones la correcta seria

      =SI(C3<=499;C3*10/100;SI(C3<=999;C3*15/100;SI(C3<=1999;C3*20/100;SI(C31999;C3*20/100;»Incerta un valor valido»)))))

      Espero que a alguien le sirva de ayuda, saludos

      Responder
      • Que tal Jose buen día,

        Asi es, es importante tener en cuenta la prioridad de las comparaciones y que puede ser que caiga en un caso que no corresponde, que era lo que estaba pasando la tu primer fórmula.

        Ya con el ajuste, como bien dices la solución es:
        =SI(C3>2000;C3*25%;SI(C3>1999;C3*20%;SI(C3>999;C3*15%;SI(C3>499;C3*10%;"Valor inválido"))))

        Gracias por tu comentario, saludos!

  6. Hola, espero estés bien tus explicaciones son excelentes y me han ayudado mucho, pero ahora enfrento una formula un poco mas compleja no se si me puedas ayudar
    requiero hacer una formula donde me arroje las palabras VENCIDO, POR VENCER, y VIGENTE. Si tengo un estudiante que realizo un curso el cual su certificado es vigente hasta 3 años y realizo el curso 20-ene-2022 y su vigencia es hasta 20-ene-2024 esto quiere decir que es vigente, ¿Cómo puedo hacer para que con las fechas me arroje un resultado con las palabras mencionadas anteriormente. mil gracias.¡¡

    Responder
    • Hola Milena gracias por tu comentario.

      Para poder resolver lo que necesitas, necesitariamos un poco más de contexto, por ejemplo, cuál es tu regla para decir que está por vencer? Quince días, un mes, etc.

      Por otra parte, para saber si está vigente o vencido, simplemente puedes usar lo siguiente:

      =SI(C1>=HOY(),"Vigente","Vencido")

      Donde C1 contiene la fecha de vencimiento.

      Espero que esto te ayude, saludos!

      Responder
  7. Hola en una celda c30 quiero hacer esta formula pero funciona a medias =Si(d250;d25;d28)
    O sea d25 tiene una formula cuyo resultado la quiero en la c30 siempre que la d25 sea distinto de 0, pero si no es distinto de cero que en la celda c30 aparezca el resultado de la formula de la celda d28.
    Lo que hace es poner d25 si es distinta de cero, pero no aplica la d28 si la d 25 es igual a cero. Gracias

    Responder
    • Que tal Mario,

      Gracias por tu comentario, para lograr lo que necesitas debes modificar tu fórmula como la siguiente:

      =Si(D25<>0;D25;D28)

      Espero que te ayude, saludos!

      Responder
  8. Saludos y nuestro agradecimiento por el excelente aporte a traves de las formulas de excel.

    Me gustaría poder recibir la ayuda de si la siguiente formula que estoy tratando de implementar, saber de entrada si no se puede crear o si solo esta mal estructura:

    =SI(O(Y(G17<8;E38=G15);(K17<8;L38=K15));1;0)

    Nuevamente muchas gracias.

    Responder
    • Hola Gonzalo,

      Gracias por comentario, con respecto a tu duda, creo que tu fórmula está incompleta, para que funcione debería quedar así:

      =SI(O(Y(G17<8;E38=G15);Y(K17<8;L38=K15));1;0)

      Lo que evalua es lo siguiente, si la celda G17 es menor que 8 y E38 es igual a G15, o, la K17 es menor a 8 y L38 es igual a K15, entonces devuelve 1, en caso contrario 0.

      Es un poco dificil de explicar jejeje, pero espero que te ayude, o si realmente es lo que necesitas.

      Responder
  9. Apenas ando keriendo usas este tipo d cosas, se me hacen muy interesantes, me faltan todos los simbolos por aprender!!! Si alguien me podria ayudar se los agradeceria!!!

    Responder
    • Hola Iván gusto en saludarte,

      Gracias por tu mensaje, y de acuerdo a lo que necesitas «L, D o V se marke con un color en cada caso;»

      Te recomiendo usar FORMATOS CONDICIONALES, lo encuentras en tu menú de INICIO, y desde la opción de REGLAS PARA RESALTAR CELDAS, encontrarás la opción de IGUAL A, que es donde podrás indicar que según la Letra, la celda de pinte de un color.

      Espero que esto te ayude,
      Saludos!

      Responder
    • Hola Gladys, para calcular un retardo, suponiendo que la hora de checada debe ser antes de las 8am, se tendría que hacer algo como esto:
      =SI(A1<=NSHORA(8,0,0),"A tiempo","Retardo")
      Saludos!

      Responder
      • Saludos Gerardo!!!
        Kisas tu me podrias ayudar???
        Hice una tabla y kiero q al poner un resultado de
        L, D o V se marke con un color en cada caso;
        L en verde
        D en amarillo
        V en rojo
        Pero no se como hacerlo!!!
        D antemano gracias y buen dia!!!

  10. Que tal Ing. Gerardo como puedo lograr en Excel, una formula o Función, que diera como resultado «0» ó «1», respecto a un tipo de actividad y un tiempo empleado en desarrollar esa actividad, es decir varias condiciones.
    9 Tipos de actividades: A, B, C, D, E, F, G, H, I.
    Tiempo de Actividad: 120′, 180′.
    Resultados: 0 y 1, respecto al tiempo empleado en cada actividad.

    Condiciones:
    Actividad A B C D E F G H I Resultado
    TIEMPO <=120' <=120' <=120' <=120' <=120' <=180' <=180' <=180' 120′ >120′ >120′ >120′ >120′ >180′ >180′ >180′ >180′ 1
    Ejemplo:
    Actividad Tiempo Resultado
    A 125′ 1
    C 103′ 0
    F 201′ 1
    B 75′ 0
    G 195′ 1
    I 120′ 0
    GRACIAS POR LA AYUDA

    Responder
    • Hola José gracias por tu comentarios,
      Para lograr lo que necesitas, entiendo que el tipo de actividad no influye en el resultado de 0,1, entonces tendrías que evaluar con lo siguiente:
      =SI(celda<=120,0,1)
      Espero que esto te ayude, saludos!

      Responder
  11. Que tal Ing. Gerardo como puedo lograr en excel tengo 3 columnas «EDAD», «TIPO EDAD», «GRUPO ETAREO», y deseo que en la columna grupo etareo me salda los resultados de «De 5 a mas años», «De 1 a 4 años», «Menores de 1 año», en la columna
    «EDAD» «TIPO EDAD» «GRUPO ETAREO»
    11 M Menores de 1 año
    11 A De 5 a mas años
    1 A De 1 a 4 años,
    segun sea el caso de M(mes), A(años),me arroje en el grupo etareo automaticamente el resultado de (menores de 1 año, de 1 a 4 años o de 5 a más años), por favor desde ya muchas gracias.

    Responder
    • Bueno muchas gracias, de todas formas ya encontré la fórmula ideal; y se los comparto por si a alguién lo use algún día…

      =SI(F2=»A», SI(E2>=1, SI(E2<=4, "DE 1 A 4 AÑOS", "DE 5 A MÁS AÑOS")), SI(F2="M", "MENORES DE 1 AÑO", " "))

      Responder
  12. Hola, a ver si me puede ayudar, necesito sacar un resultado de modo que si en una celda tengo «AZUL CIELO/VERDE/ROSA/MORADO», y en otra celda escribo solo uno de estos colores, por ejemplo «AZUL CIELO» o «VERDE» o «ROSA» o «MORADO» (es decir cualquiera de uno de los colores de la primera celda); me arroje un resultado de OK, en caso de escribir un color diferente en la segunda celda, me mande un mensaje de error.
    Muchas Gracias

    Responder
    • Hola Edgar, gracias por mensaje

      Si entiendo bien, para lograr lo que necesitas deberías usar una fórmula como la siguiente:
      =SI(A2=B2,"Ok","Error")
      Teniendo en cuenta que en la columna A, tienes el color base, y sobre la B tienes el segundo color.
      Espero que te ayude, saludos!

      Responder
  13. Buenos días
    Me podrían ayudar por favor quiero una formula que me ayude a evaluar si un trabajador participa o esta descalificado para premio de puntualidad con base en lo siguiente:
    Celda X4 tiene suma total de retardos del mes
    Celda Y muestra si Participa o no
    Si los retardos totales son mayor a 3 entonces esta Descalificado
    Si los retardos totales son menores a 3 entonces Participa

    Muchas gracias

    Responder
    • Hola Paola,
      Gracias por tu comentario, con la información que nos compartes es dificil saber como tienes estructura la información, pero puede ser que alguna de las siguientes funciones te sirva:
      Suma retardos (mayor a cero):
      =contar.si(A2:H2,">0")

      Suma puntualidad(igual a cero):
      =contar.si(A2:H2,0)

      Descalificado:
      =SI(I2>3,"Descalificado","Participa")

      Espero que estas funciones te ayuden, saludos!

      Responder
  14. Hola que tal, quiero hacer una super operación, en una celda (A1)tengo valores: aprobado, desaprovado, intermedio, en otra(B1) valores de -2,-1,0,1,2, en otra (C3) valores -1,0-1,2,3,5,etc. la condición es la siguiente: A1=Aprobado, que B1 sea >0 y C3>=0, como lo puedo condicionar todo?
    Aparte ya tengo otra formula, que depende si se cumple lo de arriba pasaria a la que ya tengo, como las puedo unir?

    Responder
    • Que tal Rosario, gracias por tu mensaje.
      Si entiendo bien lo que necesitas, es que deseas validar que los valores de B y C sean correctos, de acuerdo a A1, si es así una función lógica no te va ayudar del todo, te recomendaría probar con VALIDACIÓN DE DATOS de está manera podrás unir la otra fórmula de comprobación.

      Espero esto pueda guiarte, si tienes más preguntas quedo atento.

      Responder
  15. Hola Gerardo!
    Muy precisos tus ejemplos.
    Quizás podrías colocar un ejemplo más complejo como condiciones de rangos.
    Algo así: =SI(F3<=90;"Hasta 90 días";SI(90<F3<=120;"Hasta 120 días";SI(120<F3<=180;"Hasta 180 días";"Mayor a 180 días")))
    Pero que funcione de manera correcta, pues la mía no me logra leer más que la primera y la última condición.

    Muchas Gracias.

    Responder
    • Que tal Ana María,
      Gracias por dejarnos tus comentarios, y te comparto con gusto un ejemplo con rangos, para lograr lo que comentas tendrías que hacer algo como esto:

      =SI(F3<=90;"Hasta 90 días";SI(Y(F3>90;F3<=120);"Hasta 120 días";SI(Y(F3>120;F3<=180);"Hasta 180 días";"Mayor a 180 días")))

      o bien también puedes lograrlo de forma más simple así:

      =SI(F3<=90;"Hasta 90 días";SI(F3<=120;"Hasta 120 días";SI(F3<=180;"Hasta 180 días";"Mayor a 180 días")))

      Espero que estás opciones te ayuden. Saludos!

      Responder
  16. Hola. Necesito una fórmula que no estoy logrando realizar:
    a1 siempre tendrá un valor, b1 tendrá un valor posterior
    si B1 es 0, la celda c1 me de el valor de A1, si B1 es mayor a 0, C1 me de el valor de B1.
    GRACIAS POR LA AYUDA

    Responder
    • Hola Débora,
      Gracias por tu comentario, si lo entiendo bien, creo que la fórmula que deberías usar es la siguiente función en la celda C1:
      =SI(B1=0,A1,SI(B1>0,B1,0))
      Espero que te ayude, saludos!

      Responder
  17. Que tal, muchas gracias por el posteo!
    Estoy teniendo una duda con una formula.
    Quiero utilizar esta funcion para sacar los dias de vacaciones que le corresponden a cada trabajador segun su antiguedad.
    =SI(AK13=5;21;SI(AK13=10;28;SI(AK13=20;35))))))

    Pero me toma como 21 dias una persona que deberia indicar 28 dias.
    Que deberia agregar para que tome por rangos?

    Responder
    • Hola Mauro mucho gusto.

      Claro, para lograr lo que necesitas deberías usar una función como esta:
      =SI(AK13<=5;21;SI(AK13<=10;28;SI(AK13>10;35))))))

      Espero que te ayude, saludos!

      Responder
  18. Yo quiero poner la fórmula con el siguiente mandato: ejemplo
    A1=200 quiero poner si A1 es mayor a 100 calcular el 50% de A1, pero si es menor a 100 pasar el valor que tiene igual (sea A1 un valor X menor a 100)

    Responder
    • Que tal Luz,
      Gracias por comentario, para lograr lo que necesitas debes usar la siguiente fórmula:
      =SI(A1>=100,A1*50%,A1)
      Espero que te ayude, si tienes alguna pregunta, quedo atento a tu respuesta.

      Responder

Deja un comentario

Artículo añadido al carrito.
0 artículos - $0.00