IF is TRUE, yet monday proceeds with the FALSE option

Hi team,
The first part of the IF below is TRUE, yet monday proceed with the FALSE option, and as the value in this field isn’t numeric but a string (“TBD” in specific) it comes back with an error message.

I would expect that as the first part of the IF statement is TRUE, the calculation of the formula to be stopped at this point and restart at the next line.

What am I missing? Thanks in advanced.

IF(OR({Overall Engagement} = “TBD”, {Executive Engagement} = “TBD”, {Do we have a Champion?} = “TBD”, {IT Engagement} = “TBD”, {End User Engagement} = “TBD”, {Usage Trend} = “TBD”, {Knowledge in K8s} = “TBD”, {CSM Sentiment} = “TBD”), “TBD”, ROUNDUP(SWITCH({Overall Engagement}, “Frequent”, 1, “Not frequent”, 0.5, “Non responsive”, 0, “TBD”)*10 + SWITCH({Executive Engagement}, “Direct”, 0.9, “Indirect”, 0.1, “No Engagement”, 0)*10 + SWITCH({Do we have a Champion?}, “Yes”, 1, “Getting there”, 0.5, “No”, 0)*12 + SWITCH({IT Engagement}, “Excellent”, 1, “Satisfactory”, 0.5, “Needs Improvement”, 0.25, “None”, 0)*9 + SWITCH({End User Engagement}, “Excellent”, 1, “Satisfactory”, 0.5, “Needs Improvement”, 0.25, “None”, 0)*13 + SWITCH({Usage Trend}, “High and Stable”, 1, “High but Decreasing”, 0.8, “Medium and Increasing”, 0.6, “Medium but Decreasing”, 0.4, “Low and Increasing”, 0.2, “Low”, 0)*15 + SWITCH({Knowledge in K8s}, “Advanced”, 1, “Basic”, 0.5, “Needs Improvement”, 0)*8 + SWITCH({CSM Sentiment}, “Excellent”, 1, “Good”, 0.75, “Needs Improvement”, 0.5, “Bad”, 0)*23, 0))

Hi Ryan,

You’re not missing anything, that’s how the if statements work in Monday. It is not intuitive but Monday will calculate both if true and if false first, then return the one corresponding to the condition…

The trick is to make sure both calcs (if true and if false) always return a valid result (=no error, no matter the values of the different columns involved). This is not always possible and is pretty frustrating.

The other option is to use a 3rd party app instead of the very limitating formula column. The Advanced Formula Booster treats if statements as you’d expect.

Also it would make your formula so much easier to write since it allows you to use multiple lines and variables.