There is no other way to check if the condition is ok like you want to do. In ST, you can code Library & function, if you have too much condition, you can code a library who resolve your problem. But it's useless because ST allow to order code to be readable. Like below :
IF (n>=0) AND (n<=20) OR
(n>=32) AND (n<=45) THEN
// Do this
ELSE
// Do that
END_IF ;
But you can call a function or library to fill a boolean var with TRUE or FALSE. You will just need to test the var in a logic loop.
//IN_aTestValues & aValueToTest are an Array of values
bVarTest := TestCond( IN_aTestValues := aValueToTest );
If bVarTest THEN
// Do this
ELSE
// Do that
END_IF ;
You can also do :
bVar := bToTest = 67 AND
bToTest = 84 AND
bToTest > 47 AND
NOT (bToTest = 25) ;
IF bVar THEN
// Do this
Else
// Do That
END_IF ;