miércoles, octubre 19, 2011

Cálculo de semanas en Excel

Excel no tiene una función que calcule la cantidad de semanas entre dos fechas. Para calcular la cantidad de años, meses y días podemos usar la “indocumentada” función SIFECHA.

En esa nota muestro cómo calcular también la cantidad de semanas, pero dado que sigo recibiendo consultas sobre el tema mostraré aquí la técnica en forma sucinta. A quien no esté familiarizado con SIFECHA le recomiendo leer la nota mencionada.

Supongamos que queremos calcular la cantidad de meses, semanas y días entre dos fechas



En la celda B4 usamos la fórmula

=SIFECHA(comienzo,fin,"ym")

donde “comienzo” es un nombre que se refiere a la celda B1 y “final” es un nombre que se refiere a la celda B2.

(aclaración: dependiendo de las definiciones del sistema hay que usar “a” en lugar de “y” para los años)

En B5 ponemos =SIFECHA(comienzo,fin,"md")

Finalmente en B8 usamos =B4&" meses y "&B5&" días"

Excel no incluye el día de comienzo cuando calcula el intervalo, de manera que quien quiera incluirlo en el resultado deberá agregar “+1” a la fórmula.

Nosotros queremos este cálculo



En la celda B5 (semanas) ponemos

=ENTERO(SIFECHA(comienzo,fin,"md")/7)

para calcular la cantidad de semanas de los días no incluidos en la cuenta de los meses.

En la celda B6 ponemos

=SIFECHA(comienzo,fin,"md")-(B5*7)

Es decir, descontamos del total de días calculado por SIFECHA la cantidad de días de las semanas en la celda B5.

Si queremos una fórmula que no dependa del B5 tendríamos que usar

=SIFECHA(comienzo,fin,"md")-(ENTERO(SIFECHA(comienzo,fin,"md")/7)*7)

La fórmula en B9 es

=B4&" meses, "&B5&" semanas y "&B6&" días"

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í.