Programa
Si alguna vez has intentado construir una fórmula lógica compleja en Excel, sabes lo lioso que puede llegar a ser. Lo más difícil con las sentencias IF()
anidadas es intentar averiguar qué condición va dónde.
Por eso Excel introdujo una nueva función llamada IFS()
. Es una forma más limpia y sencilla de comprobar varias condiciones sin complicarte la vida. Te explicaré cómo funciona IFS()
, con ejemplos y consejos que te ayudarán a utilizarlo con confianza.
¿Qué es la función IFS() en Excel?
La función IFS()
nos ayuda a comprobar varias condiciones simultáneamente. Examina cada condición en el orden en que las escribes y te da el resultado de la primera que es TRUE
.
Así que es una forma más fácil de escribir lo que antes era un conjunto desordenado de fórmulas anidadas de IF()
. En lugar de apilar varias funciones IF()
una dentro de otra, IFS()
lista todas tus condiciones en un solo lugar. En total, puedes añadir hasta 127 pares condición-resultado, aunque dudo que alguna vez necesites tantas condiciones.
Cómo funciona la función IFS()
Su sintaxis es:
=IFS(logical_test1, value_if_true1, [logical_test2, value_if_true2]…)
Toma:
-
logical_test1
(obligatorio) es la primera condición. -
value_if_true1
(obligatorio) devuelve los resultados si logical_test1 esTRUE
. -
Los 126 argumentos restantes de
logical_test
yvalue_if_true
son opcionales.
Cómo utilizar IFS() de Excel
La función IFS()
devuelve resultados diferentes según las condiciones. Puedes utilizar operadores lógicos como =
, <
, >
, <=
, y >=
para construir tu lógica. He aquí cómo empezar.
Opción 1: Utiliza el Asistente de fórmulas
Para utilizar un Asistente de fórmulas:
-
Haz clic en la celda donde quieras tu fórmula.
-
Ve a la pestaña Fórmulas y elige Insertar función.
-
En el cuadro de búsqueda, escribe
IFS
y haz clic en Ir. -
Selecciona
IFS
, haz clic en OK, e introduce tus condiciones y resultados. -
Vuelve a pulsar Aceptar para aplicar la fórmula.
Es una forma rápida de construir una fórmula sin tener que escribirla tú mismo.
Utiliza el Asistente de Fórmulas para aplicar la función IFS(). Imagen del autor.
Opción 2: Escríbelo manualmente
También puedes escribir la fórmula manualmente. Esto es probablemente lo que hace la mayoría de la gente. Todo lo que tienes que hacer es escribir =IFS(
en la celda y construir tu lógica paso a paso. Supón que asignas métodos de envío en función del plazo de entrega:
-
Si son 2 días o menos, sería
Express
-
Si es de 3 a 5 días, sería
Standard
Para ello, he aquí la fórmula:
=IFS(B2<=2, "Express", B2<=5, "Standard")
Aplica la fórmula IFS() en una celda. Imagen del autor.
También puedes copiar tu fórmula en otras celdas. Para ello, arrastra el pequeño cuadrado de la esquina inferior de la celda (el tirador de relleno). Esto aplicará la fórmula a la columna. O simplemente haz doble clic en él para que se rellene automáticamente en función de tus datos.
Consejo profesional: Excel actualiza automáticamente las referencias de las celdas cuando copias una fórmula. Si quieres mantener fija una referencia, conviértela en una referencia absoluta pulsando F4
(cambia A1
por $A$1
).
Copia la fórmula utilizando un manejador de archivo. Imagen del autor
Pero arroja un error #N/A
en una celda porque no se cumple ninguna de las condiciones. Para solucionarlo, añade una condición final utilizando TRUE
al final de la fórmula. Esto funciona como un plan de respaldo; atrapa cualquier cosa que no haya coincidido antes y te da un resultado por defecto en su lugar.
=IFS(B2<=2, "Express", B2<=5, "Standard", TRUE, "Economy")
Esto elimina el error #N/A
y devuelve el valor por defecto.
Maneja el error #N/A utilizando la condición final ELSE. Imagen del autor.
Ejemplos de IFS() en acción
Veamos ahora algunos ejemplos del mundo real, donde la mayoría de la gente utiliza esta función.
Asignación de notas
Puedes utilizar IFS()
para convertir las puntuaciones de los alumnos en calificaciones con letras. Supón que tienes una lista de alumnos y sus puntuaciones en los exámenes. Puedes utilizar esta fórmula para convertir esos números en notas:
=IFS(C5<60,"F", C5<70,"D", C5<80,"C", C5<90,"B", C5>=90,"A")
Esto es lo que hace:
-
Si la puntuación es inferior a 60, da un
F
. -
Si es inferior a 70, da un
D
. -
Si es inferior a 80, es un
C
. -
Si es inferior a 90, obtienes un
B
. -
Si es 90 o más, es un
A
.
Excel comprueba cada condición en orden, y se detiene en cuanto encuentra una que es TRUE
. Aunque pudiera aplicarse más de una condición, sólo cuenta la primera coincidencia.
Asigna notas a los alumnos utilizando IFS(). Imagen del autor.
Tratamiento de errores con TRUE
También puedes utilizar IFS()
para mostrar un mensaje personalizado basado en diferentes códigos de estado en lugar de dejar que Excel muestre un error #N/A
. Por ejemplo, si tienes una lista de códigos y quieres mostrar un mensaje en función de cada uno de ellos, aquí tienes una fórmula que podrías utilizar:
=IFS(A2=100,"OK", A2=200,"Warning", A2=300,"Error", TRUE,"Invalid")
Funciona así:
-
Si el código es 100, aparece
OK
. -
Si son 200, aparece
Warning
. -
Si es 300, muestra
Error
. -
Si no coincide con ninguno de ellos, aparece
Invalid
.
Esta última parte es importante. Mostrará el mensaje en función del código. Si no se encuentra ninguna coincidencia exacta, la última condición TRUE
actúa como alternativa y devuelve Invalid
.
Muestra un mensaje basado en el código utilizando la función IFS(). Imagen del autor.
Etiquetas de texto condicionales
También puedes utilizar IFS()
para clasificar los artículos en categorías como frutas, verduras o bebidas para llevar un registro a medida que se añaden nuevos.
Aquí tienes una fórmula sencilla para hacerlo:
=IFS(A2="Grapes","Fruit", A2="Broccoli","Green Vegetable", A2="Tea","Beverage", TRUE,"Misc")
Esto es lo que hace:
-
Si el elemento es
Grapes
, apareceFruit
. -
Si es
Broccoli
, apareceGreen Vegetable
. -
Si es
Tea
, apareceBeverage
. -
Si no coincide con ninguno de ellos, aparece
Misc
.
Esa última línea (con TRUE
) es tu opción de reserva. Atrapa cualquier cosa que no encaje en las otras categorías.
Categoriza el elemento utilizando IFS(). Imagen del autor.
Modelización financiera
También podemos utilizar IFS()
con fines de modelización financiera. Veamos dos ejemplos comunes:
Aplicar niveles de descuento
Puedes utilizar IFS()
para asignar un descuento basado en el importe total de la compra de un cliente.
=IFS(B2>=500,"20% Discount", B2>=300,"10% Discount", B2>=100,"5% Discount", TRUE,"No Discount")
Funciona así:
-
Si el importe es igual o superior a
500
, devuelve20% Discount
-
Si el importe es igual o superior a
300
, devuelve10% Discount
. -
Si el importe es igual o superior a
100
, devuelve5% Discount
. -
Si el importe es inferior a
100
, la condición finalTRUE
devuelveNo Discount
.
Aplica descuentos utilizando IFS(). Imagen del autor.
Calcular días de vacaciones
También puedes calcular a cuántos días de vacaciones tiene derecho un empleado, en función del tiempo que lleve en la empresa. Para ello, utiliza la siguiente fórmula:
=IFS(B2>=10,"30 Days", B2>=5,"20 Days", B2>=1,"10 Days", TRUE,"No Leave")
Así es como se descompone:
-
10
o más años significa baja en30 Days
. -
5
a9
años significa20 Days
. -
1
a4
años significa10 Days
. -
Less than 1
año significaNo Leave
.
Asigna los días de vacaciones en función de los años de servicio utilizando IFS(). Imagen del autor.
Conversión de datos
También puedes utilizar IFS()
para convertir el tamaño de los archivos de bytes a unidades más legibles como KB, MB o GB:
=IFS(B2<1024, B2 & " Bytes", B2<1048576, ROUND(B2/1024,1) & " KB", B2<1073741824, ROUND(B2/1048576,1) & " MB", TRUE, ROUND(B2/1073741824,1) & " GB")
Esta fórmula muestra:
-
Bytes
para valores inferiores a1024
-
KB
para valores inferiores a1
MB -
MB
para valores inferiores a1
GB -
GB
para cualquier cosa más grande
Convierte el tamaño del archivo de bytes a KB, MB, GB utilizando IFS(). Imagen del autor.
IFS() vs. IF() vs. IF() anidado
Cuando trabajas con condiciones múltiples en Excel, tienes tres opciones: IF()
, IF() anidado, o la función IFS()
. Cada uno funciona de forma diferente, así que a continuación te explicamos cómo elegir el adecuado.
Comparación en legibilidad
Si sólo vas a comprobar una o dos condiciones, la función básica IF()
es perfecta. Es rápido, sencillo y hace el trabajo. Pero las cosas se complican cuando intentas comprobar varias condiciones. Es entonces cuando empezamos a apilar funciones IF()
unas dentro de otras, lo que hace que la fórmula sea más difícil de leer y aún más difícil de cambiar después.
He aquí un ejemplo:
=IF(A1<60,"F",IF(A1<70,"D",IF(A1<80,"C",IF(A1<90,"B","A"))))
Funciona, pero no es fácil de seguir. Todos esos corchetes dificultan la lectura y la actualización.
Los IF() anidados son difíciles de leer y entender. Imagen del autor.
Ahora mira la misma lógica utilizando IFS()
en su lugar:
=IFS(A1<60,"F", A1<70,"D", A1<80,"C", A1<90,"B", A1>=90,"A")
Éste parece mucho más sencillo. Cada condición se empareja directamente con un resultado, sin anidamiento ni sobrecarga de corchetes. Así que, si quieres una fórmula que sea fácil de leer, entender y arreglar después, IFS()
es una gran elección.
IFS() es mucho más fácil de leer y entender. Imagen del autor.
Consideraciones sobre el rendimiento
La función IFS()
comprueba todas las condiciones que le des, aunque ya haya encontrado una coincidencia. Así, si enumeras cinco condiciones, Excel sigue evaluando las cinco.
Pero las funciones anidadas de IF()
son un poco más inteligentes. Utilizan el "cortocircuito", lo que significa que dejan de comprobar en cuanto encuentran la primera condición TRUE
. Eso ahorra un poco de tiempo en hojas de cálculo grandes con muchas fórmulas.
Comparación rápida: Cuándo utilizar qué
He aquí una rápida comparación tabular para ayudarte a entender cuándo utilizar IF()
, nested IF()
, y IFS()
:
Función |
IF() |
IF() anidado |
IFS() |
Lo mejor para |
1-2 condiciones simples |
Lógica compleja (centrada en el rendimiento) |
Condiciones múltiples (con enfoque de legibilidad) |
Legibilidad |
Muy fácil |
Más difícil de seguir (muchos paréntesis) |
Limpio y fácil de escanear |
Edición posterior |
Simple |
Puede ser complicado (paréntesis por todas partes) |
Fácil de actualizar |
Rendimiento |
Rápido |
Ligeramente más rápido (utiliza el cortocircuito) |
Ligeramente más lento (comprueba todas las condiciones) |
Ejemplo de uso |
Comprobaciones básicas sí/no |
Precios escalonados en hojas masivas |
Calificación, categorías, mensajes alternativos |
IFS vs. INTERRUPTOR()
IFS()
y SWITCH()
comprueban varias condiciones en una única fórmula autónoma, pero funcionan de forma diferente. Aquí tienes una comparación detallada entre ambos:
Función |
IFS() |
INTERRUPTOR() |
Lo mejor para |
Diferentes condiciones utilizando la lógica (>, <, =) |
Un valor comparado con múltiples coincidencias exactas |
¿Admite operadores lógicos? |
Sí, es genial para rangos o desigualdades |
No, sólo funciona con valores exactos |
Estilo sintáctico |
Repite la condición completa cada vez |
Más limpio porque utiliza una expresión comprobada con valores |
Ejemplo de uso |
Clasifica a los alumnos por puntuación (por ejemplo, 90+, 75-89...) |
Asigna códigos a categorías (por ejemplo, 1 = Norte, 2 = Sur...) |
Opción alternativa/por defecto |
Utiliza TRUE al final para un caso general |
Añade un valor final (sin condición) como valor por defecto |
Legibilidad |
Puede alargarse con múltiples afecciones |
Más conciso al comparar la misma expresión |
Flexibilidad |
Muy flexible, ya que puede manejar diferentes expresiones |
Flexibilidad limitada, ya que sólo da coincidencias exactas con una expresión |
Aspectos a tener en cuenta
Debes tener en cuenta algunas cosas cuando trabajes con la función IFS()
en Excel.
Errores comunes y cómo solucionarlos
Primero, veamos algunos errores comunes con los que te puedes encontrar.
Demasiados pocos argumentos
Si añadimos una condición pero olvidamos incluir lo que debe ocurrir si es verdadera (value_if_true
). Excel muestra una ventana emergente: "Has introducido muy pocos argumentos para esta función".
Error #N/A
#N/A
se producirá un error cuando ninguna de las condiciones de la fórmula sea TRUE
. Excel necesita que al menos uno coincida, o se atasca. Si no quieres mostrar #N/A
, añade TRUE
al final con un valor alternativo.
#¡VALOR! Error
#VALUE!
El error aparece cuando un argumento logical_test
no devuelve un TRUE
o FALSE
claro. Quizá sea un error tipográfico, o quizá la condición no sea del todo correcta. En cualquier caso, Excel no sabrá qué hacer con él, así que comprueba dos veces tu lógica.
Consejos y buenas prácticas
Ahora, aquí tienes algunas buenas prácticas para que tus fórmulas sean mejores y más sencillas:
-
Intenta que las cosas sean sencillas. Normalmente basta con diez o menos condiciones.
-
Añade una condición alternativa utilizando
TRUE
como última condición. Cubre los casos que no cumplan tus condiciones principales. -
Asegúrate de que cada condición tiene un resultado, y de que tus pruebas dan
TRUE
oFALSE
. -
Prueba tu fórmula con casos extremos como 0, 100 o incluso celdas en blanco para asegurarte de que maneja todo como esperas.
Pros y contras
IFS()
tiene algunas ventajas reales, pero también hay que tener cuidado con algunas cosas.
Pros |
Contras |
Más limpio y fácil de leer que el anidado |
No utiliza cortocircuitos: comprueba todas las condiciones, incluso después de una coincidencia |
Admite hasta 127 condiciones |
Tienes que añadir manualmente una opción alternativa |
Más fácil de depurar y seguir la lógica compleja |
Sólo funciona en Excel 2016 o posterior |
Reflexiones finales
La función IFS()
es una forma práctica de comprobar muchas condiciones sin que tu fórmula se desordene. Es más fácil de leer que varias afirmaciones de IF()
apiladas unas dentro de otras y hace que tu lógica sea mucho más clara. Asegúrate de enumerar las condiciones en el orden correcto, y añade siempre una alternativa final utilizando TRUE
; de este modo, tu fórmula no se romperá si nada coincide.
Si tu lógica es predecible y sigue reglas claras, IFS()
es una forma estupenda de mantener tu hoja de cálculo ordenada y fácil de manejar.
Soy una estratega de contenidos a la que le encanta simplificar temas complejos. He ayudado a empresas como Splunk, Hackernoon y Tiiny Host a crear contenidos atractivos e informativos para su público.
FAQS de Excel IFS()
¿Puedo combinar IFS() con otras funciones como AND() u OR()?
Sí, puedes utilizar las funciones AND()
y OR()
dentro de una fórmula IFS()
para que tus condiciones sean más específicas o flexibles.
Por ejemplo, un número de la celda A1
puede clasificarse como Low
, Medium
o High
en función de su rango de valores.
=IFS(AND(A1 > 0, A1 <= 10), "Low", AND(A1 > 10, A1 <= 20), "Medium", TRUE, "High")
¿Admite la función IFS() comparaciones de fechas?
Sí, puedes comparar valores de fecha utilizando operadores lógicos, igual que con los números:
=IFS(A1TODAY(), "Future")