Ready Status Solved - I hope this helps everyone
I've seen a lot of posts with people trying to figure out how to parse out predecessors so that they can set the status of the next task to "Ready" or something similar. I came up with a solution that worked for me, I figured I'd share it. This solution takes care of the various dependency types and lead/lags.
1) Create an Auto Numbering column ("ID")
2) Create a Column to get row numbers ("Index"): MATCH(ID@row, ID:ID, 0)
3) Create a row number column for each non-FS predecessor type you plan to use:
a) FF Index = Index + "FF"
b) SS Index = Index + "SS"
4) Create a multi-select Helper column ("Dependency Helper"): SUBSTITUTE(SUBSTITUTE(Predecessors@row, "FS", ", "), ",", CHAR(10))
5) Create multi-select columns for each dependency type you plan to use:
a) FS Dependencies: JOIN(COLLECT(Index:Index, Index:Index, HAS(Dependencies@row, @cell)), CHAR(10))
b) FF Dependencies: JOIN(COLLECT([FF Index]:[FF Index], [FF Index]:[FF Index], HAS(Dependencies@row, @cell)), CHAR(10))
c) SS Dependencies: JOIN(COLLECT([SS Index]:[SS Index], [SS Index]:[SS Index], HAS(Dependencies@row, @cell)), CHAR(10))
You will now have all of your dependencies separated by type and all lags removed. You can use this to build out status logic however you'd like. Below is an example for setting a Task to "Ready" if all FS Predecessors are 100% complete and all SS Predecessors are greater than 0% complete:
=IF(COUNTM([SS Dependencies]@row, [FS Dependencies]@row) = COUNTIFS(Index:Index, FIND(@cell, [FS Dependencies]@row) > 0, [% Complete]:[% Complete], =1) + COUNTIFS(Index:Index, FIND(@cell, [SS Dependencies]@row) > 0, [% Complete]:[% Complete], >0), "Ready", "Queued")
Cheers!
Vince K.
vince@nnaviaconsulting.com
https://www.linkedin.com/in/vineshkapadia
Comments
-
Love to see how this has come together! Great work on this, Vince, and thanks for sharing!
-
Vince, I'm assuming the "Dependency Helper" column that you reference in #4 is the same as the Dependencies@row column you reference in the formulas in #5?
-
Yep, that's correct.
-
Minor update, using the HAS function instead of FIND in the formula will result in more accuracy (and no false positives)
=IF(COUNTM([SS Dependencies]@row, [FS Dependencies]@row) = COUNTIFS(Index:Index, HAS([FS Dependencies]@row, @cell) > 0, [% Complete]:[% Complete], =1) + COUNTIFS(Index:Index, HAS([SS Dependencies]@row, @cell) > 0, [% Complete]:[% Complete], >0), "Ready", "Queued")
Categories
- All Categories
- 14 Welcome to the Community
- Smartsheet Customer Resources
- 62.3K Get Help
- 364 Global Discussions
- 199 Industry Talk
- 428 Announcements
- 4.4K Ideas & Feature Requests
- 136 Brandfolder
- 127 Just for fun
- 128 Community Job Board
- 445 Show & Tell
- 28 Member Spotlight
- 1 SmartStories
- 283 Events
- 35 Webinars
- 7.3K Forum Archives