Rules Engine functionality
Rules Engine calculates the entire range of cells for which the rule is defined. This data is fetched as a block in as few operations as possible. The fetch requests all the cells, whether empty or not. Only the non-empty cells return data and only this data is processed.
Sometimes it isn't clear where the data comes from without calculating the rule. This is the case with conditional rules; that is, with rules containing the IF function. For example, if the location of a target cell depends on whether the evaluation of a condition is true or false, then it can't be clear where the data is supposed to come from. This problem is solved by fetching the data for the evaluation of all conditions first. It might continue with two sub-queries, one for the cases where the condition is true and the other one for where the condition is false.