In MS Project there is no default field available to calculate the Planned % complete or the Baseline % completed. In this tutorial I will explain how to create a customized field to capture planned % complete to compare it against the actual % complete.

**STEP 01**: **Calculate the duration in days.**

MS Project stores the duration in minutes, so in order to use the duration in days in our calculations create a customized number field and name it as “Duration in Days”.

__How to do it__: In MS Project, right click any column and select insert column. Then select field name as ‘Number 1′ and assign title as “Duration in Days”. Then right click the newly inserted column and select ‘Customize Fields’. On the custom attributes click on the radio button ‘Formula’ and type in the formula as below. In the next section click ‘Use Formula’ and then click OK.

__Formula__: **Val(ProjDurConv(Duration, pjdays)) **

__Syntax:__ **ProjDurConv( expression, durationunits )**

__Formula Explanation__: ProjDurConv is an available function in MS Project to convert the duration in to Days(pjdays) or Hours(pjhours) or minutes or in any other available format.

**STEP 02**: **Calculate the Elapsed days.**

Based on the start date of the project and the status date, calculate the days elapsed. This is required to calculate the percentage.

__How to do it__: In MS Project, right click any column and select insert column. Then select field name as ‘Number 2′ and assign title as “Elapsed Days”. Then right click the newly inserted column and select ‘Customize Fields’. On the custom attributes click on the radio button ‘Formula’ and type in the formula as below. In the next section click ‘Use Formula’ and then click OK.

__Formula__: **IIf(ProjDateDiff(Start,[Status Date])/480>=Val(ProjDurConv([Baseline Duration],pjDays)),Val(ProjDurConv([Baseline Duration],pjDays)),IIf(DateDiff(“d”,[Baseline Start],[Status Date])<=0,0,ProjDateDiff(Start,[Status Date])/480))**

__Syntax__: **IIf( expr, truepart, falsepart )**

__Formula Explanation__: If the Project date difference between the project start date and status date is >= duration means that duration for the task completion is over and hence return the project duration. If the condition is false, it means that the duration is still not completed and we need to compute the elapsed days. But if the elapsed working days is 0 or negative (which means the planned task is not yet started) we need to set the elapsed days as 0. Hence you see another ‘If’ condition in the false part of the first ‘If’ condition.

Note: I updated the Formula to replace DateDiff function with ProjDateDiff as I was getting lot of queries from users that the formula considered weekends also in to calculations. Also on the formula window click the option “Roll up to summary level” to get the correct percentages for the summary tasks as well.

**STEP 03**: **Calculate the Planned Percentage complete.**

Planned % complete is calculated based on the ‘Elapsed Days’ (Number 2) and ‘Duration in Days’ (Number 1) fields created in above steps.

__How to do it__: In MS Project, right click any column and select insert column. Then select field name as ‘Number 3′ and assign title as “Planned Percent”. Then right click the newly inserted column and select ‘Customize Fields’. On the custom attributes click on the radio button ‘Formula’ and type in the formula as below. In the next section click ‘Use Formula’ and then click OK.

__Formula__: **Number2/Number1**

__Syntax__: **Division (Math)**

__Formula Explanation__: Dividing the Elapsed days by Duration of the task to get the percentage of completion for the task.

**STEP 04**: **Format the Percentage complete column.**

To display the percentage complete field as text with a % sign, create a new text field column and in the formula format the Number3 field.

__How to do it__: In MS Project, right click any column and select insert column. Then select field name as ‘Text 1′ and assign title as “Planned % Complete”. Then right click the newly inserted column and select ‘Customize Fields’. On the custom attributes click on the radio button ‘Formula’ and type in the formula as below. In the next section click ‘Use Formula’ and then click OK.

__Formula__: Format(Number3, “0%”)

__Syntax__: **Format( expression[, format[, firstdayofweek[, firstweekofyear]]] )** all in ‘[‘ are optional..

__Formula Explanation__: Format the Number3 field as text and adds % sign at the end.

Hope this helps and let me know other ways of arriving at the planned % complete.

Hi, there is an error in your formula you have calculated Planned % Complete by dividing (Elapsed date/duration),

but actually, we should divide elapsed date-/ Baseline Duration), rest of the formula is good

Hi Nik,

Thank you for all the assistance and information on your site.

Please note that I get a syntax error on the following formula in step two:

IIf(ProjDateDiff(Start,[Status Date])/480>=Val(ProjDurConv([Baseline Duration],pjDays)),Val(ProjDurConv([Baseline Duration],pjDays)),IIf(DateDiff(“d”,[Baseline Start],[Status Date])<=0,0,ProjDateDiff(Start,[Status Date])/480))

Please advise how do I resolve this?

Best regards

Valentine

Hi Valentine. I had that same error and I solved it by establishing a Baseline. Hope this help you.

Hi Marcos, thanks for replying; unfortunately, I still get the same error even after base lining

Hi Nik, can you explain why we use 480 in the formula?

Hi Nik, i see this has already been answered

Hi Nik, there is an error in rows referring to milestones when duration days is 0, then the Planned Percent = Number2/Number1 gives errors because it is dividing on 0.

Anyway to solve this please.

Thank you.

How to bypass planned % vs actual %

Hi, pls can show how to calculate the numbers of days late.