jueves, 30 de julio de 2009

Ejercicio Funciones de bases de datos.

Como continuación del Ejemplo para funciones de bases de datos propondremos un nuevo ejercicio, que en cierta ocasión tuve que desarrollar.
Se solicitó que en base a la información disponible en nuestros sistemas contables de gestión, elaboráramos un informe todas las empresas del grupo, con el fin de determinar con qué tipología de proveedores trataba el grupo (y las empresas individuales que lo componían); en concreto - entre otras informaciones - se solicitó un detalle de el número de proveedores con el que trabajamos durante el último ejercicio, respondiendo a un criterio de clasificación según el total facturado por éstos en ese ejercicio.
Es decir, primero elaboramos un listado de todos los proveedores acumulando su total facturado en el último ejercicio, extrayendo la información directamente del sistema contable. De cada proveedor dispuse entonces de un importe de total facturado. A partir de este listado sencillo se pudo discriminar y obtener la información solicitada. En aquella ocasión se emplearon las funciones de bases de datos. Nos decantamos por esta opción, en lugar de las Tablas dinámicas por la rapidez en aplicar éstas a unas agrupaciones por importes desiguales:


Teníamos que averiguar el número de proveedores cuyo facturado estuviera comprendido en cada uno de los intervalos de ese listado.
Empleamos las siguientes funciones de base de datos:
=BDCONTAR(A:C;"Importe";F3:H4)
para contar el número de registros (y por tanto de proveedores) en los que el campo Importe (i.e., el facturado anual) cumpliera el rango de criterios, es decir, estuviera comprendido entre las cantidades facturadas indicadas.
=BDSUMA(A:C;"Importe";F3:H4)
para sumar aquellos registros (esto es, proveedores) en los que el el facturado anual estuviera comprendido entre las cantidades facturadas indicadas.


La interpretación de los resultados obtenidos sería, para el segundo rango, que existen 98 proveedores que durante el ejercicio contable anterior facturaron cada uno de ellos entre 0 y 6.000 eur; y que además el facturado acumulado de estos 98 proveedores era de 118.968,82 eur.

6 comentarios:

  1. Que tal?
    tengo que realizar un xls para quemuestre registros que estan en un periodo de fechas determinado por el usuario, select * from tabla where dprocess = "valor_capturado_por_usuario", algo asi, tengo esntendido que una macro me lo hace sin problemas, mi escenario es excel 2007 y mysql, ya tengo el conector. saben de algun ejemplo que pueda tomar como referencia?
    gracias y saludos

    ResponderEliminar
  2. Buenas tardes,
    estamos hablando de un enlace entre una base de datos externa a Excel...
    Échale un vistazo a
    http://excelforo.blogspot.com/2009/11/importacion-de-datos-excel-2007.html
    Slds

    ResponderEliminar
  3. Buenas noches, ando muy perdida y necesito ayuda por favor...tengo k resolver una tabla con datos de clientes, me preguntan cuanta gente ya ha pagado hasta 30 Mayo 2010, como puedo calcularlo con fechas?
    Muchas gracias!

    ResponderEliminar
  4. Supongo que tendrás una columna de fechas de pagos, donde poder ver cuándo ha pagado cada cliente; bien, en una celda cualquiera de tu hoja de cálculo escribes
    =CONTAR.SI(rango_fechas;"<=30/05/2010")
    siendo 'rango_fechas' la columna donde se encuentran esas fehcas de pago.
    Espero te sirva.
    Saludos

    ResponderEliminar
  5. Tengo una duda para el caso de la tabla con rangos de importes si a cada rango corresponde un valor, y tengo otra tabla con importes y necesito localizar el importe en uno de los rangos de la lista para conocer el valor que le corresponde, me podeis ayudar con la función que debo usar??
    Mil Gracias.

    ResponderEliminar
  6. Hola,
    por la distribución de valores en dos tablas que comentas, probablemente lo más sencillo sea emplear la función
    =BUSCARV(valor buscado; en matriz; devolver valor de la columnas; 0)
    Quizá te sirva este post:
    http://excelforo.blogspot.com/2009/06/funciones-de-busqueda-buscarv-y-buscarh.html
    o bien en:
    http://excelforo.blogspot.com/2009/06/un-ejemplo-de-buscarv-sobre-dos-tablas.html
    Slds

    ResponderEliminar