I’m hoping to speak with you on a cost estimation project I’m working on, but want to automate the WBS in Excel. Would you be willing to speak with me so I can explain further?

Thank you and look forward to talking with you,

Brenda

]]>Regards ]]>

Your formula looks pretty close. Based on my quick review, I see two cases where you are missing an operator.

There is a trailing “7” here, which looks like it’s missing a greater-than or less-than sign:

`[Critical]=FALSE AND (ProjDateDiff([Finish],Now())/480) 7`

There is also a trailing “1” here, which also looks like it’s missing an operator:

`[Critical]=TRUE AND (ProjDateDiff([Finish],Now())/480) 1`

This may just be a function of copying your formula into the blog comments, which can sometimes strip out the occasional character, so if your local version of the formula doesn’t look like it’s missing a greater-than or less-than sign, you should be in good shape!

]]>So I guessed right, and the formula as I wrote it should work?

Thanks for all the explanations.

By the way, my coworker has used OnePager Pro and loves it. He said you personally helped him quite a bit in his last position since there were quite a few unique conditions in the computer systems. He had nothing but good to say about you. ðŸ™‚

]]>The 480 comes from an 8 hour workday times 60 minutes in an hour. The PROJDATEDIFF function returns work minutes, which is pretty useless, so by dividing that by 480, you get work days instead. Not exactly intuitive, I know.

The [Critical] syntax refers to a field from Microsoft Project that is literally called “Critical”. There is not a field called “Non-Critical”, so you cannot include [Non-Critical] in your formula.

The [Critical] field can either be TRUE or FALSE, so you can change your logic as you’ve done in the example above to test for a TRUE or FALSE condition and then add secondary conditions with an AND as necessary to cover the different statuses that you want to track.

It’s usually a good idea to set up a sample project plan with 5-10 tasks where you know what the status is supposed to be. Test your formula against those known tasks first and make sure that you get the desired result. Pay special attention to your operators like greater-than, less-than, greater-than-or-equal, and less-than-or-equal, as these can make or break a formula on those border conditions.

]]>Thanks for the Switch formula. I just barely know enough about coding and complicated formulas to be dangerous, so have never seen this function. I can understand most of what the formula does, but what’s the significance of the 480?

Also, how do I account for the non-critical path tasks which also need to be a part of the stoplight report? At first glance I assumed I could just do a repeat by replacing [Critical] with [Non-critical] and the appropriate number of days instead of 1, but now that I take a second look I realize that the initial [Critical]=FALSE,

“Non-Critical” most likely won’t allow that. So, my next assumption is I’d have to do [Critical]=FALSE AND then the rest:

Switch(

[Critical]=FALSE,

“Non-Critical”,

[Critical]=TRUE AND [% Complete]=100,

“Critical/Complete”,

[Critical]=TRUE AND (ProjDateDiff([Finish],Now())/480) <= 0, "Critical/Not Due Yet", [Critical]=TRUE AND (ProjDateDiff([Finish],Now())/480) 1,

“Critical/Very Past Due”,

[Critical]=FALSE AND [% Complete]=100,

“Non-Critical/Complete”,

[Critical]=FALSE AND (ProjDateDiff([Finish],Now())/480) <= 0, "Non-Critical/Not Due Yet", [Critical]=FALSE AND (ProjDateDiff([Finish],Now())/480) 7,

“Non-Critical/Very Past Due”,

)

If this is not correct, please let me know.

Thanks so much for your help on this. None of the instructional websites I looked at to try to learn how to do this got into formulas as complicated as this one. Thanks!

Anne.

]]>Hi Anne,

Your formula will probably be easier to manage if you use the SWITCH statement instead of nested IIF statements. I see some use of PROJDATEDIFF, which is good, but it’s not being used consistently, so you might look into that to make sure the date differences are being calculated accurately under all conditions.

Another recommendation is to have the results of your formula write to a text field instead of a number field. This way, instead of trying to remember what “5” means, you’ll know it means “Complete”.

Here is an example of a similar formula that you can borrow from. It looks at the CRITICAL field in MS Project, and only when critical, looks at the difference between today’s date and the finish date to determine when things are a little late, or very late. We accomplish this by testing for criticality AND some secondary condition in each clause of the SWITCH statement.

Switch(

[Critical]=FALSE,

"Non-Critical",

[Critical]=TRUE AND [% Complete]=100,

"Critical/Complete",

[Critical]=TRUE AND (ProjDateDiff([Finish],Now())/480) <= 0,
"Critical/Not Due Yet",
[Critical]=TRUE AND (ProjDateDiff([Finish],Now())/480) <= 1,
"Critical/Slightly Past Due",
[Critical]=TRUE AND (ProjDateDiff([Finish],Now())/480) > 1,

"Critical/Very Past Due",

)

By the way, you can feed the results of this formula into OnePager Pro, which will enable you to have the status-driven coloring in the body of the chart itself, as opposed to just in a graphical indicator column in the MS Project grid:

]]>IIf(Duration=0,(IIf([% Complete]=100,5,IIf(Finish<[Status Date]+7 And [% Complete]=80,3,IIf(Finish<[Status Date]+7 And [% Complete]=100*(Abs(ProjDateDiff(Start,[Status Date])/ProjDateDiff(Start,Finish))),2,(IIf(Finish>[Status Date],IIf(Start>[Status Date],1,3),4)))))

When I asked the PM what # of days behind did he want me to put for red and yellow (so I would change the 7’s in the formula to his desired # of days), he wanted something different than what this formula captures. He wants critical path tasks that are behind one day to be red and all other tasks that are behind X # of days to be yellow.

How do I rewrite or tweak this formula to incorporate the Critical aspect and differentiate those tasks from the rest? Thanks.

]]>Hi Karin,

You can use OnePager’s patented conditional formatting to do this. Basically, you’d set up a custom flag field in MS Project where you can mark tasks as critical or non-critical. Then, set up a conditional formatting rule that applies a colored border to any tasks that have a “Yes” in that flag field. You’d want to use a different flag field than you are using to filter your overall chart, so if you’re using Flag20 to import tasks into OnePager, use Flag10 or something else to designate your custom critical path.

We have instructions on creating a custom critical path in Excel. The process is the same for Microsoft Project, so you should be able to follow those instructions pretty easily.

If you need additional help setting this up, feel free to reach out to our support team for a faster response.

]]>