If all Sub Parts are Complete, List Complete on Parent Object

Hi, I am trying to figure a way to do a text based sum up. I am trying to keep track of the parts I 3D Print for each order. One order can have many parts. Each Part has a enum Status. When all the Related Parts Status is Complete, I want a virtual column to return Complete on the Parent Order.

I have [Related Parts][Status] returning all of the related statusss correctly, but I am not sure how to do the rest. I am sure I am overthinking it. IF(AND()) dont seem to be working (I get a โ€œCannot compare List with Textโ€ error), and I have also looked into Array formulas with no success. Any guidance would be greatly appreciated.

IF(AND([Related Parts][Status]= โ€œCompleteโ€, โ€œCompleteโ€, โ€œProcessingโ€))

2 7 417
7 REPLIES 7

I think I figured it out!

IF(
OR(
CONTAINS([Related Parts][Status], Print Queue),
CONTAINS([Related Parts][Status], Processing),
CONTAINS([Related Parts][Status], Printing),
CONTAINS([Related Parts][Status], Error),
CONTAINS([Related Parts][Status], Waiting on Customer)
),
โ€œProcessingโ€, โ€œCompletedโ€)

Try instead:

IF(IN(โ€œCompleteโ€, [Related Parts][Status]), โ€œCompleteโ€, โ€œProcessingโ€)

More efficient:

ISNOTBLANK(
  INTERSECT(
    [Related Parts][Status],
    LIST(
      "Error",
      "Print Queue",
      "Printing",
      "Processing",
      "Waiting on Customer"
    )
  )
)

what about:

ISBLANK( [Related Parts][Status] - LIST( "Complete") )

โ€ฆto check if โ€œCompleteโ€ is the only status?

Or, in total:

IF(
  ISBLANK( [Related Parts][Status] - LIST( "Complete") ) ,
  "Complete" ,
  "Processing"
)

Good one!

This is what Iโ€™d do

This is an interesting use of list-math

Thank you all for your suggestions! One heck of a community!

I will try some of these out and report back. As of right now, it is working, but continuous improvement is a virtue!

Thank you all again. Went and revisited this and used @Marc_Dillon 's suggestion and added an extra step. Now if everything is in โ€œPrint Queueโ€ status, then it is โ€œNot Startedโ€ If, Everything is in โ€œCompleteโ€ status, Complete. Everything else is Processing!

Works like a charm!

IF(
ISBLANK( [Related Parts][Status] - LIST( โ€œPrint Queueโ€) ) ,
โ€œNot Startedโ€ ,
IF(
ISBLANK( [Related Parts][Status] - LIST( โ€œCompleteโ€) ) ,
โ€œCompleteโ€ ,
โ€œProcessingโ€
)
)

Top Labels in this Space