jueves, octubre 13, 2011

Planificar proyectos – pedido de ayuda a mis lectores

Necesito la ayuda de mis lectores para verificar y corregir, donde haga falta, mi nuevo modelo para planificar actividades. Los primeros cinco lectores que estén dispuestos a ayudarme recibirán un enlace para descargar el modelo.

La ayuda consiste en usar el modelo, para encontrar "bugs" y sugerir mejoras de funcionamiento o diseño.

A cambio de la ayuda, una vez terminadas las correcciones, recibirán una copia del modelo con la contraseña que les permitirá ver todas las fórmulas y códigos utilizados en su desarrollo.

El mail aceptando ayudar debe enviarse a la dirección que figura en el enlace "Ayuda" (de ninguna manera poner la dirección del mail en un comentario!!). Desde ya, muchas gracias.

Y ahora, ¿qué es este modelo de planificación de actividades? Hemos tocado el tema tangencialmente en las notas sobre cómo crear un diagrama de Gantt en Excel. Este modelo va más lejos. La idea es poder definir actividades de un proyecto, crear dependencias entre las actividades (una actividad "precedente" determina la fecha de inicio de la actividad "dependiente"), mostrar la relación de la actividades en un diagrama de Gantt y crear una cuadro de control de la actividades.

Parte de los datos son calculados automáticamente: al determinar la fecha de comienzo y la duración, la fecha de finalización es calculada automáticamente. Lo mismo si se ingresa la fecha de finalización y la duración, etc.

Este modelo tiene dos objetivos:


  • Dar una alternativa sencilla a la planificación de proyectos cuando el uso de aplicaciones como MSProject son un "overkill"
  • Servir como material para estudiar las distintas técnicas empleadas (controles, nombres dinámicos, eventos, macros, gráficos dinámicos, etc.)


El modelo ha sido desarrollado en tres versiones: Excel 2003, Excel 2007 y Excel 2010.
Está compuesto de cuatro hojas visibles, dos ocultas y una que puede ser creada "al vuelo".

Inicio: definición del nombre del proyecto e instrucciones para el uso del modelo.



Actividades: definición de las actividades del proyecto (nombre, descripción, responsable, fecha inicio, final fin, duración, precedente, estatus de cálculo, estatus de datos). El modelo permite determinar "precedentes", actividades que deben ser completadas antes que otra actividad (la dependiente) pueda comenzar.



Gantt: diagrama de Gantt que se actualiza automáticamente de acuerdo a los cambios en la hoja Actividades. Se muestran también el número de días requerido para completar el proyecto (total y sólo días laborales).



To Do: permite controlar el estado de las actividades en relación a la fecha corriente.

Detalle de actividad: el hacer un doble clic en el nombre de una actividad (en la hoja Actividades), se crea automáticamente una hoja que permite detallar sub-tareas para la actividad. Si la hoja existe, pasa a ser la hoja activa.

Feriados: oculta; se puede acceder desde la hoja de actividades. Aquí se definen los días feriados para el cálculo del total de días laborales entre el principio y fin del proyecto.

Actualización: el modelo está disponible! Los enlaces para la descarga se encuentran en esta página.

jueves, octubre 06, 2011

Control de saldos de bancos con Excel.

Ariel me consulta cómo hacer para manejar en una única tabla los movimientos y saldos de varios bancos. Supongamos esta tabla



¿Cómo calculamos el saldo? Como prefiero usar una única fórmula para la columna propongo poner en la celda F2 ésta

=SUMA($D$2:D2)-SUMA($E$2:E2)

y copiarla a lo largo del campo



Préstese atención a las referencias semi-absolutas en los rangos de la fórmula.

El problema se nos presenta, obviamente, al filtrar la lista para ver los movimientos y el saldo de uno de los bancos



El saldo correcto es 2,495.00. Podemos solucionar esta situación usando SUBTOTALES. En F2 ponemos

=SUBTOTALES(9,$D$2:D2)-SUBTOTALES(9,$E$2:E2)

y la copiamos al todo el rango de la columna



SUBTOTALES suma sólo los valores de las celdas visibles, con lo que al filtrar el resultado será el correcto



Podemos mejorar notablemente nuestro modelo convirtiendo el rango de los datos en una “tabla” (o “lista” en Excel 2003).



Las tablas/listas tienen varias ventajas:


  • Formato automático
  • Las fórmulas en las columnas son copiadas automáticamente al agregar filas
  • La fila de totales
  • Actualización automática de todo objeto ( fórmulas, gráficos, tablas dinámicas) basados en la tabla



El archivo con el ejemplo se puede descargar aquí.

martes, octubre 04, 2011

Etiquetas personalizadas en gráficos de Excel - segunda nota

En la nota anterior vimos cómo agregar etiquetas definidas en un rango de celdas. En esta nota veremos un ejemplo más avanzado de lo que podemos hacer con esta técnica. Supongamos esta tabla que analiza las ventas por mes en comparación a un objetivo mensual



Podemos representar todos estos datos en un gráfico combinado. Pero inmediatamente vemos que se nos crea un problema de escala. Si bien podemos poner las ventas en el eje principal de la Y y la diferencia en un eje secundario, no tenemos solución para la diferencia en porcentaje (no podemos agregar un tercer eje).

Mi propuesta en este caso es representar las ventas en un gráfico de columnas y poner los datos de la diferencia, en valor absoluto y en porcentaje, en una etiqueta



El primer paso para crear este gráfico es crear un rango con las etiquetas



Usamos la fórmula

=TEXTO(C5;"#.##0")&CARACTER(10)&" ("&TEXTO(D5;"0,0%")&")"

La función TEXTO es indispensable para obtener el texto combinado con el formato adecuado para los números.

Hemos quitado el eje de las Y, y en su lugar hemos agregado las etiquetas estándar de Excel con los valores de cada uno de los puntos de las serie. Para poder agregar las etiquetas personalizadas necesitamos otra serie.



La "Series2" es de hecho la misma serie de las ventas (el rango B5:B10). Para volver "invisibles" los puntos de la nueva serie definimos la serie en un eje secundario y fijamos la propiedad de relleno a "sin relleno" y la de bordes a "sin línea". Esto hace que no veamos las columnas (los puntos de las series) pero que podamos agregar etiquetas.

Para lograr esto usamos la macro que hemos definido (ver la nota anterior)



Finalmente, agregamos un cuadro de texto y lo ligamos a la celda que contiene el valor "objetivo" (la celda C2 en nuestro ejemplo). Como con las etiquetas, creamos el cuadro y lo ligamos a la celda creando una referencia (ponemos el signo "=" en la barra de las fórmulas y hacemos clic a la celda).

El archivo con los ejemplos y las macros se puede descargar aquí.