¡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



29 julio 2011

Fórmula para Calcular % Completado Previsto a una Fecha y ¡Cambios de Nombre de Campos en Project 2010!


Buenos Días.

Estoy tratando de utilizar la fórmula siguiente:

Str(IIf([Fin de línea base]<=[Fecha de estado],100,IIf([Comienzo de línea base]>[Fecha de estado],0,Round((100*(Val(ProjDateDiff([Comienzo de línea base],[Fecha de estado],"Calendario 1"))/[Duración])))))) & "%"

con algunos datos diferente a los que en un foro definiste, me ha servido mucho, pero no sé por qué ahora cuando ingreso a la fórmula me envía un error que dice “La fórmula contiene un error de sintaxis o una referencia a un nombre de campo o función desconocidos.”, y no puedo hacerle ningún cambio. La fórmula me calcula cuando hago cambios, pero me doy cuenta que cuando hago el seguimiento y varía la duración el porcentaje que calcula es en base a esa duración y no a la duración de la línea base, por lo tanto me envía un error en el porcentaje donde a veces me sube al 100%.

¿Sabrías la razón por la cual me envía este mensaje de error?

¿Cómo podría solucionarlo?

Saludos
Johanny

Respuesta [Ignacio Martín]:

Hola Johanny,

antes de nada comentar que la denominación de algunos campos de Project 2010 han cambiado respecto a versiones anteriores, por lo que tablas, fórmulas, macros, etc. diseñadas para versiones anteriores de Project 2010 y que incluyen alguno de esos campos, puede dar error. De manera recíproca, si fueron diseñadas para 2010, pueden dar error en Project 2007.

En concreto:

Antes de Project 2010       Project 2010
---------------------------      -----------------------------
Duración prevista           Duración de línea base
Comienzo previsto          Comienzo de línea base
Fin previsto                     Fin de línea base

También es distinto el separador dentro de una fórmula personalizada,

Antes de Project 2010       Project 2010
---------------------------      -----------------------------
 ;  (punto y coma)               ,  (coma)

Respecto a tu consulta de error y optimización de la fórmula para calcular el % completado del plan previsto o Línea de base a una Fecha de estado, incluida en un campo personalizado de Texto de tarea, siendo la que originalmente me envias la siguiente:

Str(IIf([Fin de línea base]<=[Fecha de estado],100,IIf([Comienzo de línea base]>[Fecha de estado],0,Round((100*(Val(ProjDateDiff([Comienzo de línea base],[Fecha de estado],"Calendario 1"))/[Duración])))))) & "%"

debes considerar y revisar estos puntos,

1. ¿Existe el “Calendario 1” en el proyecto al que se hace referencia en la fórmula?, de lo contrario se muestra #ERROR en el resultado, y si no crearlo o cambiarlo por otro, el del proyecto es el “Estándar”. Si no se pone nada (borrar “;Calendario...” en la fórmula), la función (ProjDateDiff) usa el calendario asignado al proyecto (por defecto Estándar).

2. En la fórmula, para calcular el % completado previsto de una tarea a la fecha de estado (último condicionante de los tres que considera la fórmula) aparece el campo “Duración”, pero como tu bien apuntas, lo correcto es hacer referencia a la “Duración prevista” ó “Duración de línea base” según la versión.

3. Así pues, dependiendo de la versión de Project la fórmula es distinta en lo referente a los campos Comienzo, Fin y Duración prevista, y los separadores entre campos, estando correctas las siguientes:

Anterior Project 2010 (2007, 2003, 2002, 2000):

Str(IIf([Fin previsto]<=[Fecha de estado],100,IIf([Comienzo previsto]>[Fecha de estado],0,Round((100*(Val(ProjDateDiff([Comienzo previsto],[Fecha de estado],"Calendario 1"))/[Duración prevista])))))) & "%"

Project 2010:

Str(IIf([Fin de línea base]<=[Fecha de estado];100;IIf([Comienzo de línea base]>[Fecha de estado];0;Round((100*(Val(ProjDateDiff([Comienzo de línea base];[Fecha de estado];"Calendario 1"))/[Duración de línea base])))))) & "%"

Nota.- Al abrir un proyecto 2007 o anterior con campos personalizados y fórmulas, en Project 2010, éste último lo convierte automáticamente a sus nuevas características, sin necesidad de editarlo, no así a la inversa de 2010 a 2007, en cuyo caso Project 2007 no podrá siquiera abrir el archivo 2010.

Espero haberte ayudado,

un saludo

33 comentarios:

  1. Hola, estoy haciendo un calculo similar en un plan de trabajo pero cuando quiero aplicar la formula para las tareas resumen me genera valores negativos lo cual no es correcto ¿Existe alguna consideracion especial para las tareas resumen?

    ResponderEliminar
  2. Hola Lilí

    la fórmula está pensada para tareas por lo que puedes desactivarla para las de resumen en la opción Ninguno / Atributos personalizados de la definición de la Fórmula en Campos personalizados.

    un saludo
    ignacio.mvp@microsoftproject.es

    ResponderEliminar
  3. Buenos días señor Ignacion excelentísima página lo que estaba buscando
    Me parece interesante también el cálculo de la tarea resumen del proyecto porque al cliente le interesa en todo momento lo estimado y lo real para tomar decisiones de acuerdo a la desviación presentada, además se puede generar la curva S mucho mas fácil
    Como hacerlo !!!!!!!!

    ResponderEliminar
  4. Hola,
    ¿me podrías precisar a qué curva S te refieres? ¿qué datos son los que quieres representar?

    un saludo.

    ResponderEliminar
  5. Estimado Ignacio:

    Necesito implementar una formula con el siguiente requerimiento:
    -Cuando un proyecto tiene un retraso menor al 25% esta en verde.
    Cuando un proyecto tiene un retraso entre 25% y 35% esta en amarillo.
    -Cuando un proyecto tiene un retraso mayor a 35% esta en rojo.

    Me puedes ayuddar en realizar la formula por favor... recien estoy empesando utilizar el project.

    Muchas Gracias

    ResponderEliminar
  6. No veo la útilidad a la fórmula, en que se diferencia el % completado del plan previsto al % completado o informado??, al final los valores seran los mismos y esta fórmula nos muestra solo lo informado, yo prefiero gráficar los trabajos : trabajo actual (trabajo), trabajo real, y trabajo previsto, sacar un % absoluto de estas (para obtener las curvas S) y realizar un gráfico con las 3 curvas para poder comparar lo real (% trabajo real) con lo estimado (% trabajo previsto) y con lo proyectado (% trabajo )... lo malo que no puedo (o no se) como subir screen en este foro...

    ResponderEliminar
  7. Ignacio MVP16 mayo, 2012

    Felix:

    la respuesta está en el post del foro

    Seguimiento de un proyecto, fórmulas e indicadores gráficos de retraso en Microsoft Project

    con el vínculo que puedes pedar en tu navegador

    http://forodeproject.blogspot.com.es/2012/05/seguimiento-de-un-proyecto-formulas-e.html

    Saludos

    ResponderEliminar
  8. Antonio,

    puedes incluir en los comentarios la página de referencia para su consulta en forma de texto.

    Respecto a la diferencia entre % completado del plan previsto o línea de base y el completado o informado, es que el primero se refiere al % de la duración de la tarea que según el plan previsto se debería llevar a la fecha de estado especificada, y el informado o actual, el que el usario dice que lleva. El primero, solo se obtiene con una fórmula como la especificada o con el botón Actualizar según programación.

    Por otro lado, Project distingue entre % completado y % del trabajo completado. El primero se refiere a los días reales que han pasado/consumido o gastado de la duración de la tarea a la fecha de estado, y esto puede coincidir o no con el % de las horas de trabajo de los recursos. Es posible que el usuario no programe con recursos, en cuyo caso será más complicado el seguimiento del trabajo.

    Un saludo

    ResponderEliminar
  9. Buenas tardes:

    Me gustan mucho sus repuestas y son muy útiles, pero tengo una pregunta, yo utilicé la formula que diste al principio del foro para el "% completado previsto", y no me sacó erro ni nada, pero al mirar el cronograma, el "% completado previsto" indica que es mayor al "%completado", teniendo en cuenta que todas las actividades programadas van según esta previsto.

    ResponderEliminar
  10. Hola Ángela,

    me imagino te refieres a nivel de tareas ¿verdad?. Acabo de probar con la fórmula sugerida para la versión de project 2010 y no encuentro diferencias en los resultados de lo que calcula la fórmula que se debería llevar a una fecha de estado según el plan previsto o Línea de base y lo que se calcula cuando pulso el botón Actualizar según programación sobre esa misma tarea. Ten en cuenta que si la Línea de base no coincide exactamente con la programación actual, puede salir valores distintos, como es lógico y deseable. Puedes hacer una comprobación sobre algún plan programado, estableciendo la línea de base sin mediar cambios entre los 2 planes, programado y previsto, y los resultados del %completado deberían coincidir. Ya nos contarás.

    Saludos,

    Ignacio martín

    ResponderEliminar
  11. Buenas tardes:

    Es que la verdad no sé como explicar bien, un ejemplo puntual es que estoy trabajando en un proyecto, las actividades están según como se esperaron, es decir las que tienen que estar completadas están completadas, pero en el global de todo el proyecto me sale como si estuviera retrasado, ejem real el completado es 9% y con la formula, el esperado o planificado es 20%, teniendo en cuenta que no se han reprogramado actividades.

    ResponderEliminar
  12. Hola Ángela:

    la fórmula solo sirve para tareas no de resumen. El cálculo de %completado previsto a una fecha de estado a nivel de tarea de resumen es complicado, por no decir casi imposible de determinar a través de las fórmulas de Ms Project. Así que al definir la fórmula, yo no la aplicaría a las tareas de resumen (opción del formulario). El % completado de una tarea de resumen es la relación en tanto por ciento entre la suma de todos los días reales de las tareas que lo forman y la suma de todas sus duraciones, y claro eso no es la fórmula que se anuncia a nivel de tarea.

    Saludos

    ResponderEliminar
  13. Buenos días:

    mil gracias, de verdad que fue de gran ayuda dicha información.

    ResponderEliminar
  14. Buenos días:

    Me pueden colaborar indicandome como saco los indicadores "valor ganado EV" y "valor planeado PV"

    Mil gracias!!

    ResponderEliminar
  15. ignaciomvp11 agosto, 2012

    Hola Ángela,

    - el Valor ganado EV es el campo BCWP que en español se corresponde con el CPTR (Costo Presupuestado del Trabajo Real. Por error este campo no ha sido traducido en todas las versiones de Project hasta la 2010 incluida. Esta incidencia ya ha sido tenida en cuenta por Microsoft y sera corregida en la próxima versión de Project, según me confirmaron hace unos días.
    - El campo valor planeado PV se corresponde con el campo CPTP (Costo Presupuestado del Trabajo Programado).

    Ambos campos BCWP y CPTP puedes insertarlos en cualquier tabla de tareas, o cargando la tabla Indicadores de costo del valor acumulado.

    Un saludo.

    Ignacio MVP

    ResponderEliminar
  16. Buenos días:

    Muchas gracias por su aclaración, realmente es satisfactorio encontrar personas como usted,me ha ayudado mucho, pero una pregunta, es posible sacar indicadores no de costo sino de trabajo, es decir el trabajo planeado y el trabajo ganado???

    Estoy atenta a su respuesta.

    Un saludo.

    Ángela

    ResponderEliminar
  17. ignaciomvp16 agosto, 2012

    El trabajo ganado sería el campo trabajo real, pero para el trabajo planeado no se dispone de su valor de forma directa en Project, así que en el mejor de los casos habría que programar una macro que lo calculara.

    Saludos

    ResponderEliminar
  18. Gracias por sus comentarios.

    Como puedo encontrar las traducciones de los rterminos usados en las formulas al ingles o frances.
    Gracias

    ResponderEliminar
  19. Hola,

    he hecho algunas investigaciones y he creado una hipótesis de fórmula y agradecería si hay alguien que las pruebe y confirme si funcionan en inglés o francés.

    ESPAÑOL:

    Comienzo de línea base
    Fin de línea base
    Duración de línea base
    Fecha de estado
    Estándar

    Str(IIf([Fin de línea base]<=[Fecha de estado];100;IIf([Comienzo de línea base]>[Fecha de estado];0;Round((100*(Val(ProjDateDiff([Comienzo de línea base];[Fecha de estado];"Calendario 1"))/[Duración de línea base])))))) & "%"
    ---------------------------

    INGLÉS:

    Baseline Start
    Baseline Finish
    Baseline Duration
    Status date
    Standard


    Str(IIf([Baseline finish]<=[Status date];100;IIf([Baseline start]>[Status date];0;Round((100*(Val(ProjDateDiff([Baseline start];[Status date];"Standard"))/[Baseline duration])))))) & "%"
    --------------------------

    FRANCÉS:

    Début de référence
    Fin de référence
    Durée de référence
    Date d'état
    Standard

    Str(IIf([Fin de référence]<=[Date d'état];100;IIf([Début de référence]>[Date d'état];0;Round((100*(Val(ProjDateDiff([Début de référence];[Date d'état];"Standard"))/[Durée de référence])))))) & "%"

    Saludos

    Ignacio MVP

    ResponderEliminar
    Respuestas
    1. Hola me llamo Andrea Snatamaria y ensaye la formula, yo trabajo en 2007 y corregí lo que usted anotaba antes, me funciona si quito el STR()&%.
      Me funciona solo para las tareas, para las resumen no, creo que porque el % de las resumen project lo hace por promedio ponderado y no aritmetico, hay forma de hacer que funcione para las resumentambien ?
      Saludos y gracias

      Eliminar
  20. Hola Andrea,

    la fórmula está indicada como dice el artículo para un campo personalizado de texto, si se introduce en un campo personalizado numérico dará error salvo que se eliminen las subcadena inicial Str y la final & "%"

    No hay una forma directa de aplicar este cálculo a las tareas de resumen, dado que habría que totalizar todas las duraciones previstas completadas de las subtareas a la fecha de estado por un lado, y todas las duraciones totales previstas de las mismas, para posteriormente dividir esos totales y mostralo en %. Esto requeriría al menos programar una macro que lo calculara, sería imposible incluirlo en la misma fórmula descrita inicialmente.

    Saludos

    ResponderEliminar
  21. Hola Ignacio

    Me llamo Mauricio; tengo un aduda similar; con respecto a los porcentajes de avance; ya que el % completado real que llevo en el projecto me indica que es del 4% y el % planeado es del 17%; tengo una confusion pues la mayoria de actividades van acorde con lo programado y la diferencia entre estos porcentajes es muy alta.
    Me podria ayudar a resolver esta inquietud

    Gracias

    ResponderEliminar
  22. Hola Mauricio,

    la fórmula no vale para las tareas de resumen, como se dijo en algún comentario anterior, así que no te preocupes por el dato del proyecto porque no es así como se calcula.

    El cálculo de %completado previsto a una fecha de estado a nivel de tarea de resumen es complicado, por no decir casi imposible de determinar a través de las fórmulas de Ms Project. Así que al definir la fórmula, yo no la aplicaría a las tareas de resumen (opción del formulario). El % completado de una tarea de resumen es la relación en tanto por ciento entre la suma de todos los días reales de las tareas que lo forman y la suma de todas sus duraciones, y claro eso no es la fórmula que se anuncia a nivel de tarea.

    Saludos

    ResponderEliminar
  23. ok; Ignacio de nuevo muchas gracias por atender a mis inquietudes, la duda ahora seria la siguiente: podria obtener de alguna manera una proyeccion del % estimado semanalmente con el fin de confrontarlo con lo real ejecutado y a su vez saber si mi proyecto se encuentra atrasado o no?

    Gracias.

    ResponderEliminar
  24. Hola Mauricio,

    te responderé con un método propio y algo mínimamente laborioso, porque salvo haciendo una macro bastante sofisticada no veo forma directa de conseguirlo:

    1. Se selecciona Mostrar tarea resumen del proyecto (fila Id=0)si no lo estuviera ya.

    2. El % completado(real) a la fecha de estado del proyecto es el que muestra este campo a nivel de tarea resumen del proyecto (Id=0)

    Nota.- Para calcular el % completado proyectado o previsto de la Línea de base hacemos lo siguiente:

    3. Creamos una copia del proyecto actual para hacer simulaciones y mantener el original intacto.

    4. Sobre la copia del proyecto, seleccionamos todas las tareas del proyecto (clic en vértice gris superior izquierdo de la tabla de tareas), pulsamos el icono de Información de la tarea, y en la ficha Avanzado incluimos la restricción "Debe comenzar el" en Tipo de restricción y Aceptar. o bien insertar la columna "Tipo de restricción" en la tabla de tareas y poner todas las tareas a "Debe comenzar en" (con Copiar y pegar por ejemplo)
    5. Copiamos y pegamos consecutivamente y en este orden las 3 siguientes columnas de la Línea de base, insertándolas previamente en la tabla de tareas si no lo estuvieran, así como las columnas Duración, Comienzo y Fin

    a) Comienzo línea de base en Comienzo
    b) Fin de línea de base en Fin
    c) Duración de línea de base en Duración

    5. Nos aseguramos que la Fecha de estado incluye la última fecha de actualización del proyecto

    6. Seleccionamos todas las tareas del proyecto de igual forma a como lo hicimos en el punto 4

    7. Pulsamos el botón "Actualizar según programación" de la ficha Tarea, grupo Programación

    8. Insertamos la columna % completado en la tabla de tareas si no lo estuviera anteriormente...el valor del % completado a nivel de la Tarea resumen del proyecto (Id=0) es el % completado proyectado que se debería llevar a la Fecha de estado o actualización según la Línea de base.

    Nota.- La explicación se ha descrito para las versiones 2010 y 2013 de Microsoft Project. Para versiones anteriores el procedimiento sería el mismo, aunque los términos y la ubicación de determinadas opciones pueden variar.

    Si tienes alguna duda consúltamela en estos comentarios o a mi correo imartin@epmconsultores.com

    Saludos

    ResponderEliminar
    Respuestas
    1. Excelente esta ayuda Ignacio!!! me funcionó a la perfeccion te agradezco esta valiosa informacion.

      Saludos

      Eliminar
    2. Hola Ignacio

      Como te decia anteriormente la ayuda fue excelente; quisiera saber si estos resultados el programa los puede expresar en decimales?

      Gracias

      Eliminar
  25. Mauricio,

    lamentablemente Ms Project redondea la cifra del % completado, por lo que no se puede mostrar decimales.

    Saludos

    ResponderEliminar
  26. He estado ingresando la siguiente formula para idnetificar el avance estimado del proyecto teniendo en cuenta la linea base:

    IIf([Baseline Start] >[Status Date] ,0, IIf([Baseline Finish] <[Status Date] ;100;ROUND((([Status Date] -[Baseline Start] )/([Baseline Finish] -[Baseline Start] ))*100;2))) & " %"

    Sin embargo , siempre me aparece un error en el segundo texto IIF. He tratado de incluir en una formula IIF otra IIF en la parte falsa, pero siempre me aparece error de sintaxis. Quisiera saber si tengo que activar algo para que me permita hacer este tipo de fórmulas.

    Gracias

    ResponderEliminar
    Respuestas
    1. IgnacioMVP14 junio, 2013

      Hola,

      posiblemente debes de sustituir los 3 punto y coma por coma, con lo que la fórmula quedaría así

      IIf([Baseline Start] >[Status Date] ,0, IIf([Baseline Finish] <[Status Date] ,100,ROUND((([Status Date] -[Baseline Start] )/([Baseline Finish] -[Baseline Start] ))*100,2))) & " %"

      Si observas el mensaje de error, el foco se sitúa en el primer lugar que se produce y que coincide con el punto y coma.

      Como dice este artículo en la parte superior, fórmulas con punto y coma de versiones anteriores a Project 2010 deben cambiarse a coma en versiones posteriores. A veces esto lo hace automáticamente Project, y a veces no (?).

      Recuerda finalmente que si no se ha creado la Línea de base, la fórmula dará un error. Por cierto, esta fórmula no se debe aplicar a las tareas de resumen, pues calcularía mal.

      Saludos

      Eliminar
  27. Buenas tardes Ignacio, excelente herramienta, la formula funciona de 10 puntos. Se me presenta solo un problema, y es que en el seguimiento de actividades divididas el % Completado previsto me da mas de 100%. Alguna solucion? gracias

    ResponderEliminar
    Respuestas
    1. Hola Euro,

      efectivamente esta fórmula para calcular % completado previsto según la Línea de base a una Fecha de estado, no es aplicable para tareas divididas.

      Esto se debe a que al calcular los días laborables que hay entre el Comienzo de línea base (previsto) y la Fecha de estado, no se contempla el tiempo de interrupción, entre las partes en que se dividió la tarea en la programación. Como ¡tampoco es aplicable a tareas de resumen!

      En general recomiendo evitar dividir tareas, por esta y otras razones ya que suelen impedir el control de las partes divididas, cuya información no figura accesible al usuario en Project. Como alternativa quizás, recomiendo desagregar la tarea en subtareas equivalentes a las partes divididas.

      Saludos

      Eliminar

Introduce aquí tu comentario;