Aprenda a crear IF anidados en Excel para manejar múltiples condiciones en sus fórmulas. Este artículo explica métodos para escribir fórmulas avanzadas con ejemplos como gestión de inventario y cálculos de intervalos.
Métodos para crear IF anidados
- Varios SI en la misma fórmula: Método clásico pero difícil de codificar y mantener.
- Función SI.CONDICIONES: Simple de usar, pero requiere manejo en el último caso.
- Función SI.MÚLTIPLE: Inspirado en SWITCH en DAX, útil en determinados casos.
- Cálculos entre intervalos con BUSCARV o BUSCARX: La mejor opción para gestionar rangos de datos.
Método 1: escribir varios SI
La función SI devuelve 2 resultados dependiendo de el resultado de una prueba lógica ; VERDADERO o FALSO. ¿Pero qué pasa si queremos devolver más de 2 resultados? El método esescribir otras pruebas IF en lugar del parámetro FALSO.

Tomemos el ejemplo de la gestión de inventarios. Hay que tener en cuenta 3 casos
- Aumento de existencias
- Caída de acciones
- Sin cambio
Empezaremos creando una prueba lógica que comparará el stock de fin de mes con el stock de comienzo de mes.
=G2

Ahora, esta prueba se escribirá en una función SI para devolver no VERDADERO o FALSO sino escribir la palabra reducción de existencias.
=SI(G2
Pero aquí no podemos terminar de escribir. la función SI porque tenemos que lidiar con los dos casos siguientes:
- la acción ha aumentado
- la acción no ha cambiado
Para la segunda función IF, escribiremos una segunda prueba. Esta prueba será probar si la cantidad al final del mes es mayor que la cantidad en stock al comienzo del mes. La fórmula queda:
=SI(G2 D2;"Re-almacenamiento";"Sin cambios"))

La función consta de 2 pruebas y 3 resultados. Tenemos 2 IF anidados.
Método 2: la función IF.CONDITIONS
Como te hace adivinar la S final de la función, la nueva función SI.CONDICIONES te permite escribir todas tus condiciones una tras otra. Y para cada uno de ellos, el resultado a mostrar. La escritura es la siguiente.
=SI.CONDICIONES(Prueba1;Resultado1;Prueba2;Resultado2;...)
Por ejemplo, desea otorgar una bonificación a sus vendedores en función de la cantidad de automóviles que vendieron durante el mes. Obtienes un bono de
- 20% para quienes hayan vendido 20 coches o más
- 10% para quienes vendieron 15 autos
- 5% para quienes vendieron 10 autos
La fórmula se escribe de la siguiente manera:
=SI.CONDITIONS(B2>=20;20%;B2>=15;10%;B2>=10;5%)

Sin embargo, hay una trampa que evitar. Si no se ha verificado ninguna prueba, la función devolverá el error #N / A (que significa en inglés No aplicable).
Dicho de otro modo, es imprescindible proporcionar como último parámetro de tu fórmula una función VERDADERA el cual manejará los casos donde ninguna de las pruebas anteriores sea VERDADERA (este punto se aclara en el video).
La escritura entonces se convierte
=SI.CONDITIONS(B2>=20;20%;B2>=15;10%;B2>=10;5%;VRAI;"")

Método 3: la función SI.MÚLTIPLE
Para la función SI.MULTIPLE la escritura es diferente.
- Evaluamos el resultado de una celda.
- Dependiendo del valor, devolvemos los diferentes casos listados.
Esta fórmula se comporta como la función. Seleccione Caso en VBA o Switch en otros lenguajes informáticos.
Tomemos el ejemplo de los días de la semana, tienes en la celda A1 un valor el cual va del 1 al 7 para escribir el día de la semana correspondiente escribiremos la siguiente fórmula:
=SI.MULTIPLE(A1;1;"Lundi";2;"Mardi";3;"Mercredi";4;"Jeudi";5;"Vendredi";6;"Samedi";7;"Dimanche")

Pero, sinceramente, es más fácil escribir el mismo resultado con una función BUSCARVo INVESTIGAR
Método 4: cálculo en intervalos
Aquí nuevamente, una gran cantidad de usuarios construyen una fórmula de Excel con numerosos IF anidados para hacer cálculos en intervalos. Pero en este caso concreto siguen siendo las funciones BUSCARV o BUSCARXL las más sencillas de utilizar.

16/04/2025 a las 16:57
Hola,
Tengo una consulta donde me gustaría resaltar ciertas líneas pero no puedo encontrar la manera.
Aquí están mis condiciones:
Si A1=1 y B1 menor que 7 entonces "HACIENDO"
Si A1=2 y B1 menor que 8 entonces "HACIENDO"
Si A1=3 y B1 menor que 12.5 entonces "HACIENDO"
Si A1=4 y B1 menor que 17 entonces "HACIENDO"
Si A1=5 y B1 menor que 21.5 entonces "HACIENDO"
Si A1=6 y B1 menor que 26 entonces "HACIENDO"
Si A1=7 y B1 menor que 30.5 entonces "HACIENDO"
Si A1= o > 8 y B1 menor a 35 entonces "HACIENDO"
Alguien podría ayudarme ya que no encuentro nada que solucione mi problema.
Muchas gracias!
13/12/2024 a las 07:20
mi herramienta no funciona, no puedo entender el problema, por favor ayúdenme:
=IF.CONDITIONS(D13<=39;"Inclusión muy baja";D13<=59;"Inclusión baja";D13=90;"Inclusión alta";"TRUE";" ")
03/05/2023 a las 14:39
Tengo una base de datos con una columna "Campo de estudio" que tiene muchas propuestas (Salud Pública, Economía,....hasta al menos 27 tipos de campos. Con Si está anidado, el Excel no me dice que no No doy una respuesta justa ¿Qué debo hacer?
28/06/2023 a las 10:29
Hola, me gustaría que la fecha actual aparezca automáticamente en la columna de la izquierda si la columna de la derecha tiene algún texto.
15/03/2023 a las 10:44
Hola,
No puedo terminar mi fórmula porque necesito una tercera respuesta.
=SI(ISEMPTY(B30);" ";SI(NB.IF(Script!B:B;Cargando!B30);"OK";"NO CARGAR"))
Necesito agregar que IF(B30 no es igual a uno de los valores de la columna);"ERROR"
¿Alguien puede iluminarme sobre este punto por favor?
15/03/2023 a las 15:12
Hola, debes utilizar la función SI.CONDITIONS, fue desarrollada para poner más de 2 resultados.
20/02/2023 a las 00:14
¡Hola
marco en mi cel
=SI.CONDITIONS(L16>15%;1%;L16>30%;2%;L16>40%;3%;L16>50%;4%)
sin embargo el resultado me muestra 1% mientras que L16>50% y debería mostrarme 4%
¿Hay algún error en la fórmula?
gracias
20/02/2023 a las 05:10
En este tipo de situación, es más sencillo utilizar el Función BUSCARV o BUSCARX
12/02/2023 a las 11:27
¡Hola
Estoy intentando hacer una mesa con ubicaciones irregulares.
¿Cómo hacemos el cálculo con inversiones a lo largo de un año, sabiendo que las inversiones van desde 0€ hasta 100€?
¿Cuál es la fórmula para totalizar estas inversiones?
¿Deberíamos utilizar condiciones?
Merci de votre retour.
JP FLANDRINCK
16/01/2023 a las 13:33
¿Qué fórmula debo utilizar para categorizar a mis clientes según sus montos?
MINORISTA: importe entre 0 y 1.
INDIVIDUAL: importe comprendido entre 1 y 000.
MAYORISTA: importe superior a 4.
16/01/2023 a las 20:18
Hola, la forma más sencilla es utilizar el Función BUSCARV o SEARCHX para hacer un cálculo entre 2 sectores
09/01/2023 a las 13:22
Hola, no sé contar las horas de servicio en coche.
por cada hora trabajada, la siguiente casilla debería tomarme 0.6 min como una hora para recuperarme
ex columna 1 8 horas .. columna 2: 0.6 x8
columna 1 2 horas .. columna 2: 0.6 x2
24/05/2022 a las 09:31
Bonjour à tous,
Estoy buscando una fórmula que me permita indicar un valor dependiendo si es en una franja horaria o en un periodo.
intenté
=SI.CONDITIONS(ET(I2>=$S$4;I2=$S$2;I2=$S$3;I2=$S$5;I2=$S$6;I2<=$T$6);$U$6)
pero esto me dice que el valor de U4,
Tengo 6 columnas y 5 condiciones.
Fecha de inicio, fecha de finalización, índice, entre y debería darme el índice actual
14/09/2021 31/01/2022 1.8476 01/04/2022 31/05/2022 ?
01/02/2022 31/03/2022 1.8114 01/02/2022 31/03/2022 ?
01/03/2022 30/06/2022 1,7758 01/10/2021 31/01/2022 ?
y así enseguida
gracias por su ayuda
23/05/2022 a las 11:19
Mi ejemplo que no puedo resolver.
A B C D E
1 0,74 1,80
2 0,81 1,90
3 0,90 2,00
4 0,72
si A1,B1,C1,D1 está entre 0,70 y 0,80 entonces la respuesta es 1,80;
PERO si A1,B1,C1,D1 está entre 0,81 y 0,89 la respuesta es 1,90;
PERO si A1,B1,C1,D1 está entre 0,90 y 0,96 la respuesta es 2
No puedo adaptar la fórmula.
Merci de votre attention
Françoise
28/10/2021 a las 17:19
Hola,
gracias
Tampoco me convence el SI.MULTIPLE
tanto como
=SI.MULTIPLE(A1;1;"Lundi";2;"Mardi";3;"Mercredi";4;"Jeudi";5;"Vendredi";6;"Samedi";7;"Dimanche")
podría ser escrito
=ELIGE(A1;"Lunes";"Martes";"Miércoles";"Jueves";"Viernes";"Sábado";"Domingo")
ou
=NOMBREPROPIO(TEXTO("02/01/2000"+A1;"dddd"))
sin contar las soluciones basadas en investigaciones, como se detalla en el artículo
28/10/2021 a las 17:39
Estoy de acuerdo en que la función SI.MULTIPLE no es la más útil en Excel. Pero existe. El objetivo de este artículo es mostrar todas las funciones existentes que pueden resolver el problema. Después, cada uno es libre de utilizar la función que más le guste.
03/08/2021 a las 10:31
¡Hola
Estoy buscando una fórmula de cálculo precisa.
para mi es una función If, pero no puedo validarla
puede ayudarme
aquí están los elementos
- Estoy intentando calcular un recargo indexado al peso de un producto.
- el resultado de este cálculo (C21*0.087) debe estar entre 12 y 120
Probé la fórmula IF anidada a continuación pero recibí un mensaje que decía que había demasiados parámetros
=SI(C21*0.087120;120;C21*0.087))
También probé SI;CONDITIONS pero el resultado es mayor que 120
=SI.CONDITIONS(C21*0,08712;C21*0,087;C21*0,087>=120;120)
¿podria usted ayudarme?
gracias
29/07/2021 a las 17:15
hola, no se si existe una formula para mi pedido....
Actualmente estoy haciendo un cuestionario sobre las condiciones laborales de los empleados, transformé sus respuestas en una tabla.
Necesito saber si su aumento de peso está relacionado con su ritmo de trabajo.
¿como hacer?
01/04/2021 a las 11:56
hola,
No puedo encontrar mi solución en su sitio, es verificar los votos de un AG.
Mi problema es:
es una votación con el artículo 24 y 25
dependiendo del voto 24 o 25 los porcentajes de votos no son los mismos.
U5 presente
T6 = 24 o 25 (elemento electoral)
X3 = porcentajes presentes
AA= tasas mínimas para que el voto sea aceptado art 24
AB=cuotas mínimas de afiliación para que se acepte el voto art 25.
si usted me puede ayudar.
gracias
05/02/2021 a las 19:34
Hola!
Usted está haciendo un buen trabajo. Acabo de ver tu video.
Solo que no tengo las 2 funciones nuevas de las que hablaste, incluso si tengo un Excel 2016 con licencia.
29/01/2021 a las 17:13
Cómo calcular así con una fórmula de Excel.
=SI(OU(3;4;6;8;50;52;53;55;60;65;70;71;72;80;85)=E2;"W";"E")
05/02/2021 a las 19:57
Hola!
No sé si entendí tu preocupación. Pero puedes probar esto:
=SI(OU(E2=3;E2=4;E2=6;E2=8;E2=50;E2=52;E2=53;E2=55;E2=60;E2=65;E2=70;E2=71;E2=72;E2=80;E2=85);"W";"E")
16/01/2021 a las 16:32
Hola,
Parece que estas funciones solo están disponibles a partir de la versión 2019 de Excel y no de la 2016.
Gracias por este tutorial.
25/11/2020 a las 16:53
¿Aparentemente la fórmula no fue interpretada correctamente?
=SI(E2>60;"ESTRELLA");
SI(Y(E250;"ENIGMA");
IF(AND(E240;"fuente de ingresos");
SI(E2<40;"Peso muerto";"")))
25/11/2020 a las 16:49
Hola,
Necesito anidar varios SI, algunos de los cuales tienen 2 condiciones
ej: =SI(E2>60;"ESTRELLA");SI(ET(E250;"ENIGMA");SI(ET(E240;"Vaca lechera");SI(E2<40;"Peso muerto";" " )))
Me sale el error: #¡VALOR!
Vous pouvez m'aider?
cordialmente
14/10/2020 a las 10:03
HOLA
CUANDO CREO UNA ALERTA EN EXCEL, CON LA FÓRMULA IF, LAS FECHAS ANTERIORES AL 2000 NO SE TOMAN EN CUENTA EN EL CÁLCULO.
EL CÁLCULO Y LA ALERTA FUNCIONAN DESDE EL 2000.
GRACIAS POR VOLVER.
KALI
27/06/2019 a las 20:52
hola necesito crear una tabla.
una lista desplegable que contiene los nombres de los sitios y me gustaría crear una fórmula que haga coincidir la dirección IP con el sitio elegido en la lista desplegable
ejemplo centro agde que debe corresponder a 10.56.00.00
si elijo Talleres debería mostrar 11.54.15.22
¿Puedes ayudarme? No puedo hacerlo.
Esperamos tener noticias suyas, Atentamente.
28/06/2019 a las 08:51
En este caso es la función BUSCARV que deberías utilizar (mira el vídeo para ayudarte a entender)
18/06/2019 a las 17:11
Hola,
Estoy tratando de determinar si el valor de una celda es más o menos alto en un 10% comparándolo con otra celda, el objetivo es vincular esta función posteriormente a una forma condicional para cambiar el color de mi celda objetivo. Aquí hay un ejemplo de lo que me gustaría;
Celda A1 = 90
Celda B1 =95
La condición sería la siguiente; Si el valor de la celda B es menor o igual al 10% de diferencia con mi celda A, entonces mi celda B se pone verde, si es +10% menos se pone azul, y si es +10% también en rojo.
En este caso la celda B sería verde, sería azul si el valor fuera 60 y roja si fuera 115 por ejemplo.
Aquí espero ser lo suficientemente preciso, muchas gracias si tienes una solución y por tu ayuda.
18/06/2019 a las 19:13
Hola, ¿has mirado el artículo sobre formato condicional? Expliqué este punto exactamente para ponerle un color diferente al 10% valores más altos.
30/04/2019 a las 22:20
Me gustaría automatizar la hoja de horas de mis empleados.
Las horas están escritas allí en el formato 0:00.
Los totales están en 2 líneas (una en formato 0:00 y la otra en formato decimal)
Los empleados tienen derecho a horas de descanso/comida remuneradas, pero no se incluyen en el cálculo anterior.
Entre 3 y 5 horas = 15 minutos
Entre 5 y 8 horas = 30 minutos
Entre 8 y 10 horas = 45 minutos
10 horas y más = 60 minutos
Utilicé la fórmula IF.MULTIPLE que no parece funcionar con formato de hora o fracciones.
¿¿Puede ayudarme??
07/09/2018 a las 16:55
Hola,
Necesito ayuda para realizar una fórmula en una mesa un poco diferente a las demás y estoy teniendo problemas con todas estas fórmulas.
Gracias de antemano
22/02/2018 a las 18:07
Hola,
Estoy buscando una fórmula con dos If(o) anidados:
Mi celular E3 puede ser igual a Servicio o Industrial...
Una celda H5 es un porcentaje calculado automáticamente previamente.
Y quiero obtener un sí o un no en la celda de fórmula basada en E3 y H5, que puede cambiar.
=SI(Y(E3="SERVICIO";H510%);"SI";"NO"))
Gracias por su ayuda :)
07/11/2021 a las 00:20
=SI(Y(E3="SERVICIO";H5=10%);"SÍ";"NO")
Espero que esto resuelva tu problema
25/04/2017 a las 20:14
El trabajo se vuelve más eficiente y menos doloroso con la aparición de estas dos nuevas funciones SI.CONDITIONS y SI.MULTIPLE.
¡Gracias por esta información!
29/04/2017 a las 18:16
De nada