短絡評価
通常は全ての引数が順番に評価されるから
=Mod(4+Current(),Current())
の場合
4 Current Add Current Mod
というように引数間もその影響を受ける。答えはもちろん0
ただ、例えばIf関数(関数ということにしておく)の第一引数がtrueであったときは第三引数、falseとなる値だったときは第ニ引数の式は評価されない。だから
=If(0,4 + Current(), Current())
の後ろのCurrent()は8ではなく0になる。VB.NETなんかではIf演算子とIIf関数とかでよく違いが語られている話だ。
ちなみに、Ifs()関数とかが短絡評価しないんだが?というバグレポがある。