miércoles, 11 de noviembre de 2009

Funciones BD

En esta. entrada .continuamos con el. tratamiento de .Bases de Datos, una de las utilidades más destacadas de Excel. En la entrada Basics 8; Tablas y Filtros se explicaba cómo partiendo de una tabla de datos, se podían mostrar sólamente los datos que nos interesaban aplicándoles filtros. En la entrada Basics 7; Subtotales poníamos ejemplos sobre cómo agrupar las tablas por diferentes criterios y obtener los subtotales de cada agrupación. Próximamente incluiré una entrada sobre tablas dinámicas que es una de las herramientas más potentes de Excel y que según mi experiencia, presenta cierta dificultad y aún diría pereza o rechazo para la mayoría de la gente a la hora de iniciarse y dominar su utilización.

No obstante, las tablas dinámicas no son la única opción para trabajar con Bases de Datos. Es posible que nos interesen solamente ciertos datos, o datos que son imposibles de obtener en una sola tabla dinámica sin cambiar su configuración. Para esos casos además de las soluciones vistas en las entradas que comentábamos con anterioridad, podemos construir fórmulas de la familia de las funciones condicionales como SUMAR.SI, o emplear las Funciones BD que nos ocupan en esta entrada, y que permiten trabajar con bases de datos, realizando distintas operaciones que de otro modo requerirían de acciones intermedias. En este caso, vamos a utilizar el ejemplo que aparece en la ayuda del propio Excel, con ligeras modificaciones e intentándolo explicar de una manera más clara y con más ejemplos para facilitar su comprensión.

Sintáxis de las fórmulas (todas las fórmulas BDfunción siguen la misma estructura):

BDfunción ( Rango de Datos ; Identificación de los datos a utilizar ; Restricciones )

Donde:
Rango de Datos; Tabla con los datos a utilizar (las celdas en amarillo).
Identificación de los datos a utilizar; Encabezado de la columna objetivo entre “”.
Restricciones; criterios para discriminar los datos (las celdas en verde).

BDCONTAR(…;…;…)

Esta fórmula nos sirve para determinar cuantos elementos que cumplen con las restricciones, contienen números en las celdas pertenecientes a la columna objetivo.
.

En el primer resultado, calculamos de toda la tabla, cuantos casos de manzanos entre 10 y 16 metros (restricciones), contienen números en el campo “Edad”.

En el segundo resultado, calculamos de toda la tabla, cuantos casos de manzanos >10 metros y perales >8 metros (restricciones), contienen números en el campo "Edad".

BDCONTARA(…;…;…)

Esta fórmula nos sirve para. determinar cuantos elementos que cumplen con las restricciones, contienen información en las celdas pertenecientes a la columna objetivo, es decir, no están en blanco.
.

En el primer resultado, calculamos de toda la tabla, cuantos casos de manzanos entre 10 y 16 metros (restricciones) , no tienen el campo “Beneficio” en blanco. Vemos que el resultado vuelve a ser 1. (En realidad en la tabla no hay ningún caso con el campo beneficio en blanco, pero como sólo hay un manzano entre 10 y 16 metros, sólo hay un caso de manzano que no tenga el beneficio en blanco).

En el segundo resultado calculamos de toda la tabla, cuantos casos de manzanos entre 10 y 16 metros, y perales entre 8 y 12 metros (restricciones), no tienen el campo “Beneficio” en blanco. Como en el caso anterior no hay ningún campo beneficio en blanco, pero como sólo hay un manzano y un peral que cumplen las restricciones, el resultado es 2.

BDMAX(…;…;…)

Utilizamos esta fórmula para determinar el valor máximo de la columna objetivo, entre los casos que cumplen las restricciones.
.

Para el primer resultado, buscamos el máximo beneficio que se obtiene tanto en los manzanos como en los perales (restricciones), al no haber restricciones de altura y considerarse tipo de árbol, el beneficio más alto de los cuatro posibles es el del primer manzano con 105.

Para el segundo resultado, buscamos el máximo beneficio de entre los casos que cumplen todas las restricciones, que como vimos en un caso anterior sólo son dos, por tanto el manzano de 14 metros y el peral de 9 metros. El resultado es el del peral con 76,8.

BDMIN(…;…;…)

Este es el caso contrario al anterior, en lugar de buscar el máximo buscamos el mínimo.
.
Para el primer resultado, de los manzanos cuya altura es superior a 10 metros (sólo hay dos), el beneficio mínimo es el del manzano de 14 metros, por tanto 75.

Para el segundo resultado, el rendimiento mínimo de los manzanos con altura superior a 10 metros y perales con altura superior a 8 metros es de 8.

BDSUMA(…;…;…)

Con esta fórmula sumamos los datos de la columna objetivo de todos los elementos que cumplan las restricciones.

En el primer resultado, sumamos los beneficios de todos los manzanos, por tanto el resultado es 225.

En el segundo resultado, sumamos la edad de los árboles que cumplen todas las restricciones, por tanto el resultado es 23.

BDPRODUCTO(…;…;…)

Con esta fórmula multiplicamos los datos de la columna objetivo de todos los elementos que cumplen las restricciones.
.
Para el primer resultado, calculamos el producto de los rendimientos de todos los manzanos con altura superior a 10 metros. Obtenemos un resultado de 140.
.
Para el segundo resultado, calculamos el producto de los rendimientos de los árboles que cumplen todas las restricciones. Como ya sabemos, son el manzano de 14 metros y el peral de 9, por tanto el resultado es 80.

BDPROMEDIO(…;…;…)

Con esta fórmula hayamos el promedio de los datos de la columna objetivo de todos los elementos que cumplen las restricciones.

En el primer resultado calculamos el promedio de edad de los manzanos, tenemos 3 manzanos, de 20, 15 y 9 años, por tanto el promedio da 14,67.

En el segundo resultado calculamos el promedio de la edad de nuestros dos arboles favoritos que cumplen todas las restricciones, por tanto 11,5.

Existen más fórmulas BD, =BDDESVEST(...;...;...) para la desviación standard considerando una muesta, =BDDESVESTP(...;...;...) para la desviación standard considerando toda la población, =BDVAR(...;...;...) y =BDVARP(...;...;...) para la varianza considerando una muestra o toda la población respectivamente... sin embargo, su sintáxis y mecánica no difiere de las que hemos visto, y no suele ser tan frecuente su necesidad, por lo que no me detengo en ellas.

Consideraciones adicionales.

Puede identificarse los datos a utilizar mediante el número de columna dentro de la tabla en lugar de su encabezado, en este caso hemos utilizado el encabezado por considerarlo didácticamente más fácil de entender.

Varias de las opciones de cálculo de las funciones BDfunción están disponibles de forma automática en la barra de estado, como vimos en la entrada Tips & Tricks IV, sin embargo suele ser habitual que necesitemos no sólo saber por ejemplo no sólo cual es el máximo o la suma, sino que quede reflejada en una celda para su utilización en cálculos posteriores.

No hay comentarios: