Help Sumif with toggle

Hello, I would like to do a dynamic calculation with toffle field.
I would like to have a Sumif like on excel.
Is there a "Sum if toggle"

Here is a concrete example :

{formtext: name=sum1}
{formtext: name=var1; default=49}
{formtoggle: name=var2; default=no}- {formtext: name=res2; default=10}{endformtoggle}
{formtoggle: name=var3; default=no}- {formtext: name=res3; default=5}{endformtoggle}
{formtoggle: name=var4; default=no}- {formtext: name=res4; default=18}{endformtoggle}

Total {=sum1+var1+res2+res3+res4}

Thanks for help

Hi @Shaolys,

Welcome to the forum! :slightly_smiling_face:

Yes, we have ternary operator to do the same. I have made the required changes in your snippet and I think it should serve your use case. Let me know if you have any questions.

{formtext: name=sum1}
{formtext: name=var1; default=49}
{formtoggle: name=var2; default=no}- {formtext: name=res2; default=10}{endformtoggle}
{formtoggle: name=var3; default=no}- {formtext: name=res3; default=5}{endformtoggle}
{formtoggle: name=var4; default=no}- {formtext: name=res4; default=18}{endformtoggle}

Total {=sum1+var1+{=res2 if var2 else 0}+{=res3 if var3 else 0}+{=res4 if var4 else 0}}

1 Like

Hi @Shaolys Welcome to the forum! :slight_smile:

Just out of curiosity, I asked our AI Writer the same question and got an answer very similar to @Ashwin_Mittal1's answer. One advantage of this solution is that it's broken down into different parts (valid_res2, valid_res3, valid_res4), so you can easily change each part independently without affecting the other parts:

{formtext: name=sum1}
{formtext: name=var1; default=49}
{formtoggle: name=var2; default=no}- {formtext: name=res2; default=10}{endformtoggle}
{formtoggle: name=var3; default=no}- {formtext: name=res3; default=5}{endformtoggle}
{formtoggle: name=var4; default=no}- {formtext: name=res4; default=18}{endformtoggle}

{valid_res2=res2 if var2 else 0}
{valid_res3=res3 if var3 else 0}
{valid_res4=res4 if var4 else 0}

Total {=sum1+var1+valid_res2+valid_res3+valid_res4}

2 Likes

Thank you both, you are perfect