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.

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

  1. Hola Gerardo
    Felicitación por tu espacio de ayuda.
    Te consulto: necesito introducir una formula ( como condición falsa) en una función SI. ¿Como lo hago? La formula es =dias(a1;a2)
    Lo he intentado asi… si(b1=0;» «;aqui deberia introducir la formula).. no me resulta.
    Gracias por tu ayuda

    Responder
    • Que tal Patricio, gusto saludarte

      Si entiendo bien lo que necesitas, tendrías que hacer algo como esto:
      =SI(B1=0;"";DIAS(A1;A2))
      Espero que te ayude, saludos!

      Responder
  2. HOLA GERARDO, veo que ayudas a mucha gente que se esta rompiedo el coco. De ser posible me ayudarias con esto que me esta rompiedo el mio 🙁

    tengo que formular valor a fletes:
    el flete de 1 a N pallets =(total calculo) pero si el total calculo> X ,entonces el total calulo es X.

    Responder
    • Que tal Sharon,
      Gracias por tu comentario.

      Si bien entiendo lo que necesitas, deberias usar una funcion como la siguiente:
      =SI(totalcalculo>X,X,totalcalculo)

      Espero que te ayude, saludos!

      Responder
  3. Hola, quiero desarrollar una fórmula que me ayude con lo siguiente.
    Tengo una planilla con los sig datos.
    Columna A= Fecha Columna B=Nombre y Apellido Columna C=Consulta o Práctica
    Lo que necesito hacer es detectar si un mismo nombre y apellido tiene 2 o más consultas un mismo día, le busco la vuelta y la verdad que me estoy rompiendo el coco pero no me sale. Espero puedas ayudarme.
    Gracias,

    Responder
    • Hola Carlos, gracias por tu mensaje,

      Para lograr lo que necesitas te recomiendo las funciones condicionales de contar si que te permite realizar cuentas en base a condiciones.

      Según la configuración de tu planilla, deberías usar algo como esto:
      =CONTAR.SI.CONJUNTO(B:B,B1,C:C,C1)

      Espero que te ayude, saludos!

      Responder
      • Gerardo, muchas gracias por tomarte tu tiempo en responder.
        Quizás me expresé mal, lo que necesito es que me individualice los casos que por ejemplo tienen más de una consulta el mismo día.
        Por ej. en el caso de abajo, que me alerte que DEL CASTILLO tuvo dos consulta el 24/04/2024 ya sea en otra columna, realtando en color, etc etc pero que me sea facil individualizar los casos. No se si me explico o es muy rebusccado.

        FECHA APELLIDO CONSULTA/PRACTICA
        24/04/2024 DEL CASTILLO CONSULTA
        04/04/2024 ESCALANTE CONSULTA
        16/04/2024 MEDINA PRACTICA
        24/04/2024 DEL CASTILLO CONSULTA
        29/04/2024 FERREIRA PRACTICA

        Desde ya vuelvo a agradecerte por el tiempo que dedicas a responder.
        Muchas gracias, saludos,

  4. Hola tengo una duda en cuanto a la formula correcta, puede ayudarme
    En este control de ventas se muestra qué productos han sido vendidos o no en los primeros 6 meses. Si aparece 1 significa que fue vendido, caso contrario figura 0.
    En la columna Estado debe mostrarse el código A si fue vendido por 4 meses o más y el código B si fue vendido en menos de 4 meses

    Responder
      • hola Gerardo, tengo una duda al usar la Formula si e Y juntas
        por ejemplo
        tengo una fecha de inicio, una fecha de limite y la fecha real en la que se termino el trabajo
        o sea son tres condiciones ( A TIEMPO, PRONTA ENREGA Y DEMORADO)
        Y yo hago
        =si(F.R>=F.Lim; «Demorado»; SI(Y(F.I>F.lim; «pronta entrega»); » A TIEMPO»)
        me da error, tambien me estaria faltando si en la casilla de fecha real no hay nada y/o se paso de la fecha limite, si se paso que me de la opción de demorado.
        aguardo su repuesta
        Gracias
        Saludos
        Evelyn

      • Que tal Evelyn,

        Para lograr lo que necesitas deberias tener una funcion como la siguiente:
        =SI(F.R>=F.Lim; "Demorado"; SI(F.I>F.Lim; "pronta entrega"; "A TIEMPO"))
        Espero que esto te ayude, saludos!

    • Hola Joha, gracias por mensaje.

      Para lograr lo que necesitas yo haria lo siguiente, sumar cada valor 1 de cada mes, y así en la columna de Estado, puedo realizar la siguiente fórmula:
      =SI(SUMA(B2:G2)>=4,"A","B")
      En la fórmula se supone que los valores de cada mes están entre las columnas B y G.

      Espero q te ayude, saludos!

      Responder
  5. TENGO QUE CREAR UNA FUNCION QUE FUNCIONE PARA TODAS LAS LINEAS

    PRECIOS
    Producto/Marca Toyota Kia
    City Car $ 350 $ 250
    4X4 $ 550 $ 730
    Camioneta $ 670 $ 970

    Mes Cliente Lugar Vendedor Producto Marca Cantidad Montos
    Abr Pompeyo II Región Pérez City Car Toyota 865 $ 302,750
    Jun Bilbao V Región Casanova 4X4 Toyota 113 $ 62,150
    May Pompeyo X Región García City Car Kia 432
    May Coseche RM Pérez Camioneta Toyota 77
    Jun Bilbao II Región Pérez 4X4 Toyota 432
    May Coseche RM García 4X4 Toyota 33
    Abr Coseche X Región Casanova City Car Toyota 543
    Abr Bilbao RM García Camioneta Kia 233
    May Pompeyo II Región Casanova Camioneta Toyota 278
    Jun Pompeyo V Región Pérez City Car Kia 45
    May Coseche X Región Casanova Camioneta Kia 113
    Abr Bilbao RM Pérez 4X4 Toyota 200
    Jun Coseche II Región Casanova Camioneta Toyota 78
    May Pompeyo V Región Casanova Camioneta Toyota 50
    Jun Bilbao X Región García 4X4 Kia 183
    May Pompeyo RM Pérez Camioneta Toyota 65

    ESTOY USANDO LA SIGUIENTE FUNCION Y NO ME FUNCIONA PARA TODOS:
    =IF(IFS(F10=$B$3,E10=$A$4,F10=$B$3,E10=$A$5,F10=$B$3,E10=$A$6,F10=$C$3,E10=$A$4,F10=$C$3,E10=$A$5,F10=$C$3,E10=$A$6),PRODUCT(G10,$B$4))

    Responder
    • Que tal Efrain,

      Disculpa, no puedo ayudarte si no veo la hoja con las referencias, y confirmar si la fórmula que tienes ahora es correcta.

      Quedo pendiente

      Responder
  6. Hola Buenos dias, estoy tratando de hacer una formula SI , donde busque el valor de una celda y si coincide con algun valor de una columna de datos , arroje el valor de la columna de al lado. Ejemplo si d2=base de datos!a2 entonces base de datos!b2 , sino que siga buscando en la fila siguiente (ej base de datos!b2) , trate de usar la formula SI pero como son mas de 10 filas de datos me arroja error al superar la fila 10.
    Muchas Gracias

    Responder
  7. Buenos días: Necesito hacer una formula con la función si para lo siguiente:

    1) Para los hombre sumar el 4.9% de los ingresos del año 2018 con el 5,7 de los ingresos del 2019; para las mujeres restar el 0.35% de ingresos de 2018 al 9,38 de los ingresos de 2019.

    gracias.

    Responder
    • Hola Monica buen día,

      Suponiendo que tenemos la información de esta manera:
      A2 = Hombre/Mujer
      B2 = Ingresos 2018
      C2 = Ingresos 2019

      Deberias usar una funcion como esta:
      =SI(A2="Hombre";B2*4,9%+C2*5,7%;SI(A2="Mujer";-B2*0,35%+C2*9,38%))

      Espero q te ayude, saludos!

      Responder
  8. Hola tengo que hacer una formula donde se controle el % de adicional por años de antiguedad tengo que validar lo siguiente:
    2 a 5 5%
    5 a 10 8%
    10 a 15 12%
    15 a 20 18%
    20 a 25 22%
    25 en adel 25%
    arme esto en base a lo que estuve leyendo pero no funciona
    =SI(D34>2;5%;SI(D34>5;»8%»; SI(D34>10;»12%»;SI(D34>15;»18%»;SI(D34>15;»12%»»25%»)))))

    Responder
    • Que tal Mica,
      Después de revisar tu fórmula, me ha quedado lo siguiente:
      =SI(D34>=25;25%;SI(D34>=2,SI(D34<=5;5%;SI(D34<=10;8%;SI(D34<=15;12%;SI(D34<=20;18%;SI(D34<25;22%)))))))
      Espero que te ayude, saludos!

      Responder
  9. Subsidio de Transporte: Si gana menos de dos salarios mínimos ($1.817.052) se le dan ($106,454) si no 0
    como aplico esta formula con funcion si
    gracias

    Responder
  10. Buen dia.
    Hice la prueva con Si. Buscarv. Indice.
    Y sigo buscando una formula o convibacion que pueda encontrar en una matriz la referencia. Y que solo anote la referencia de una matriz donde puede estar en varias filas.
    Gracias

    Responder
    • Hola Fernando gracias por mensaje,
      Para entender bien lo que estás buscando, te refieres a una fórmula que busque un valor en una matriz y que devuelva la referencia (fila y columna) de donde encuentra el/los resultados?

      Quedo atento

      Responder
      • Hola Gerardo, mi formula funciona pero no incluye un parametro

        Si es igual a 0 días es COMPLETADO
        Si es = o menor a 3 días es RETRASADO
        Si es mayor a 3 días es VENCIDO
        =SI(Y(G8=0),$D$2,SI(Y(G8>=0),$D$3)))

        Pero por algo la casilla de RETRASADO no me sale
        Agradecería tu ayuda

      • Que tal Melissa,

        Prueba con la siguiente fórmula:
        =SI(G8=0,$D$2,SI(G8>3,$D$3,SI(G8>=0,$D$4)))
        D2 = COMPLETADO
        D3 = RETRASADO
        D4 = VENCIDO
        Espero que te ayude, saludos!

  11. hola Gerardo, veo que eres todo un pro, y pues a mi como a muchos aun se nos complica, mi caso es el siguiente, tengo una tabla que saca un porcentaje de una cantidad de un resultado que se ingresa pero solo si es arriba de 100000 pero me funciona hasta los 300000 por que solo toma 200000 para el porcentaje, sin embargo a partir de 400000 agarra 300000 y 500000 agarra 400000 y así sucesivamente, pero solo quiero que agarre hasta 200000 pero que siga la regla activa que si son menos de 100000 no se activa solo me pone 0 como quiero, osea 90000 0 50000 si finciona bien, solo es hasta que supero los 300000 que se descompone, mi formula es esta =SI(B12>100000,B12-100000,0)

    Responder
    • Hola Christian,
      Gracias por tu comentario. Pero no entiendo muy bien tu caso,
      ¿crees que me puedas compartir una tabla con los resultados que esperas obtener?

      Quedo atento a tu respuesta

      Responder
  12. Hola Gerardo, estoy tratando de sacar una fórmula en Google Sheet cuyos datos salen de dos celdas diferentes, las condiciones son las siguientes: Entre 11 y 49 vehículos o entre 2 y 49 conductores, El total de vehículo lo tengo en una celda y el total de conductores en otra, quisiera que si cumple con cualquiera de estas condiciones el resultado sea «Aplica» o «N/A». Lo he intentado pero no me sale de ninguna forma,agradezco tu ayuda con la corrección de la siguiente fórmula: =SI(B11>=11;SI(B11=2;SI(B17=11;SI(B17>=2;»Aplica»);SI(O(B11>49;SI(B17>50;»N/A»)))))

    Responder
    • Hola Sandra gracias por tu comentario.

      Para lograr lo que necesitas debes usar una fórmula como la siguiente:
      =SI(O(Y(B1>=11;B1<=49);Y(C1>=2;C1<=49));"Aplica";"N/A")
      Esta fórmula considera que en B1 este el total de vehículos y en C1 el total de conductores.
      Espero que te ayude, saludos!

      Responder
  13. Estimado:
    no logro encontrar la formula para hacer lo siguiente:
    si el precio es menor de $500, auemntar $250; si el precio es entre $500 y $1500, aumentar $350; si el precio es entre $1500 y $2500, aumentar $400; si es mayor de $2500 aumentar el 15%

    muchas gracias desde ya!

    Responder
    • Hola Melisa gracias por tu comentario.

      La fórmula que requieres sería algo como esto:
      =SI(A1<500,A1+250,SI(A1<1500,A1+350,SI(A1<2500,A1+400,A1+115%)))

      Responder
  14. Hola, estoy intentando hacer varias formulas, a ver si me podéis indicar:
    En la celda I6 quiero que si H6 es igual a Barcelona entonces aparezca 40,00
    Es posible?
    Y si H6 es igual a 40, entonces J6 ha de ser 10,00

    Responder
    • Hola Isidoro, gracias por tu comentario.
      Para lograr lo que necesitas deberías usar las fórmulas siguientes:
      =SI(H6="Barcelona";40,0)
      =SI(I6=40;10,0)

      Responder
      • Hola! Como puedo hacer ka formula de:

        Si A1 dice TIRO entonces A4 (osea donde pondra mi respuesta) es = al resultado de B2

        Si A1 dice RETIRO entonces A4 es 0

      • Hola Claudia,
        Para lograr lo que necesitas debes usar una función como esta en A4:
        =SI(A1="TIRO",B2,SI(A1="RETIRO",0,"NA"))

        Espero que te ayude, saludos!

  15. Buenas! Te comento que quiero hacerlo y no me sale. La orden sería que si el resultado es mayor a 1 y menor de 25 arroje «B», si es mayor o igual a 25 pero menor de 75 arroje «M» y si es mayor a 75 arroje «A».

    La fórmula que usé es la que comentas:
    =SI(C17>75;»A»;SI(C17>25;»M»;SI(C17>1;»B»;»»)))

    Pero a todo arroja «B»

    Responder
    • Hola Alejandro, gracias por tu comentario.

      Para que tu función devuelva lo que necesitas deberias aplicar algo como esto:
      =SI(C17>=75;"A";SI(C17>=25;"M";SI(C17>1;"B";"")))

      Espero que esto te ayude, cualquier duda estamos atentos.

      Responder
  16. Hola! como estas?
    Estoy tratando de agregar función =SI con listas.Ingreso la siguiente fórmula pero me arroja error =SI(D2=»Ingreso»,+’Listas Validadas’!$C$2:$C$5;O(D2=»Egreso»,+’Listas Validadas’!$E$2:$E$6)
    Cómo puedo corregirlo?
    Gracias!!

    Responder
    • Hola América gracias por tu mensaje.

      Lo primero en comentar es que el resultado de una función SI, no puede ser un grupo de celdas, por lo tanto se deberia corregir este punto primero, una función que podrias usar como ejemplo seria la siguiente:

      =SI(D2=”Ingreso”,+’Listas Validadas’!$C$2;+’Listas Validadas’!$E$2)

      La función anterior devolverá la celda C2 en caso de que la celda D2 sea igual a INGRESO, en caso contrario, devolverá la celda E2.

      Responder
  17. Como puedo hacer una FORMULA QUE SELECCIONE EL MAYOR VALOR DE LA FILA Y COLOQUE EL NOMBRE DE LA COLUMNA, QUE CORRESPONDE ESE VALOR, EN VEZ DEL VALOR…EN UNA CELDA NUEVA?

    Responder
    • Hola Natalia,
      Gracias por compartir tu consulta.
      Para lograr lo que necesitas puedes usar una función como esta:

      =COINCIDIR(MAX(1:1),1:1,0)

      Esta función te devolverá el número de la columna del valor máximo de la fila 1.

      Esperemos que te ayude, y quedamos atentos a tu respuesta.
      Saludos!

      Responder
  18. Buenos días
    Estoy intentando meter esta fórmula en la que combino una función «Si Y» con otra función «SI O», pero el resultado final no es primero el resultado VERDADERO y luego el FALSO, sino que me da primero el FALSO y luego el VERDADERO. ¿Es correcto o es que tengo algo mal puesto?
    =SI(Y(CI23=»GEMMA»;(SI(O(BC5=»SPAR»;BC5=»TANDY»);»SI»;»NO»))=»SI»);»SI»;»NO»)
    Gracias

    Responder
    • Hola Maria gracias por tu comentario.

      Intenta usar la siguiente fórmula para obtener el resultado esperado:
      =SI(Y(CI23="GEMMA";O(BC5="SPAR";BC5="TANDY"));"SI";"NO")

      Espero que esto te ayude, quedo atento a tus comentarios.

      Responder

Deja un comentario

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