jueves, 26 de abril de 2012

Diferencias en el uso de funciones “.si” y funciones anidadas a la función Si


Diferencias en el uso de funciones “.si” y funciones anidadas a la función Si


Dentro de las herramientas de Excel, se encuentran las Funciones Condicionales que son unas de las más usadas. Sin embargo, a pesar de que muchas de éstas pueden ser escritas de manera muy similar, poseen grandes diferencias entre sí, tal como lo muestra la siguiente figura.



CONDICIONAL MATRICIAL
CONDICIONAL CON UN CRITERIO
CONDICIONAL CON MÁS DE UN CRITERIO
DESCRIPCIÓN
Permite realizar cálculos entre uno o más campos de una matriz, que cumplan con un cierto criterio o condición.
Considera las celdas que cumplen con un determinado criterio o condición.
Considera las celdas que cumplen con un determinado conjunto de criterios o condiciones.
EJEMPLOS
Promedio(si()); Sumar(si()); Contar(si())
Promedio.si; Sumar.si; Contar.si
Promedio.si.conjunto ; Sumar.si.conjunto; Contar.si.conjunto


La función.si.conjunto es una manera de hacer más eficiente el uso de la funcion.si, dado que puedo utilizar una condición o más, y las funciones matriciales son aún más eficientes, sin embargo, no son muy conocidas, tan así, que algunos expertos señalan que éstas hacen la diferencia entre  quién es especialistas en Excel y quién no.
Además, cabe destacar que antes de que existiera contar.si o contar.si.conjunto se utilizaba la modalidad de contar(si()), al igual que para los otros tipos de funciones como sumar.si o promedio.si.


Pero, ¿para qué se utilizan las funciones(si())?

Las funciones(si())  son utilizadas para realizar cálculos matriciales que cumplan con un determinado criterio o condición, por ejemplo, cuando queremos saber cuál es la cantidad de un cierto producto que ha sido vendida de una lista que incluye a todos los productos ofrecidos por una empresa, o  para saber el monto de dinero total que “vendió” un determinado trabajador, etc…
De manera de hacer más fácil la explicación del uso de estas fórmulas se realizará un ejemplo comparativo entre sumar.si y sumar(si()). Para esto, asumamos una empresa que desea saber cuántas unidades del producto A fueron vendidas durante el día, para lo que se entrega la siguiente tabla resumen de las transacciones:



Comenzaremos obteniendo cálculos básicos, como el total de venta final.
Sin conocer matriciales, lo calcularíamos con =(D3*E3) para cada una de las transacciones, y así finalmente en la celda roja escribir =suma(F3:F11).



Pero, este proceso podría ser más eficiente si utilizáramos una multiplicación matricial, para lo cual se debe seleccionar la matriz (en este caso columna) donde queremos que se nos entregue el resultado, y luego en una de las celdas escribir las dos columnas que queremos que se multipliquen. Para nuestro caso sería =D3:D11*E3:E11 y en vez de hacer click en enter se debe presionar Shift + Control + Enter, como se muestra a continuación.


Sin embargo, muchas veces las empresas necesitan saber el valor de las ventas realizadas por un vendedor, o el total vendido en pesos de un determinado producto. Para esto, buscaremos el valor de las ventas realizadas por cada empleado y de cada producto.
El primer ejemplo muestra cómo se debería utilizar la función sumar.si() para obtener las ventas por cada empleado o producto



Obteniendo los siguientes resultados


Sin embargo, este mismo proceso se puede realizar de manera más eficiente gracias a la fórmula matricial sumar, seleccionado la celda donde queremos que nos entreguen el resultado y escribiendo =suma(si(C3:C11=H3;F3:F11;0)) como lo muestra el siguiente ejemplo. (Recordar que para que la fórmula funcione se debe apretar shift + control + enter).


Pero, ¿cuál es la lógica detrás de esta fórmula?

Nuestro ejemplo tiene una columna con los nombres de los vendedores según cada transacción, y es ahí donde nosotros le pedimos a Excel que busque dónde encuentra la palabra “Olave” y nos entregue una segunda columna con los valores que cumplan con el criterio. De manera gráfica tendríamos algo como:

  

Cuando una celda es FALSO nos entregará un 0, dado que Olave no realizó la transacción, y el valor de la transacción si es VERDADERO, dado que el sí realizó la transacción. Es decir,


Y luego, como le solicitamos sumar, nos entrega el valor de la suma de la última columna generada, es decir,



También podemos averiguar cuál fue la cantidad vendida del producto A por el empleado Gutierrez, sólo es necesario realizar un =SUMA(SI(C3:C11=H5;SI(B3:B11=H8;F3:F11;0);0)) como muestra el siguiente ejemplo:



En este caso el procedimiento que realiza Excel es muy similar que el anterior, sólo que en este caso desarrolla dos matrices de VERDADERO y FALSO, y sólo cuando las dos columnas poseen una misma celda con la palabra VERDADERO entrega el valor de la transacción, sino entrega valor 0.
Por lo tanto, las funciones(si()) es una ampliación a las funciones.si, dado que podemos considerar más de un criterio o condición para resolver nuestro problema o estimación. En ese sentido, es recomendable utilizar la función(si()) cuando tenemos más de una restricción o criterio para encontrar el valor necesario.


Max.si ; Desvest.si ; etc…

Dado que no se cuenta con funciones del estilo max.si o desvest.si, utilizar funciones matriciales es de gran ayuda para poder resolver esta falta de herramientas.
Utilizando el mismo ejemplo anterior, si necesitáramos encontrar el valor máximo de venta de un determinado empleado podríamos utilizar la función MAX(SI(C3:C11=H3;F3:F11;0)), como se muestra en el ejemplo.













No hay comentarios:

Publicar un comentario