Función SI anidada

La función SI es una de las funciones más utilizadas en Excel. Lo que ésta función hace es probar si una condición es verdadera ó falsa. Si la condición es verdadera entonces la función hace alguna cosa, y si la condición es falsa entonces se hace otra cosa diferente.

Explicación de la función SI anidada

Una función SI anidada es cuando una segunda función SI se coloca dentro de la primera de manera que pruebe alguna condición adicional. Las funciones SI anidadas aumentan la flexibilidad de la función al ampliar el número de posibles resultados a probar.

Supongamos que necesitamos hacer una equivalencia de una columna de letras a números de la siguiente manera: A = 5 y B = 10. Si la celda es igual a “A” entonces el valor será 5, pero si la celda es “B” entonces el valor será 10. Esto lo podemos resolver con la siguiente función SI anidada:

SI(celda = "A", 5, SI(celda = "B", 10))

El resultado será el siguiente:

Función SI anidada

¿Qué pasaría si ahora en lugar de dos letras tenemos tres? Es decir, que si encontramos una “C” debemos colocar el valor 20. La función SI anidada será la siguiente:

SI(celda = "A", 5, SI(celda = "B", 10, SI(celda = "C", 20)))

Una función SI anidada puede ayudarte a encontrar una buena solución a tu problema pero no debes hacer un uso excesivo de esta funcionalidad.
Excel 2010 soporta hasta 64 funciones SI anidadas, pero seguramente no llegarás ni a la mitad de esa cantidad antes de que se dificulte entender la lógica empleada en todas esas funciones. Mientras tanto disfruta de tus funciones SI anidadas.

Artículos relacionados
La función SI en Excel

123 pensamientos en “Función SI anidada

  1. luly pacheco

    me gusta mucho esta producciòn

    1. Moises Autor

      Hola Luly, espero que haya sido de mucha utilidad esta publicación para tí. Gracias por tu comentario.

  2. luis

    buen tema me sirvio de mucho gracias

  3. dayana

    mmmmmmmmmm muyyyyyy bienn me ayudaronn muchooo,,,,…………

    1. Eddy

      Muy buen tema sobre la función SI anidada me ayudo mucho gracias.

  4. morocko

    yeah gracias x la informacion,es lo que andaba buscando

  5. ALEXANDER

    Muchas Gracias, me sirvió de mucho esa Información por cierto esta muy bien detallado el contenido

  6. danny

    Con la función SI, logre cruzar todos los datos que necesito para dar categoria a ciertos aspectos… PERO, la mitad de la formula se excede de las 64 funciones anidadas, y eso que no la termine de escribir completa… luego me arrojo error por exceder las 64….. y bueno si alguien sabe como hacer para que reconosca mas de 64 funciones anidades, se los agradeceria montones

    1. Moises Autor

      Danny,
      No es posible tener más de 64 funciones anidadas. No existe ningún truco para exceder este límite.
      Lo que debes hacer es replantear la solución a tu problema sin utilizar la función SI. Una alternativa común es utilizar la función BUSCARV ya que en muchas ocasiones nos ayuda a reemplazar adecuadamente el uso de la función SI anidada. Tengo un artículo con un ejemplo al respecto, lo único que debes considerar es que este artículo utiliza la función CONSULTAV que fue el nombre que tuvo la función BUSCARV por un breve tiempo. Este es el artículo:
      http://exceltotal.com/reemplazar-funcion-si-anidada-por-funcion-consultav/

  7. KARINA

    Hola, necesito ayuda para que en una celda al darle un numero, detecte en que rango cae y me de como respuesta si es baja, media o cautiva

    0-25 BAJA
    25-45 MEDIA
    46-50 CAUTIVA
    51-75 BAJA
    76-96 MEDIA
    97-100 CAUTIVA

  8. Denis

    Me gustaría que me ayudaran, quisiera hacer una hoja que al ingresar los números de la izquierda, me de el nombre de la derecha de antemano muchas gracias.
    NEGRO 3.4 – 3.5
    BLANCO 3.6 – 3.7
    AMARILLO 3.8 – 3.9
    ROSADO 4.0 – 4.1
    INCOLORO 4.2 – 4.3
    VERDE 4.4 – 4.5
    AZUL 4.6 – 4.7
    MORADO 4.8 – 4.9
    ROJO 5.0 – 5.1
    CAFÉ 5.2 – 5.3

    1. Moises Autor

      Hola Denis,
      Este también es un caso donde recomiendo utilizar la función BUSCARV en lugar de un SI anidado. Si colocas los números en la columna A, los colores en la columna B y el número que estás buscando en la celda D1 entonces puedes utilizar la siguiente fórmula: BUSCARV(D1,A1:B20,2,FALSO)
      La función BUSCARV regresará el color equivalente.

  9. PEDRO NEL VERANO SIERRA

    aveces encontramos errores en celdas que quedan sin formulas o datos que no permiten totalizar o hacer otras operaciones
    ais:
    para un sistema de credito de 5, 10 y 15 años, como hago el anidado para que no me aparezca #¡DIV/0! y poder totalizar las columnas.

    11 2,500,000 55,417 2,555,417 2,500,000
    12 2,500,000 27,708 2,527,708 –

    13 #¡DIV/0! – #¡DIV/0! #¡DIV/0!
    14 #¡DIV/0! #¡DIV/0! #¡DIV/0! #¡DIV/0!
    15 #¡DIV/0! #¡DIV/0! #¡DIV/0! #¡DIV/0!

    Feliz Tarde y muchas gracias

    1. Moises Autor

      Hola Pedro. La única prevención que puedes hacer es utilizar la función ESERROR o la función SI.ERROR de manera que puedas especificar algún valor predeterminado en caso de error en la celda. Más información en este artículo: http://exceltotal.com/manejo-de-errores-en-excel/

  10. kim cabrera

    que buena ayudan muxo*****

  11. jack

    si quieres exceder el maximo de 24 funciones … es mejor que utilices funciones de busqueda …..
    =buscarv
    =buscarh

  12. Matías

    Hola, buenas noches, estoy en búsqueda de un poco de ayuda, ya que tratando de anidar varias funciones si, me arroja que “Ha especificado demasiados argumentos para esta función”

    Aquí les dejo lo que he intendado hacer:

    =SI(“Celda”>=63;”Baja”;””; SI(“Celda”>=103;”Aceptable”;””; SI(“Celda”>=153;”Buena”;””; SI(“Celda”>=213;”Muy Buena”;””; SI(“Celda”>=283;”Excelente”;””; SI(“Celda”>=363;”Formidable”;””; SI(“Celda”>=463;”Clase Mundial”;””)))))))

    Lo que trato de hacer es que Excel me arroje la palabra según el dato, según la siguiente tabla:

    63 o mas –> Baja
    103 o mas –> Aceptable
    153 o mas –> Buena
    213 o mas –> Muy Buena
    283 o mas –> Excelente
    363 o mas –> Formidable
    463 o mas –> Clase Mundial

    Si alguien pudiera ayudarme dándome la función correcta estaría muy agradecido.
    Desde ya muchas gracias, Matías :)

  13. julio

    Moisés, felicitarte por esta página. La verdad ha sido de mucha ayuda en temas de Excel que a veces olvidamos y otras que desconocemos como usarlas o simplemente no sabemos de su existencia. Ayuda como la vuestra es la que debe predominar en RED. Un abrazo,

  14. juan cuellar

    oye tengo al siguiente ecuacion =SI(C2<14;''NINO'';SI(C2<16;''ADOLESCENTE'';SI(C2<18;''JOVEN'';''ADULTO'')))pero excel no meja ingresarla queria saber cual es el error.

    1. Moisés Ortíz Autor

      Hola Juan, copié la fórmula tal como la has colocado aquí y lo que puedo ver es que estás utilizando DOS comillas sencillas alrededor de cada texto. Es decir, colocas dos comillas sencillas antes y después de la palabra: ”NINO”. Debes utilizar comillas dobles (y no sencillas): “NINO”
      Tal vez sea difícil ver la diferencia en pantalla pero una vez que corregí este problema pude utilizar tu fórmula SI anidada sin problema alguno.

  15. Joselito

    Hola Moises: Quisiera saber si me puedes ayudar. Necesito una formula en excel que cuando obtenga una suma en la casilla B5 (por ejemplo;=SUMAB3+B4), si el numero resultante acaba en 0 o 5 le sume automaticamente 0,01, He intentado varias soluciones y ya no encuentro ninguna mas
    Gracias

    1. Moisés Ortíz Autor

      Hola Joselito, Suponiendo que el resultado de la suma está en la celda B5 puedes utilizar la siguiente fórmula:
      =SI(RESIDUO(B5, 5)=0, B5+0.01, B5)

  16. Gerardo Gardea

    Felicidades Moisés por tu disposición para ayudarnos en el magnifico mundo del excel.

  17. SERGIO

    necesito ayuda para la funcion si anidada en donde tengo tres provincias, donde sacar el importe de zona al cual debo colocar en una celda:
    si es cordoba corresponde $ 27,51
    si es rosario corresponde $ 36,25
    si es buenos aires corresponde $ 48,00

    muchas gracias ya intente con el ejemplo pero me da error

    1. Moisés Ortíz Autor

      Hola Sergio, si el valor a evaluar está en la celda A1 la fórmula adecuada con la función SI anidada es la siguiente:
      =SI(A1 = “cordoba”, 27.51, SI(A1 = “rosario”, 36.25, SI(A1 = “buenos aires”, 48)))

      En esta fórmula estoy utilizando coma (,) como separador de argumentos pero es probable que tengas que reemplazarlos por punto y coma (;) dependiendo la configuración de tu sistema. Tal vez por eso te da error el ejemplo.

      1. SERGIO

        muchas gracias, la verdad no pense que responderia tan rapido. exitos!!!. mas adelante molestare nuevamente.-

      2. Juan Pablo Giacomotti

        Hola Moisés,
        Te escribo porque tengo un problema similar al que plantea Sergio pero con un agregado. Yo estoy intentando además hacer una sumatoria con condiciones.
        Lo que necesito hacer es, sumar un rango (supongamos J1:J9) SI en otro rango A1:A9=”rosario” y ADEMAS en otro rango B1:B9=”pepito”.
        Yo intenté hacer esto pero no funciona: = IF(a1:a9=”ROSARIO”, IF(b1:b9=”PEPITO”, SUM(J1:J9)))
        Muchas gracias por anticipado!!

        1. Moisés Ortíz Autor

          Hola Juan, no te compliques más tratando de usar una función SI anidada. La solución la vas a encontrar muy sencilla si utilizas la funcion SUMAR.SI.CONJUNTO. Más información sobre esta función en el siguiente artículo:
          http://exceltotal.com/la-funcion-sumar-si-conjunto-en-excel/

          En tu caso sería una función como la siguiente:
          =SUMAR.SI.CONJUNTO(J1:J9, A1:A9, “ROSARIO”, B1:B9, “PEPITO)

  18. william

    Me sirvió mucho pues ya se me había olvidado como se hacia después de 3 años de no tocar excel jeje

    Un Saludo desde Guatemala.

  19. JORGE CARLOS CASTRO

    Quisiera saber como hacer que al momento de colocar en una celda la letra b, automaticamnete cambie al número 1, al colocar la letra b, cambie al número 2.

    1. Moisés Ortíz Autor

      Hola Jorge, es posible hacerlo utilizando macros. Consulta el siguiente artículo para ver una solución:
      http://exceltotal.com/detectar-el-cambio-en-una-celda-de-excel/

      En el último ejemplo de ese artículo verás como reemplazar las vocales por números al momento de introducirlas en una celda que es muy similar a lo que necesitas. Espero que sea de utilidad.

  20. frank

    amigo quisiera saber si se puede hacer una anidacion ilimitada de la funcion si ya solo puedo usar hasta 60 anidaciones , es buenos consejo los q das

  21. Daniel Bloomfield

    Moises
    Queria saber si me puedes ayudar a realizar un si anidado pero consultando otras planillas te copio el ejemplo
    =SI(‘[Informe de camiones por dia.xlsx]TREK RENTAL’!$C$5=”T”,2600000,SI(‘[Informe de camiones por dia.xlsx]TREK RENTAL’!$C$5=”P”,0))

    Muchas gracias

    1. Moisés Ortíz Autor

      Hola Daniel, A primera vista se ve bien construida esta fórmula. ¿Cuál es el problema que tienes?

  22. jesus

    necesito poner un valor pero entre unas condiciones por ejemplo
    entre 0 y 4 que valga 700 ayudame gracias

    1. Moisés Ortíz Autor

      Hoja Jesus, puedes utilizar la siguiente fórmula:
      =SI(A1>=0, SI(A1<=4, 700))

  23. jesus

    En la hoja 1 capture en la celda c7, las calificaciones en valores
    y en la hoja dos celda 7 hago refencia a la hoja 1 para que aparezca el numero, y poder realizar lo siguiente

    =SI(Y(C7=10),”A”,SI(Y(C7=9),”B”,SI(Y(C7=8),”B”,SI(Y(C7=7),”C”,SI(C7=6,”C”,”D”)))))

    pero no me reconoce el valor numérico, porque solo aparece d que puedo hacer para que se reconozca el valor y evitar copiarlo

    1. Moisés Ortíz Autor

      Hola Jesus, creo que estás haciendo mal la referencia a la celda C7 ya que se encuentra en una hoja diferente. Deberías utilizar Hoja1!C7 en lugar de C7.
      Para conocer más sobre la creación de referencias a celdas en otras hojas consulta el siguiente artículo:
      http://exceltotal.com/referencias-a-otras-celdas/

  24. Marin carrasco

    me ha gustado mucho como se explica las funciones gracias pero como puedo utilizar la función colorfondoigual-anidada, porque me marca error me dice que he sobrepasado los argumentos para esa función. ejemplo:
    =IF(colorfondoigual(A2,177,160,199),”PURPURA”,”no”,IF(colorfondoigual(A1,255,255,0),”amarillo”,”no”))

    Solo que la función la este aplicando mal.
    saludos.

    1. Moisés Ortíz Autor

      Hola Marin,
      El error se debe a que estás utilizando mal la función SI anidada (IF anidado). La función SI (IF) solamente acepta 3 argumentos y en este ejemplo estás tratando de utilizar 6 argumentos en una misma función SI.

  25. Angie Te

    Hola
    Queria ver si me puedes ayudar quiero poner en mi formula que si
    A1=3 entonces que la celda A2 se ponga en fondo amarillo,
    A1=5 entonces la celda A2 fondo verde
    A1=1 entonces la celda A2 color rojo y así.
    como le hago???

    muchas gracias!!!

  26. GASTON

    Hola tengo una función que me da la ubicación de otra celda.Quisiera saber como utilizar el valor devuelto por esa función para aplicarlo a otra formula.
    O sea en la celda L4 ESCRIBI =+SI(H4=2;CELDA(“DIRECCION”;DESREF($A$1;FILA()+COINCIDIR(C3;I4:I9;0)-2;COLUMNA(I:I)-1));0) Y ESTA ME DEVUELVE I4 (por ejemplo), Quiero hacer una función que empiece a hacer algo desde la dirección devuelta por esta función (i4 )

  27. Mario Versalli

    Hola Moises, ante todo muchas gracias por tu ayuda; aunque es la primera vez que pregunto, ta he recurrido a esta pagina varias veces por preguntas que ye se habian hecho, pero esta vez no he encontrado una pregunta similar a lo que necesito ahora. resulta que tengo una funcion SI anidada pero nen el resultado necesito que me muestre con el simbolo $ delante y con 2 cifras despues de la coma, pero por mas que en la celda le dé ese formato especifico, me muestra el resultado solo con numero y sin los decimales.
    aqui te dejo la formula:=SI(E10>0;E10-F10;” “)& SI(F10>0;E10-F10;” “)
    Para darte una idea es una hoja de Caja y la columna E corresponde a los ingresos registrados, mientras que la F corresponde a los egresos. En la celda que inserto la formula quiero que me dé el saldo, solo si hay algun ingreso o egreso.
    Un saludo desde Concordia ER Argentina

    1. Moisés Ortíz Autor

      Hola Mario, esto no depende de la función SI anidada. Existen dos opciones. La mas sencilla es que apliques un formato a la celda para que muestre automáticamente el símbolo $ y con los 2 decimales. En la ficha inicio, en el grupo Número, selecciona de la lista de formatos la opción Moneda y aplicará el formato que estás buscando.
      Si por el contrario, deseas aplicar el formato utilizando funciones, puedes utilizar la función TEXTO:
      =TEXTO(A4,”$#.00″)

      Más información sobre esta función aqui: http://exceltotal.com/la-funcion-texto-en-excel/

  28. Andrea Fernandez

    Buen día Moises!!! Te sigo desde hace unos días a raiz de una falla en una fórmula, y la verdad que ha sido más que ayuda y todos los días leo los artículos enviados a mi email. Espero que puedas ayudarme con la siguiente formula: =SI(K40=L40; BUSCARV(C40; ‘LISTA DE PRECIOS’!B$2:F$297; 5; FALSO); BUSCARV(C40; ‘LISTA DE PRECIOS’!B$2:F$297; 3 ; FALSO)) esta formula corresponde a una planilla de presupuesto y funciona perfectamente, pero al no selecionar un producto el resultado es el texto #N/A y es importante que aparezca vacia la celda si no tiene un resultado. ¿habrá alguna manera de hacerlo? Espero tus comentarios… Muchas gracias !!!!!!!

    1. Moisés Ortíz Autor

      Hola Andrea, debes utilizar la función SI.ERROR que te permitirá mostrar una celda vacía (o cualquier otro mensaje) en caso de tener el error #N/A. Consulta el siguiente artículo para saber más al respecto:
      http://exceltotal.com/manejo-de-errores-en-excel/

      Toda la función que pusiste en este comentario debe ser el primer argumento de la función SI.ERROR y como segundo argumento debes colocar 2 dobles comillas “” de maenra que, en caso de tener error, la celda queda vacía.

  29. Adriana Flores

    Hola, buen día
    Quisiera sabes si es posible usar aguna funcion que no sea el formato condicional para colorear una celda o algo dentro de ella, basandome en numeros, es decir:
    Tengo los rangos numerales de 80-60 y si no entra en ese rango que lo ponga verde si es mayor rojo si es menor, pero insisto en que no quisiera usar formato concional por que demoro mucho.

    gracias

    1. Moisés Ortíz Autor

      Hola Adriana, no existe una función de Excel que coloree una celda.
      La otra opción es utilizar macros, pero sería mucho más complejo que usar el formato condicional.

  30. Claudia Hernandez

    Hola Moisés! Como estas?

    Tengo un problema en excel pues tengo una formula que necesito me regrese un valor: =SI(E11=1,”Alta”,SI(E11=2,”Cambio / Modificación”,SI(E11=3,” Baja”))) el detalle es que necesito que este valor me lo devuelva del rango: E9:W9.
    Intente hacerlo así: =SI(E11:W11=1,”Alta”,SI(E11:W11=2,”Cambio / Modificación”,SI(E11:W11=3,” Baja”))) Pero me marca error: #Valor!.
    Ojala puedas orientarme sobre como poder devolver el valor en un rango de celdas.
    Muchas gracias por tu ayuda.

    1. Moisés Ortíz Autor

      Claudia, el error #¡VALOR! se debe a que tu fórmula tiene E11:W11=1 lo cual es inválido en Excel, este tipo de sentencia es válida solo en caso de utilizar una fórmula matricial.
      No me queda claro lo que intentas hacer, pero si estás buscando un valor dentro del rango E9:W9 tal vez debas considerar utilizar la función BUSCARV en lugar del SI anidado.
      http://exceltotal.com/utilizar-buscarv-en-lugar-de-si-anidado/

      1. Claudia Hernandez

        Muchas Gracias por tu ayuda Moisés! Éxito Siempre !

  31. Esther

    Si necesito unir dos formulas de Si, que indivialmente me arroja correctamente la formula, pero al unirla me arroja error

    =SI((C3>=A3);”Tarde”;”Extra”);SI((D3<B3);"Debe";"Extra")
    HORA ASIGNADA HORA REAL LABORADA
    Entrada Salida Entrada Salida
    08:00 a.m. 06:00 p.m. 08:05 a.m. 05:50 p.m.
    A3 B3 C3 D3

    1. Moisés Ortíz Autor

      Hola Esther, el error es porque la función SI solo acepta 3 argumentos y has colocado la segunda función SI como si fuera un cuarto argumento.
      No puedo hacer alguna sugerencia porque desconozco el detalle de lo que intentas hacer.

  32. Saúl

    Muchas gracias, me ha ayudado bastante. Saludos.

  33. BRAULIO

    Hola Moises muy buen día, tengo una consulta sobre excel.
    En la celda A1 tengo la siguiente información VIDEOMONITOR, MODELO: CX5 (125648), PAIS DE ORIGEN: CHINA.
    En la celda B1 el dato CX5
    Quiero saber si hay alguna función para que en la celda C1 me indique como cierto o correcto si el dato de B1 se encuentra en A1 o indique como incorrecto o falso si la información no corresponde.

    Sin más agradezco tu apoyo.

    Saludos.

  34. Teresa Vázquez

    Quiero felicitarte por tu excelente aportación sobre todo por la actitud de siempre ayudar y por favor dime si tienes un curso

  35. norberto

    es de gran ayuda, para todo momento al estar trabajando cuadros estadisticos y obtener resultados solicitados.

  36. Gustavo

    Estimado, tengo la siguiente dificultad tengo 3 columnas en las cuales en la primera tengo nombres de personas, en la segunda fechas y en la tercera los textos “cumplido” o “pendiente”, la dificultad radica en que debo llevar una estadística de cuantas ordenes cumplió una persona en el mes de enero u otra persona en el mes de febrero pero no se como anidar la formulas en CONTAR SI para poder obtener el resultado deseado.

    Gracias

  37. Guillermo

    pongo la siguiente formula y no me respeta la ultima condicion, me podria asesorar por que? =SI(K3>=0,0,SI(K3<0,1,SI(K3<(-70),2)))

    1. Moisés Ortíz Autor

      Hola Guillerno, las primeras dos condiciones cubren la totalidad de los números y ningún valor llegará a la tercera condición porque SIEMPRE se cumplirá antes una de las dos condiciones previas.

  38. Fede

    excelente explicación, me sirvió mucho, muchísimas gracias.

  39. JESUS RANGEL

    Mis felicitaciones. son unos expertos en la materia y gracias a su orientacion saque unas funciones si anidadas entre celdas de hojas de un libro y salio perfecto. gracias totales.

  40. ELENA

    me sirvio de mucha ayuda el contenido de la pagina gracias

  41. Eduardo

    muy bueno el ejemplo…se agradece….slds

  42. Gladys

    Hola Jovenes!!
    me gustaria que me ayuden con una sintaxis para determinar un valor verdadero o falso validando 2 o 3 columnas, lo he intentado pero me da error.
    =SI(B17>=80 & D17>=80,”si”,”no”).. ya he probado con “and” “&” .. no tengo idea de como anidarlas.
    agradezco su ayuda!!!

    saludos

  43. Albert

    Tengo un problema: la función SI solo me deja anidar 8 veces, cuando intento anidar una vez más me sale un mensaje que dice:
    “No se puede utilizar la fórmula especificada porque usa más niveles de anidamiento de los permitidos en el formato de archivo actual”
    Pero la ayuda de EXCEL dice que se debería poder anidar 64 veces. ¿Alguien lo entiende y sabe como solucionarlo?

    1. Moisés Ortíz Autor

      Hola Albert, puedes anidar hasta 64 veces la función SI siempre y cuando tengas una versión igual (o posterior) a Excel 2007.

  44. Jacobo

    Muchas gracias por este trabajo que haces, me sirves de una gran ayuda.
    Enhorabuena!

  45. Jose Luis

    Maestro, felicitarte por la pagina es de muchísima ayuda para los que queremos usar el excel para desempeñarnos mejor.
    He logrado utilizar esta función (SI) y aliviaba mi trabajo un montón, pero tengo un problema cuando una celda no cumple la condición me pone “FALSO”, como hago para que la celda quede vacía.
    Gracias.

    1. Moisés Ortíz Autor

      Hola Jose Luis, solamente coloca una cadena vacía en el tercer argumento de la función SI:
      =SI(A1>0,A1,””)

  46. Enrique Midence

    Este Post esta realmente bien explicado te doy las gracias me ayudo mucho muchas gracias no tengo palabras mas que gracias y gracias.

  47. Giovani

    Hola amigo buen dia una pregunta como condiciono una lista de nombre que no sean admitidos , pero si en otra hoja de excel dentro del mismo libro se pone un nombre de la lista , el nombre se ponga de color rojo o una señal para que sepa que estoy en un error y que no lo puedo poner porfa ayudame ya intente con condion, con si y nomas no me sale

    1. Moisés Ortíz Autor

      Hola Giovani, para manipular el color de una celda o de un texto es necesario utilizar formato condicional. Te dejo un artículo con un ejemplo que busca una palabra dentro de una lista y resalta las coincidencias y creo que dicho ejemplo te será de utilidad.
      http://exceltotal.com/buscar-valores-usando-formato-condicional/

  48. maria sequera

    estoy trabajando excel 97-2003 y no me deja anidar màs de 8 y en el texto de ayuda dice 64 asi como lo comentas. por que no me deja hacer mas de 8?

    1. Moisés Ortíz Autor

      Hola Maria, la anidación de 64 funciones es posible a partir de Excel 2007. Para las versiones anteriores solo es posible anidar hasta 8 funciones.

  49. tomas

    Tengo esta formula en hoja de calcaulo.. ¿Quiera saber si se puede dejar la celdas con un color de fondo para cada variante? y como que daria la formula?

    =SI(J7=6;”INACEPTABLE”;SI(J7>=3;”MODERADO”)))

  50. GABRIEL

    Te felicito por esta pagina pues me ayudo mucho, seguire visitandola para aprender mas sobre las dudas que te plantean, mil gracias.

  51. WILLIAN POLO VERA

    quiero mostrar dos fechas: fecha inicio y fecha final y mostrar en formula el vencimieto en dias que quedan de venciento y con color.

  52. Mari

    Hola moises Buenas Noches… quiero utilizar la funcion si condicional para una tabla de excel que tiene 5 valores
    este es el ejemplo
    CRITERIOS Columna Resultado
    < de 6 REPROBADO
    6.0 – 7.4 SUFICIENTE
    7.5 – 8.4 BIEN
    8.5 – 9.4 MUY BIEN
    9.5 – 10 EXCELENTE
    la formula que aplique es esta =IF(G5<6,"REPROBADO","SUFICIENTE") pero ya no se como hacer para que se pongan las otras condicionantes como hago? Muchas Gracias por tu ayuda.

  53. Ayala

    Felicidades por la página.
    Una duda:
    En la columna A, sólo hay “nacional” o “extranjero”
    En la columna B, $2,000.00 para todos
    En la columna C, edades que van de 18 a 35 años
    ¿Con qué fórmula hago que en la columna D, me calcule el 15% de los 2,000 únicamente para los nacionales mayores de 25 años?

    1. Moisés Ortíz Autor

      Hola Ayala, utiliza la siguiente fórmula:
      =SI(A1=”nacional”,SI(C1>=25,B1*0.15,””),””)

  54. Valia Albino

    Buen dia, tengo un porblema con tu formula anidada, estoy intentando aplicarla al resultado de una lista desplegable y me aparece en un valor FALSO, que debo hacer?
    Suponiendo que:
    Los valores que arroja la tabla son: Disponible o No disponible
    Aplico la formula: =SI(Z7=”Disponible”;0;SI(Z7=”No disponible”;3))
    Y el resultado para Disponible es FALSO
    No se que esta mal, agradezco tu ayuda, gracias.

    1. Moisés Ortíz Autor

      Hola Valia, generalmente se muestra FALSO cuando ninguna de las condiciones se cumple. En tu caso, la celda Z7 ha de tener un valor diferente a “Disponible” y también diferente a “No disponible”.
      Verifica que la celda Z7 no tenga espacios en blanco a la izquierda o derecha del texto o utiliza la función ESPACIOS de la siguiente manera:
      =SI(ESPACIOS(A1)=”Disponible”; 0; SI(ESPACIOS(Z7)=”No disponible”; 3))

  55. Michelle

    Buen día, tengo un problema con la función si anidada y es que me da como resultado falso, quiero que al aplicar la fórmula me de valores, tengo asi
    gerente
    tesorero
    administrador
    y quiero con la formula aplicarles el valor que ganan de sueldo, por ejemplo:
    gerente 2000
    tesorero 1200, etc
    ¿Cómo haría?

    1. Moisés Ortíz Autor

      Hola Michelle, la función SI anidada te devuelve FALSO por dos razones:
      1) Ninguna de las condiciones que has implementado se cumplió y además
      2) La última función SI anidada no tiene el tercer argumento y por los tanto se devuelve FALSO.

      Para tu ejemplo tienes que indicar lo que deseas que la función SI devuelva cuando se encuentre un valor que sea diferente a gerente, tesorero y administrador.

  56. julio cabrera

    hola, necesito ayuda, quiero utilizar la funcion SI conbinada con BUSCARV, pero me dice que me excedi de las anidaciones.
    si la formual que estoy utilizando es esta….SI(I18=1,BUSCARV(E18,’Formulas Med’!$B$5:$V$50,2,FALSO),SI(I18=2,BUSCARV(E18,’Formulas Med’!$B$5:$V$50,3,FALSO)…..y asi sucesivamente… hasta llegar a SI(I18=20,BUSCARV(E18,’Formulas Med’!$B$5:$V$50,21,FALSO)……osea que solo son 20 SI y 20 BUSCARV los que estaria utilizando… pero excel.. no me lo permite……estare haciendo algo mal….. o habra una manera de conbinar estas 2 formulas………..de antemano…gracias por su ayuda…

    1. Moisés Ortíz Autor

      Hola Julio. ¿Qué versión de Excel tienes?
      A partir de Excel 2007 podemos anidar hasta 64 funciones, pero las versiones anteriores solo permitían 7.

  57. ALBERTO KURI

    Hola Moises, fue de mucha ayuda tu información, gracias

  58. ANTONIO

    Hola Moisés:
    Gracias por compartir tus tremendos conocimientos,yo soy un novato en esta lides.
    necesito sumar a partir de dos criterios uno es el nombre y el otro es a partir de un color ,te explico,tengo un listado de facturas a las que le di un formato condicional para que se pusiera rojo cuando la factura se venciera en un listado donde tengo columna A n° factura B nombre,C ,fecha de emision D,fecha de vencimiento E,neto, F iva G, total, que es la columna que debo sumar , he probado con la funcion SUMAR.SI.CONJUNTO pero no me resulta.
    Gracias de antemano.

    Antonio

    1. Moisés Ortíz Autor

      Hola Antonio, ninguna función de Excel detectará el color de una celda. Tienes que hacer uso de VBA para evaluar dicha propiedad.
      Te dejo un ejemplo, que será solo ilustrativo porque no funciona con colores aplicados por formato condicional, pero te dará una idea de cómo evaluar colores en Excel:
      http://exceltotal.com/operaciones-con-colores-en-excel/

  59. Ivan

    Hola Moisés, te agradezco de antemano el apoyo y la atención, fíjate que estoy intentando con esta fórmula:

    =+SI(MES(AG2)=1, “ENERO”, SI(MES(AG2)=2, “FEBRERO”, SI(MES(AG2)=3, “MARZO”, SI(MES(AG2)=4, “ABRIL”, SI(MES(AG2)=5, “MAYO”, SI(MES(AG2)=6, “JUNIO”, SI(MES(AG2)=7, “JULIO”, SI(MES(AG2)=08, “AGOSTO”, SI(MES(AG2)=09, “SEPTIEMBRE”, SI(MES(AG2)=10, “OCTUBRE”, SI(MES(AG2)=11, “NOVIEMBRE”, SI(MES(AG2)=12, “DICIEMBRE”, “ERROR”))))))))))))

    y me arroja un error: “no se puede utilizar la formula especificada porque usa más niveles de anidamiento de los permitidos en el formato de archivo actual”
    por mucho no estoy excediendo el limite los 64 que mencionas en tu articulo, que estoy haciendo mal?
    saludos,

    1. Moisés Ortíz Autor

      Hola Ivan, tal vez tienes Excel 2003 y en ese caso el límite es 7.

  60. Sharif

    Hola Moisés, está muy bueno tu sitio, y en especial este artículo. Sólo tengo una duda, e intentaré exponerla del modo más conciso posible para ver si puedes ayudarme.

    Necesito usar una función SI que excede el límite de 64 anidadas. Este es el ejemplo colocado en la celda B1 de la Hoja1 de mi libro de Excel 2010:

    =SI(A1=Hoja2!D1;Hoja2!E1;SI(A1=Hoja2!D2;Hoja2!E2;SI(A1=Hoja2!D3;Hoja2!E3…y así sucesivamente hasta…Hoja2!E90;”ERROR”)))…y para cerrar alrededor de 90 paréntesis…))

    En la celda A1 de la Hoja1 hay una lista desplegable que contiene los 90 elementos que se visualizan en el ejemplo anterior, esa celda representa una compra que hace un cliente (la referencia de la lista es D1:D90 de la Hoja2 donde hay una lista con modelos de carros que por ahora son 90 modelos, y en el rango E1:E90 de la Hoja2 están sus respectivos precios).

    Yo quiero que cuando se escoja en la celda A1 (Hoja1) un elemento de la lista desplegable, es decir el modelo de carro que se está comprando, en la celda B1 (Hoja1) aparezca automáticamente el precio de ese modelo.

    El inconveniente es que la Hoja2 que es la que contiene todos los datos, se edita frecuentemente ya que siempre ando agregando nuevos modelos de carros, lo que significa que los rangos de la Hoja2 D1:D90 (modelo del carro) y E1:E90 (precio) tienden a crecer indefinidamente, por ejemplo pueden crecer a D1:D120 y E1:E120.

    Entonces la función SI no me ayuda en este caso (por tener un límite de 64 anidadas) además de ser demasiado larga y difícil de entender. La función que tengo escrita por ahora que sólo tiene 54 funciones SI anidadas ya asciende a los 4378 caracteres escritos. Y tampoco me ayuda la función INDIRECTO en la celda A1 de la Hoja1 (que contiene la lista desplegable) ya que tendría que darle un nombre a cada celda de la columna Hoja2!E que sea igual al nombre de cada modelo de carro y procurando que no tengan espacios para que marche bien la función INDIRECTO en la lista desplegable.

    Entonces mi pregunta es: ¿Existe alguna función que identifique cuál es la celda igual en un rango de celdas que va creciendo frecuentemente y que además devuelva el valor de la celda que está asociada a la que se identifica como igual? De modo que me sea posible agregar cuando lo desee modelos de carros en la Hoja2 y que en la Hoja1 aparezca automáticamente el precio de cada modelo de carro con tan sólo seleccionarlo en la lista desplegable…

    1. Moisés Ortíz Autor

      Hola Sharif, generalmente es posible reemplazar los SI anidados con la función BUSCARV. Consulta el siguiente artículo para saber un poco más al respecto:
      http://exceltotal.com/utilizar-buscarv-en-lugar-de-si-anidado/

      Para determinar el rango de búsqueda de la función BUSCARV deberás crear un “rango dinámico” de manera que no tengas que modificar la fórmula cada vez que ingresas nuevos datos a la Hoja2. Para leer sobre la creación de ese tipo de rangos puedes leer el siguiente artículo:
      http://exceltotal.com/nombres-de-rango-dinamicos/

  61. Pedro Pineda

    tengo una base de datos y necesito aplicar mas de 8 “SI” pero no me deja, puedes ayudarme con algo? a lo mejor con macros no se.
    gracias y espero su apoyo.
    saludos,

    1. Moisés Ortíz Autor

      Hola Pedro, supongo que tienes Excel 2003 ya que es la versión que tiene la restricción de 8 funciones. En una gran cantidad de casos funciones reemplazar los SI anidados por la función BUSCARV. Consulta el siguiente artículo que tal vez te pueda dar una idea de cómo solucionar tu problema:
      http://exceltotal.com/utilizar-buscarv-en-lugar-de-si-anidado/

  62. Irving Arriola

    Hola Moises. Felicidades por tu sitio de ayuda y gracias de antemano. El problema que tengo es que no se cómo obtener un resultado usando Excel 2014.
    Tengo 4 celdas con resultados numéricos y en una 5a celda quiero el promedio, pero si alguno de los cuatro números es menor a 70 quiero un mensaje de texto “NA”.
    He intentado con las funciones anidadas que muestras al principio de esta página y con la ayuda de excel, pero no resulta. La formula que uso es la siguiente:
    =SI(D42>=70, SI(F42>=70, SI(H42>=70, SI(J42>=70, ((D42+F42+H42+J42)/4),”NA”))))
    Pero si los números son mayores a 70, el promedio no es correcto, y si algún número es menor a 70 el resultado es “FALSO” en vez de “NA”.
    No encuentro el error. ¿Me puedes ayudar por favor?

    1. Moises Ortiz Autor

      Hola Irving, utiliza la siguiente fórmula:
      =SI(Y(D42>=70, F42>=70, H42>=70, J42>=70), PROMEDIO(D42, F42, H42, J42), “NA”)

      Es una sintaxis más clara y evita la anidación de funciones que puede llegar a ser complicado manejar. Si quieres saber más sobre esta manera de utilizar la función SI te recomiendo ver el siguiente tutorial:
      http://exceltotal.com/tutorial-excel-2010-funcion-si-con-varias-condiciones/

  63. Amparo

    Hola,buenos días necesito un poco ayuda. Tengo la siguiente fómula
    =SI(Y($D$4=”A”;D12=1);E12+0,3;E12)
    De tal manera que siempre que en D4 ponga “A”, cuando D12=1 me sume el valor de E12+0,3 y si no, que deje tal cual el valor de E12. Hasta aquí bien. Pero necesito además que cuando
    D12=2 entonces sea E12+0,6 y si
    D12=3 entonces sea E12+0.9 y así sucesivamente hasta

    D12=16 entonces sea E12+4,8.
    No se como añadir esta serie ya que la función si anidada tendría demasiados argumentos y BUSCARV tampoco ya que necesito que me vaya sumando.
    Muchas gracias de antemano y enhorabuena por la página nos ayuda a muchos.

    1. Moises Ortiz Autor

      Hola Amparo, aunque no lo creas te sugiero utilizar la función BUSCARV de la siguiente manera. Deberás crear una tabla donde la primera columna tenga los posibles valores de la celda D12 (2, 3, … , 16), y una segunda columna con los valores que se sumarán para cada caso (0.6, 0.9, 4.8, …), de esta manera podrías utilizar la siguiente fórmula:
      =E12 + BUSCARV(D12; X1:X9; 2; FALSO)

      Esta fórmula devolverá la suma correcta basados en el valor de la celda D12 y deberás colocarla como el segundo argumento de la función SI, es decir, en lugar de E12+0.3.

      1. Amparo

        Hola Moises,
        Muchísimas gracias, me has resuelto el problema, creo que ahora si entiendo bien la función BUSCARV.
        Por otro lado, como esa fórmula va en una columna entera la cual tengo que ir sumando, le he añadido la función ESERROR para evitar el error #N/A y se me ha quedado la siguiente fórmula:
        =SI($D$4=”A”; E12+SI(ESERROR(BUSCARV(D12; $H$85: $I$100; 2; 0)); 0; BUSCARV(D12; $H$85:$I$100; 2; 0)); E12)
        De esta forma ya me suma poco a poco la columna.
        Muchísimas gracias otra vez.

  64. Marcelo

    Hay manera de asignar un número (ej. 1) en una celda y que en esa misma celda me escriba $ o si escribo 2 y me escriba U$S?
    Es para usarlo en una planilla de ingreso de facturas que son en pesos y dólares

    1. Moises Ortiz Autor

      Hola Marcelo, ninguna fórmula de Excel puede afectarse a sí misma porque se genera un error de referencia circular, así que no es posible hacer lo que mencionas utilizando funciones de Excel. Solo sería posible a través de una macro.

  65. jorge pedro

    Hola…quisiera saber el significado de =SI($D5=””;0). No se el porque de las comillas?
    muchas gracias

    1. Moisés Ortíz Autor

      Hola Jorge, las comillas indican una cadena de texto vacía, así que, si la celda D5 está vacía, se devolverá el valor cero.

  66. Jennifer Pantoni

    Buenas tardes. Quisiera saber si podrias ayudarme en algo. Yo quiero establecer valores para ciertas restricciones, es decir: del 0 al 300 quiero que en la celda me diga BAJO, del 301 al 600 MEDIO y del 602 en adelante ALTO. Estoy tratando de aplicar la formula tal como explicas pero me reconoce solo el alto y bajo, es esta:
    =SI(G29<300;"BAJO";SI(301<G29601;”ALTO”)))

    1. Moisés Ortíz Autor

      Hola Jennifer, considera la siguiente fórmula:
      =SI(A1<300, “BAJO”, SI(A1<600, “MEDIO”, “ALTO”))

  67. Alejandra

    Hola! Es que estoy súper embalada, necesito saber que comisión pagar según unas metas estas consisten en si vendió entre 0 y 100 entonces de pagara 3000*”la cantidad que vendió” si vendió entre 101 y 200 entonces se le pagará 4000*”la cantidad que vendió” y si vende más de 200 se le pagará 5000*” cantidad que vendió” para esto utilice la función si anidada, pero al final cuando digo : si” celda”>=201,500*”cantidad que vendió”,0 ;no me funciona pues si pongo que el vendedor realizo 201 ventas no me da el valor correcto … Ojalá me haya hecho entender y me puedas ayudar … Gracias

    1. Moisés Ortíz Autor

      Hola Alejandra, utiliza la siguiente fórmula:
      =SI(A1>=200,A1*5000,SI(A1>=100,A1*4000,A1*3000))

  68. María José

    Buen día, excelente información, mi situación es que en lugar de una cantidad o palabra necesito que la casilla permanezca en blanco, hasta que se inserte la información, sin embargo me arroja el “cero” aunque escriba “BLANCO” ¿Cómo podría lograrlo? Gracias de antemano

    1. Moisés Ortíz Autor

      Hola María José, no me queda claro si cuando dices “BLANCO” te refieres a la palabra BLANCO. En fin, en estricto sentido cuando utilizamos funciones no es posible dejar una celda completamente en blanco. Lo que puedes hacer es dejar una cadena vacía, por ejemplo, si el valor de la celda A1 es mayor que 5 se desplegará el texto “MAYOR” de lo contrario se mostrará una cadena vacía que dará la impresión de que la celda está en blanco:
      =SI(A1>5,”MAYOR”, “”)