Excel の OR や AND は短絡評価しない(とその対応)

0

たいていのプログラミング言語では、短絡評価(ショートサーキット)が用意してある。

例えば、JavaScript の OR の短絡評価は || であるが、true || alert(“”) の場合は、alert は実行されない[*]。

しかし、通常の OR にて、true | alert(“”) であれば、alert が評価された上で、結果を返す。

Excel の OR 関数は、短絡評価をしない。

そのため、以下のように #N/A が入ってくると、結果が #N/A になって困ってしまう。

そのような場合には、IFERROR を使うとのこと。
In Excel, is there an early opt out AND/OR functions (Short Circuit Evaluation)?

[*](実際のところ js の || は 右の項を返す演算子であるが、ここでは触れない)
JavaScriptの「&&」「||」について盛大に勘違いをしていた件

カテゴリー:


0