¡Bienvenido! al foro de consultas y comentarios de Ms Project

Envía a imartin@epmconsultores.com o a través de mi perfil tus consultas sobre Microsoft Project, Professional, Server, etc ... o bien añade respuestas y comentarios a los temas ya publicados. Ignacio Martín
http://www.epmconsultores.com/cursomicrosoftproject2013.html
http://www.epmconsultores.com/cursomsproject2013.html
http://www.epmconsultores.com/cursodeproject.html

30 mayo 2011

Calcular diferencia de Fechas y Error ( #ERROR) en campo personalizado de fecha vacía (NOD)

Estimado, felicitarlo por su página con relación al manejo de Project.

La ayuda que te pido es la siguiente:

Tengo en la tabla donde hago la evaluación después de la fecha de estado el campo Fecha1 (fin esperado que se llena manualmente) y el campo personalizado Duración remanente [Fecha1]-[Fecha de estado]), si coloco un dato en fecha1 el resultado es lo que ve en el círculo rojo de la imagen, ejemplo la fecha1 06/06 menos la fecha estado 29/05 tiene que dar 8 (días) y no 4200, y aprovechando también quisiera me ayude a que:

Si el campo Fecha1 es NOD, el campo Duración remanente quede vacío o contenga 0.
Saludos
 jcchp

Respuesta [Ignacio Martín]:

Hola Juan Carlos.

1, Microsoft Project en ocasiones utiliza minutos(?) en lugar de días para determinadas operaciones, por lo que la duración calculada de 4200 minutos es igual a 70h, y por lo tanto 8d y 6h, o lo que es lo mismo 8,75d, eso siempre y cuando un día en tu proyecto sea 8h. No obstante, si quieres evitar esto puedes utilizar la función ProjDateDiff([Fecha1];[Fecha de estado]) que te lo resta directamente en días laborables contados en el calendario de tu proyecto.


2. Para evitar el mensaje #ERROR, puedes incluir copiando y pegando la siguiente fórmula en el campo personalizado Duración remanente, y se mostrará un valor de 0d cuando dicho campo o la Fecha de estado esté en "NOD", en caso contrario se mostrará la diferencia en días laborables contada en el Calendario del proyecto entre la Fecha1 y la Fecha de estado.

IIf([Fecha1]=ProjDateValue("NOD") Or [Fecha de estado]=ProjDateValue("NOD");0;ProjDateDiff([Fecha1];[Fecha de estado]))

Saludos

11 comentarios:

  1. Muchas Gracias Ignacio!!

    Este campo personalizado me ayuda bastante para el seguimiento del proyecto, ya que comprometo al supervisor de área a proyectar un fecha de fin cuando la actividad tiene algún desvío después de la fecha de estado.

    Pronto estare aportando con ejemlos en tu blog..

    saludos.

    Ing. Juan Carlos Chávez P.

    ResponderEliminar
  2. Ignacio MVP31 mayo, 2011

    Juan Carlos:
    ¿aplicas la función de Reprogramar el trabajo retrasado a partir de la fecha de estado?

    Saludos

    ResponderEliminar
  3. Ignacio, aplico la función Actualizar proyecto con la opción: Reprogramar trabajo restante para que empiece despué de (fecha de estado)..

    Alguna sugerencia?.

    Saludos..

    Ing. Juan Carlos Chávez P.

    ResponderEliminar
  4. Ignacio MVP31 mayo, 2011

    Juan Carlos, me parece perfecto.

    ¿A qué te refieres cuando dices que que "comprometo al supervisor de área a proyectar un fecha de fin cuando la actividad tiene algún desvío después de la fecha de estado".

    Saludos

    ResponderEliminar
  5. Ignacio, me refiero a que esa fecha la levanto directamente de obra si es que la tarea ya tiene un retraso, con eso calulo la duranción restante para hacer siguimiento ya que la fecha que calcula project en el campo Duración restante propia del programa no es para mi la verdadera fecha de fin en función del avance físico.
    por ejemplo: Si tengo una tarea que esta retrasada osea ya debería terminar antes de la fecha de estado, el suoervisor de obra me indica una fecha de termino real de fin (fecha1) con eso gestiono recurso o hago un balance para ver que afecta la tarea y que la retrasa.
    saludos.

    Ing. Juan Carlos Chávez P.

    ResponderEliminar
  6. Hola cuando modifico un programa de project al grabarlo me oculta filas y cuando quiero expandir alguna actividad me manda error y se cierra, alguien me puede ayudar

    ResponderEliminar
  7. Estimado, soy Danilo:
    Primero te felicito y agradezco por tu excelente Blog!

    Tengo la siguiente duda. Uso la siguiente fórmula conocida para calcular días entre una y otra esto es:
    IIf([Fin]<=[Fecha de estado];100;IIf([Comienzo]>[Fecha de estado];0;Round((100*(ProjDateDiff([Comienzo];[Fecha de estado];"Estándar"))/[Duración]);2))) & "%"

    Funciona pero me sucede lo siguiente. Tengo una tarea que por ejemplo dura 70 días. En la fecha de estado que estoy y habiendo actualizado, Project me dice que de esos 70 días, ya van 25 (Duración real) y que me quedan 45 (Dur.Restante). Todo Ok, pero en la columna de mi fórmula que llamé "Avance Esperado" me dice que debería llevar un 62,86%. No obstante si verifico con un cálculo en Excel, lo que debería darme es algo más de 49,4%. Y basta ve que 25 días de 70, no puede ser un 62,96%.
    No sé si me expliqué bien...

    Por qué se produce esa diferencia?
    Cómo se puede arreglar?


    Agradeceré mucha la ayuda y orientación que me puedas brindar..

    Saludos, MAster!

    ResponderEliminar
  8. Hola Danilo,

    por favor envíame si quieres tu archivo con la tarea y la fórmula a imartin@epmconsultores.com, pues he hecho una prueba y sale como tiene que salir.

    Saludos

    ResponderEliminar
  9. Ignacio buena noche, requiero obtener un atraso en días, por lo que saco la diferencia entre la fecha de estado y el fin real y lo multiplico por el avance de atraso obtenido previamente, lo anterior me funciona correctamente hasta que en ciertas tareas el fin real se me presenta con un "NOD" debido a la fecha de estado ingresada, es ahi cuando en la columna de atraso en dias me empieza a dar datos exagerados e incoherentes, que debo hacer para solucionar este inconveniente, Gracias!


    ResponderEliminar
    Respuestas
    1. Hola.

      Tendrías que enviarme a ignacio.mvp@microsoftproject.es el archivo para entender lo que está pasando.

      En cualquier caso, deberías incluir en la fórmula una función iif, de manera que solo se aplique cuando ese campo sea diferente de "NOD". Precisamente en esta entrada del foro se muestra un ejemplo.

      También tienes que considerar que Microsoft Project calcula internamente en minutos, por lo que es muy probable que si quieres mostrar el resultado de determinadas fórmulas en días, tendrás que dividir por 480 min/d (8h/d x 60min/h) el valor obtenido, especialmente si estás usando campos personalizados numéricos o de texto, no así los de duración.

      Nota.- He supuesto que tienes definido en Archivo/Opciones/Programación que una jornada de 1 día equivale a 8 horas. Si no fuera esta la equivalencia, y fuera por ejemplo 7 h/d, tendrías que dividir tu resultado por 420 min/d para obtener los días.

      Saludos.

      Eliminar
  10. hola por favor pueden indicarme como puedo calcular los dias de diferencia entre la fecha fija de una tarea y la fecha real en la que esta se inicio? se que debo agregar columnas, pero no se que mas debo hacer... gracias

    ResponderEliminar

Introduce aquí tu comentario;