Funciones SI (IF) en Excel – Como construir fórmulas anidadas compactas
sábado, marzo 11, 2006
Una tarea bastante corriente en Excel es construir fórmulas que combinan varias funciones. Una de las combinaciones "clásicas" es con la función SI (IF en la versión inglesa).
La función SI analiza una propuesta (Jorge mide más de 1.80 metros) y de acuerdo al resultado (verdadero o falso) da una respuesta (Jorge es alto). Si la propuesta resulta "falsa" el resultado será distinto (Jorge es bajo).
Por supuesto se pueden combinar (anidar) varias funciones SI, de manera que cada una sirva de argumento para la otra. Excel acepta hasta 7 funciones SI en una misma fórmula. El problema es que también con 3 o 4 funciones SI combinadas, la fórmula resulta larga y complicada. Sobre esto he escrito en la entrada sobre el uso de la función ELEGIR (Choose, en inglés).
En este ejemplo (les recomiendo descargar el archivo del ejercicio) veremos cómo construir fórmulas que anidan varias funciones SI, en forma compacta.
Para esto es necesario conocer el concepto de "nombres" (NAMES) en Excel. Si no están familiarizados con este concepto, pueden leer mis entradas sobre el tema:
Uso de Nombres (NAMES) en MS Excel
Usar Nombres en Excel para Formato Condicional
Uso de NOMBRES (NAMES) en Excel – Validación de Datos
En nuestro ejemplo suponemos la existencia de una tienda que tiene un club de clientes. Cada cliente puede pertenecer a una de las categorías: Platinum, Gold o Regular. De acuerdo a la categoría el miembro puede recibir determinados descuentos e acuerdo a esta tabla:
Además la tienda vende con el sistema "1+1", al comprar dos productos se recibe un descuento del 50% sobre el más barato.
Este ejercicio fue parte de un examen en un curso sobre Excel. Los alumnos tenían que proponer una fórmula que calculara el descuento adicional a los clientes.

Las fórmulas propuestas por los alumnos variaron entre 4 y 5 funciones SI combinadas. Si bajaron el archivo, pueden ver en la columna G la fórmula con 5 funciones SI
=SI(C2="Platinum",SI(Y(CONTAR(D2:E2)=2,F2>10000),F2*0.2,SI(Y(CONTAR(D2:E2)=2,F2<=10000),F2*0.1,SI(Y(CONTAR(D2:E2)=1,F2>10000),F2*0.1))),SI(Y(C2="Gold",CONTAR(D2:E2)=2,F2>15000),F2*0.1," "))
Si bien esta fórmula resuelve el problema, se puede escribir de otra manera usando solamente 2 funciones SI. La regla a seguir dice que la cantidad de funciones SI a combinar equivale a la cantidad de casos menos 1. Si bien hay cinco casos de descuento, como podemos ver en la tabla arriba, que de hecho hay tres casos: los que reciben 20% de descuento adicional; los que reciben 10% y los que no reciben descuento adicional.
Para construir la fórmula, primero defineremos los nombres que contengan las fórmulas para determinar el tipo de descuento.
Para esto escribimos las fórmulas en celdas laterales, lo que nos permitirá verificar su funcionamiento.

Fíjense en las fórmulas en el rango J2:M7. Los nombres y sus fórmulas son:
P_2_10 --- =Y(C2="Platinum",CONTARA(D2:E2)=2,F2>10000)
P_2 -------- =Y(C2="Platinum",CONTARA(D2:E2)=2)
P_10 ------- =Y(C2="Platinum",F2>10000)
G_2_15 --- =Y(C3="Gold",CONTARA(D3:E3)=2,F3>15000)
La función CONTARA nos permite contar la cantidad de productos comprados en cada compra. Usamos esta función y no CONTAR para evitara resultados erróneos cuando una de las celdas del rango está en blanco.
Los nombres los definimos usando el menú Insertar---Nombre---Definir

La forma más práctica de construir los nombres, es copiando las fórmulas de la barra de fórmulas y pegándolas en la ventanilla "Se refiere a" del diálogo Definir Nombre.
MUY IMPORTANTE: al construir los nombres la celda activa debe ser la primer celda en el rango relevante, en nuestro caso H2. Esto se debe a que en nuestras fórmulas usamos direcciones relativas (sin los símbolos $).
Dado que las condiciones P_2, P_10 y G_2_15 dan como resultado el mismo descuento (10%), las combinaremos en una sola condición usando la función O (OR en su versión inglesa).
Finalmente podemos escribir nuestra fórmula de la siguiente manera:
=SI(P_2_10,F2*0.2,(SI(O(P_2,P_10,G_2_15),F2*0.1,"")))
Como pueden ver (en la columna H), no sólo la fórmula es mucho más compacta, si no que el uso de nombres la convierte en explícita.
Categorías: Funciones&Formulas_, Manejo de Datos_
Technorati Tags: Nombres, Funcion SI en Excel, IF





11 comments:
Hola Jorge,
Felicidades por su blog, parece haber un problema con la liga, del archivo, agradecerìa su ayuda para corregirlo.
Saludos. Arturo
Hola Arturo
hat algunas notas sobre tablas para liga de fútbol. A cuál te refieres?
Jorge
Muchas gracias por la información brindada en su blog.
intenté descargar el archivo pero el link aparentemente no funciona.
Que continuén los éxitos
Un afectuoso abrazo desde Ramos Mejía Bs As Arg.
Walter Colque E mail walter_cq@hotmail.com
Hola Walter,
acabo de actualizar el enlace.
Estimado Jorge
Muchas gracias por su pronta respuesta. Ya he descargado ok el archivo .xls
Un abrazo
Walter Colque
Buenas tardes. Necesito ayuda para elaborar una fórmula con la función condicional SI.
Necesito pagar una comisión de acuerdo al valor vendido. Si el valor es inferior a 18 multiplicaré ese valor por 7,5%. Si el valor es de 18 o más pero inferior a 21, multiplicar por 8,5%. Si el valor es de 21 en adelante multiplicarlo por 9,5%. Muchas gracias por su valiosa ayuda.
Juan,
¿por qué usar SI y no la técnica que muestro en esta nota, o en esta otra?
Buenas tardes Jorge,
espero que te encuentres muy bien. Tengo una duda acerca de como hacer una formula en excel la cual describa que del 1 al 3 es color verde, de 3 a 4 es color amarillo y del 4 al 5 de color rojo, no se si me entiendas, pero espero que me puedas ayudar.
Atte
Rodrigo
Rodrigo, no me queda claro. ¿Lo que buscas es que aparezca la palabra "amarillo" (o verde o rojo) en la celda que contiene la fórmula?
BUEN DIA necesito ayuda, yo tengo que llevar datos en un cuadro que lleva 4 hojas y tengo que meter los datos uno por uno en cada hoja. la ayuda es como hago para cuando meta ej; en nombre. cedula. me aparescan tambien en las otras ojas y no volverlo a copiar? le agradezco la ayuda. gracias
Si los datos están en las mismas celdas de cada hoja, podrías seleccionar las hojas relevantes (apretando la tecla Ctrl); cada dato ingresará en la misma celda de las hojas seleccionadas.
Publicar un comentario