Short-circuit evaluation for AND and OR
If any argument of AND is FALSE, then AND is FALSE; no need for further evaluation.
If any argument of OR is TRUE, then OR is TRUE; no need for further evaluation.
However, the arguments of AND and OR always evaluate fully, which wastes calculation time and computer power.
The current workaround, which sacrifices clarity, is to write AND(a,b,c) as IF(a,IF(b,c)) and OR(a,b,c) as IF(a,TRUE,IF(b,TRUE,c)), since IF skips the evaluation of the branch not taken.
The only time that the change to short-circuit evaluation would not be desirable is in a case such as AND(something,UDF()), where UDF() is a UDF that makes changes to the workbook (e.g. formatting, writing values) on each call. If short-circuit evaluation were implemented, UDF() might get called fewer times than expected. However, such a case would be too rare to worry about.
Kenneth Barber commented
VBA is a bit different. The And and Or operators in VBA are bitwise and not Boolean, so you would need to be sure that these operators are used only on Boolean values before you attempt to short-circuit them.
Martin East commented
The same applies to VBA: lack of short-circuit boolean operators leads to ridiculously bloated code