MW211 EXIT

devlog
ExcelVBA/IIf()で除数ゼロエラー回避はできない
2017年10月21日
除数ゼロエラー回避のため、以下のようなIf文を用いたとする。
┌──────────────────────────────────────┐
│If 分母 = 0 Then                                                            │
│    比率 = 999                                                              │
│Else                                                                        │
│    比率 = 分子 * 100 / 分母                                                │
│EndIf                                                                       │
└──────────────────────────────────────┘
あ、これ三項式でいけるじゃんと思い、「IIf()」で実装を試みてみる。
┌──────────────────────────────────────┐
│比率 = IIf(分母 = 0, 999, 分子 * 100 / 分母)                                │
└──────────────────────────────────────┘
でも、これだと除数ゼロエラーが発生してしまう。
「IIf()」は偽の式も評価されてしまうのである。
ということで、If文を使うしかあるまい。
(VisualBasicだと「If()」ってのが新登場したとかしないとか)
分類:ExcelVBA