domingo, 24 de octubre de 2010

Tablas Dinámicas Inversas


Disponemos de una sencilla cuenta de resultados por mes. En cada hoja se encuentran los datos de un mes concreto. Nos proponemos agruparlos con Tablas Dinámicas utilizando Rangos de Consolidación Múltiple, y finalmente convertir los datos en una Base de Datos.



Por ejemplo, los resultados de Enero son los siguientes.


Fase 1

Utilizando Rangos de Consolidación múltiple en Excel 2007 vamos a obtener una tabla resumen con los resultados de todos los meses. Para ello, vamos a necesitar utilizar Tablas Dinámicas con Rangos de Consolidación Múltiple. El problema es que en Excel 2007 ha desaparecido esta opción en el menú habitual para la confección de Tablas Dinámicas.

Es necesario agregarlo a la barra de acceso rápido siguiendo estos pasos:

  1. Botón de Office
  2. Opciones de Excel
  3. Personalizar
  4. "Comandos disponibles en: " Todos los comandos
  5. Localizar, por orden alfabético, "Asistente para tablas y gráficos dinámicos... (PivotTableReport)"
  6. Pulsar el botón Agregar

De esta forma tendremos en la barra de acceso rápido el Asistente para tablas y gráficos dinámicos.


La barra de acceso rápido puede quedar así:



Lanzamos el asistente y elegimos Rangos de consolidación múltiples.


Elegimos "Crear un solo campo de página"


Agregamos Enero, incluida la fila 5.


Agregamos todos los meses.


Pedimos que el informe de tabla dinámica se realice en una hoja de cálculo nueva.


Obtenemos una Tabla Dinámica que agrupa todas las lineas de la cuenta de resultado de los 12 meses.



Fase 2

La lista de campos de la Tabla Dinámica es la siguiente.


De esta lista de campos vamos a eliminar la Columna, la Fila y la página. Únicamente quedará el valor.


Con esto hemos conseguido que la tabla dinámica se reduzca a un único valor numérico que contiene el Total.


Pulsamos doble click con el ratón sobre dicho valor numérico, y así obtendremos la siguiente tabla.



Eliminamos la columna D por no aportar información, y habremos obtenido la información original pero en forma de Base de Datos.



Fase 3

Partiendo de la tabla anterior que contiene los datos en forma de Base de Datos, vamos a obtener la  tabla precedente, cosa que conseguiremos realizando una nueva Tabla Dinámica.

Insertar, Tabla Dinámica y siguiendo lo pasos habituales llegamos a la siguiente tabla.



Actualización

Cuando se elige "Rangos de consolidación múltiples" luego es preferible seleccionar "Campos de página personalizados", en lugar de seleccionar "Crear un solo campo de página". De esta forma nos ahorramos tener que eliminar la columna que sale a la derecha.

Otro sistema para conseguir en Excel 2007 el asistente de Tablas Dinámicas del que disponíamos en Excel 2003 es teclear Alt+T+B. Con ello lanzamos el menú de la versión 2003.





martes, 5 de octubre de 2010

Lluvia

Dispone del siguiente archivo de Excel: lluvia.xlsm

Hoja1

Vamos a generar un poco de lluvia con una macro. De forma aleatoria generamos la posición de una celda dentro del un area, y en ese punto hacemos caer una gota de lluvia representada por un asterisco (*). Esta idea tan simple es la introducción que nos permite entender cómo se utiliza el método de simulación de Monte Carlo para el cálculo de áreas.


Código

Sub puntos_aleatorios()
Dim i As Integer
For i = 1 To 100
    Cells(Int(Rnd * 30) + 1, Int(Rnd * 30) + 1) = "*"
Next i
End Sub
Sub Borra()
Range("A1:AD30").ClearContents
Range("AQ1").Select
End Sub



Rnd genera un número aleatorio entre 0 y 1. Equivale a la función =ALEATORIO().

Hoja2

En la Hoja2 vamos a calcular estimar áreas usando la lluvia.