Forum Discussion
Need help with this function statement. Not sure if I can use a if(or, or a if(and(or
=IF(J2="CEL",N2+30,IF(J2="AZA",N2+30,IF(J2="CUN",N2+30,IF(J2="LIN",L2+60,IF(J2="EXP",L2+60,IF(J2="CYL",L2+30,IF(J2="GLO",L2+30,IF(J2="MSC",L2+30,IF(J2="SIL",L2+30,IF(J2="TAU",L2+30,IF(L2="SHL",L2+45,IF(J2="SCE",L2+45,IF(J2="SEA",N2+45,IF(J2="NOR",N2+14))))))))))))))
I still have more values to add but I ran out of space. Just trying to clean it up so I can add more parameters. Thanks. ... Carl
=IF(J2="CEL",N2+30,
IF(J2="AZA",N2+30,
IF(J2="CUN",N2+30,
IF(J2="LIN",L2+60,
IF(J2="EXP",L2+60,
IF(J2="CYL",L2+30,
IF(J2="GLO",L2+30,
IF(J2="MSC",L2+30,
IF(J2="SIL",L2+30,
IF(J2="TAU",L2+30,
IF(L2="SHL",L2+45,
IF(J2="SCE",L2+45,
IF(J2="SEA",N2+45,
IF(J2="NOR",N2+14))))))))))))))
With OR you can use the below formula.
=IF(OR(J2="CEL",J2="AZA",J2="CUN"),N2+30,
IF(OR(J2="LIN",J2="EXP"),L2+60,
IF(OR(J2="CYL",J2="GLO",J2="MSC",J2="SIL",J2="TAU"),L2+30,
IF(OR(L2="SHL",J2="SCE"),L2+45,
IF(J2="SEA",N2+45,
IF(J2="NOR",N2+14))))))
4 Replies
- PeterBartholomew1Silver Contributor
Other functions that make the formula more readable are IFS and SWITCH.
=SWITCH( string, "CEL", altValue + 30, "AZA", altValue + 30, "CUN", altValue + 30, "LIN", baseValue + 60, "EXP", baseValue + 60, "CYL", baseValue + 30, "GLO", baseValue + 30, "MSC", baseValue + 30, "SIL", baseValue + 30, "TAU", baseValue + 30, "SHL", baseValue + 45, "SCE", baseValue + 45, "SEA", altValue + 45, "NOR", altValue + 14 )(the use of defined names highlighted an inconsistency in your original formula).
Sergei's ideas of grouping data or having it in a lookup table are both worth consideration.
- SergeiBaklanDiamond Contributor
One variant as OliverScheurich suggested
=IF( OR( J2 = {"CEL","AZA","CUN"} ), N2+30, IF( OR( J2 = {"LIN","EXP"} ), L2+60, IF( OR( J2 = {"GLO","MSC","SIL","TAU"} ), L2+30, IF( OR( J2 = {"SHL","SCE"} ), L2+45, IF( J2 = "SEA", N2+45, IF( J2 = "NOR", N2+14 ))))))Another variant create the table tbl like
and use formula
=LET( l, XLOOKUP(J2, tbl[J], tbl[L]), n, XLOOKUP(J2, tbl[J], tbl[N]), IF(l, L2+l, N2+n) ) - OliverScheurichGold Contributor
=IF(J2="CEL",N2+30,
IF(J2="AZA",N2+30,
IF(J2="CUN",N2+30,
IF(J2="LIN",L2+60,
IF(J2="EXP",L2+60,
IF(J2="CYL",L2+30,
IF(J2="GLO",L2+30,
IF(J2="MSC",L2+30,
IF(J2="SIL",L2+30,
IF(J2="TAU",L2+30,
IF(L2="SHL",L2+45,
IF(J2="SCE",L2+45,
IF(J2="SEA",N2+45,
IF(J2="NOR",N2+14))))))))))))))
With OR you can use the below formula.
=IF(OR(J2="CEL",J2="AZA",J2="CUN"),N2+30,
IF(OR(J2="LIN",J2="EXP"),L2+60,
IF(OR(J2="CYL",J2="GLO",J2="MSC",J2="SIL",J2="TAU"),L2+30,
IF(OR(L2="SHL",J2="SCE"),L2+45,
IF(J2="SEA",N2+45,
IF(J2="NOR",N2+14))))))
- mrcarlyoungbloodCopper ContributorOMG!!! Thank you so much. I knew there had to be a better way. Thank you, thank you, thank you! ...Carl