Czy Excel ocenia oba argumenty wynikowe dostarczone do funkcji IF?

Excelif funkcja przyjmuje trzy argumenty, warunek, wartość if-true i wartość if-false. Czy Excel oblicza wartość wszystkich trzech argumentów, czy tylko oblicza wartość warunku i odpowiadający mu wynik?

Wyjaśnienie: Nie zastanawiam się, cowynik zif będzie, zastanawiam się, czy oblicza wartość wszystkich argumentów przed obliczeniem wyniku funkcji.

Jest to równoznaczne z pytaniem, czyif funkcja używa oceny leniwej lub ścisłej. Na przykład następujący pseudokod:

<code>x = 5;
print x>2 ? "Bigger" : "Smaller" + 1/0
</code>

rzuciłby wyjątek „dzielenie przez zero” w języku z całkowicie ścisłą oceną, ponieważ oceniłby1/0, chociaż wynik nie byłby wymagany dla?: operator.

W leniwym języku oceny?: operator oceniłbyx>2 przed podjęciem decyzji, które wyrażenie ocenić.

Problem polega na tym, że w programie Excel1/0 wytwarza uzasadnioną wartość (co się zdarza#DIV/0!), które mogą istnieć w wyrażeniach. Dlatego po prostu dzwoniąc=if(true,1,1/0) nie pokazuje, czy Excel ocenia1/0 albo nie.

questionAnswers(5)

yourAnswerToTheQuestion