You can for sure get complicated. See these examples. Maybe a specific example or form sample would help see what you need.
if(${Lower1}='HL' or ${Lower1}='WL' or ${Lower1}='NL' or ${Lower2}='HL' or ${Lower2}='WL' or ${Lower2}='NL' or ${Lower3}='HL' or ${Lower3}='WL' or ${Lower3}='NL' or ${Lower4}='HL' or ${Lower4}='WL' or ${Lower4}='NL' or ${Lower5}='HL' or ${Lower5}='WL' or ${Lower5}='NL' or ${Lower6}='HL' or ${Lower6}='WL' or ${Lower6}='NL' or ${Lower7}='HL' or ${Lower7}='WL' or ${Lower7}='NL',1,0)
if(${SoilSurface} = 'S' and ${TopCanopy} = 'N' and string-length(${Lower1}) < 2 and string-length(${Lower2}) < 2 and string-length(${Lower3}) < 2 and string-length(${Lower4}) < 2 and string-length(${Lower5}) < 2 and string-length(${Lower6}) < 2 and string-length(${Lower7}) < 2, 1,0)
concat(join(", ", ${UnknownCodeTop}), ", ", join(", ", ${UnknownCodeLower1}), ", ", join(", ", ${UnknownCodeLower2}), ", ", join(", ", ${UnknownCodeLower3}), ", ", join(", ", ${UnknownCodeLower4}), ", ", join(", ", ${UnknownCodeLower5}), ", ", join(", ", ${UnknownCodeLower6}), ", ", join(", ", ${UnknownCodeLower7}), ", ", join(", ", ${UnknownCodeWoody}), ", ", join(", ", ${UnknownCodeHerbaceous}), ", ", join(", ", ${UnknownCodeBasal}), ", ", join(", ", ${UnknownCodeWoody2}), ", ", join(", ", ${UnknownCodeStubble}))
sum(${HeightHerbaceous}) div sum(${nonzeroherbhgt})
Hope that helps.