lunes, enero 09, 2012

Cálculos con los últimos n valores de una serie en Excel

Un compañero de trabajo quería calcular el promedio de los últimos 12 valores de una serie. En su caso, el precio promedio de una serie de productos



Para calcular el promedio de los últimos doce meses usaremos esta fórmula

=PROMEDIO(DESREF(B5,CONTAR(B5:B160)-12,0,12,1))



A medida que agreguemos (o quitemos) valores, la fórmula se ajustará automáticamente.

Sobre el funcionamiento de la función DESREF ya hemos escrito en este blog. El “truco” aquí es que usamos CONTAR para encontrar la última celda no vacía (suponemos que contienen números) y luego “retrocedemos” 12 puntos atrás.
En nuestro ejemplo

CONTAR(B5:B160)-12

da 2 (14-12) lo que nos “lleva” a B7; luego nos extendemos hasta B18 usando 12 como argumento en DESREF.

Un detalle a tomar en cuenta es que el rango de valores debe ser continuo (sin celdas vacías entre dos o más valores); en caso contrario el resultado será incorrecto.

Podemos modificar la fórmula de manera que la cantidad de valores a considerar en el cálculo se determine de forma dinámica



Usamos el valor en la celda B1 como argumento para determinar la cantidad de meses a tomar en cuenta

=PROMEDIO(DESREF(B5,CONTAR(B5:B160)-B1,0,B1,1))

Apéndice: en esta nota muestro como resaltar las celdas comprendidas en el cálculo con formato condicional

jueves, diciembre 22, 2011

Ajuste automático de fecha en el calendario de Excel

Una de las notas más populares de este blog es Validar fechas en Excel con un calendario. Al presente registra más de 33 mil vistas y más de 130 comentarios.

Microsoft decidió retirar el control Calendario del paquete de Office 2010, pero muchos de mis lectores siguen usando versiones anteriores o han instalado el control independientemente.

Una de las consultas que recibo en relación a esa nota es cómo hacer para que el calendario se abra en la fecha corriente. Uno de los lectores puso en un comentario cómo hacerlo, pero por lo general los nuevos lectores no se detienen a leer todos los comentarios. Por ese motivo, mostraré en esta nota los pasos a dar para lograr ese efecto.

Creamos el userform con el control Calendario y ponemos los códigos de los eventos, tal como mostré en la nota mencionada.

Ahora agregamos un evento para establecer la fecha del calendario. En el editor de Vba seleccionamos el userform



apretamos F7 para abrir el módulo del control y agregamos este código al evento Activate del Userform

Private Sub UserForm_Activate()
    Calendar1.Value = Now
End Sub




Este evento hará que el calendario se abra siempre en la fecha del día corriente.

domingo, diciembre 18, 2011

Usos del panel de selección en Excel

Una de las tareas más extenuantes cuando construimos reportes dinámicos o dashboards, es ordenar los objetos gráficos (cuadros de texto, formas, imágenes, gráficos, etc.).

Para ordenar los objetos debemos seleccionarlos, cosa que hasta Excel 2007 hacíamos seleccionando uno de los objetos y luego, apretando el botón Ctrl, seleccionando los restantes.

A partir de Excel 2007 disponemos de una nueva herramienta: el panel de selección



El panel aparece cuando seleccionamos un objeto, en la ficha “Herramientas de dibujo”, o en cuando seleccionamos un gráfico, en la ficha “Herramientas de gráficos”



El panel de selección tiene muchos usos prácticos

Volver visibles formas ocultas



En la imagen vemos que existe el objeto “Flecha izquierda y derecha” pero no es visible (el cuadro a la derecha del nombre del objeto en el panel indica si está visible, se ve un ojo en el cuadro, o no). Un simple clic en el cuadro al lado del nombre del objeto lo descubre o lo oculta



Uno de los usos de esta propiedad es hacer visible objetos que pueden contener enlaces a otros cuadernos o cambiar logos de facturas hechas en hojas de Excel.

Selección objetos

Podemos seleccionar los objetos en el panel haciendo un clic sobre el nombre del objeto elegido; podemos seleccionar varios objetos manteniendo apretada la tecla Ctrl mientras los seleccionamos. Una vez seleccionados podemos cambiar reordenarlos usando las flechas de reordenar.

Con los objetos seleccionados podemos hacer varias operaciones como:

Agrupar

Agrupando hacemos que varios objetos se comporten como si fueran un único objeto



Ajustar a la cuadrícula

Al activar esta propiedad, al mover o cambiar el tamaño de los objetos, éstos se alinean al borde de celda más cercano



Ajustar a la forma

En forma similar, esta propiedad permite alinear las formar a los bordes de las otras formas.

Otras posibilidades pueden verse son alinear en la parte superior o inferior y distribuir vertical u horizontalmente



En este ejemplo hemos agrupado un gráfico (ventas de dos años por meses) que incluye controles (la barra de desplazamiento y las casillas de verificación) lo que nos permite mover todo el grupo en la hoja o cambiar el tamaño sin necesidad de tener que tratar cada objeto por separado



El archive con el ejemplo se puede descargar aquí.