Excel的if
函數有三個參數,一個條件,一個if-true值和一個if-false值。 Excel是否計算出所有三個參數的值,還是隻計算出條件的值和相應的結果?Excel是否評估提供給IF函數的結果參數?
澄清:我不知道該結果if
的會,我想知道什麼它是否計算的所有參數計算函數的結果前的值。
這相當於詢問if
函數是否使用惰性或嚴格評估。例如,下面的僞代碼:
x = 5;
print x>2 ? "Bigger" : "Smaller" + 1/0
會拋出一個除以零異常的語言,全面嚴格的評估,因爲它會評估1/0
,即使結果將不需要爲?:
運營商。
在懶惰評估語言中,在決定要評估哪個表達式之前,?:
運算符會評估x>2
。
問題是,在Excel中,1/0
會生成表達式中可以存在的合法值(正好是#DIV/0!
)。因此,簡單地調用=if(true,1,1/0)
並不顯示Excel是否正在評估1/0
。
查看我的更新回答。 –