みなさん計算プラグインはご利用でしょうか。
今回は計算プラグインの小ネタをご紹介したいと思います。
「計算プラグインを設定して、入力画面を開いたらいきなりエラーが出てきたのでびっくりした」ということありませんか?
kintone のフィールドはたとえ数値フィールドであっても未入力を 0(ゼロ)とは認識してくれません。
未入力と 0 は別のものとして扱われます。
計算プラグインの計算式は厳密に計算を行うので、
例えば、計算式を「数値A + 数値B」として、数値Aに1を入力し、数値Bに0を入力すると、
計算式:数値A + 数値B
数値A:1
数値B:0
計算結果: 1
となりますが、数値Aに1を入力し、数値Bが未入力だと、
計算式:数値A + 数値B
数値A:1
数値B:(未入力)
計算結果: #VALUE!
となります。
これは、入力を文字列として計算したい場合など、"未入力 = 0" とすることが必ずしも正しいというわけではない為です。
計算式:"文字列結合 = " & 数値A & 数値B
数値A:1
数値B:0
計算結果:文字列結合 = 10
計算式:"文字列結合=" & 数値A & 数値B
数値A:1
数値B:(未入力)
計算結果:文字列結合 = 1
ですが、入力している人は基本的には故意にエラーを出したいわけではないので、 入力画面を開いていきなりエラーが出てきたらびっくりしますよね。
こうした場合、計算式を設定する側でエラーを回避する必要があります。
もし、未入力を 0 として扱いたい場合は IF関数とISBLANK関数を組み合わせて使います。
計算式:IF(ISBLANK(数値A), 0 , 数値A) + IF(ISBLANK(数値B), 0, 数値B)
数値A:1
数値B:(未入力)
計算結果:1
また、計算式によっては数値フィールドに数値を設定したのにエラーになってしまうこともあります。
計算式:数値A / 数値B
数値A:6
数値B:2
計算結果: 3
計算式:数値A / 数値B
数値A:6
数値B:0
計算結果: #DIV/0!
こうした場合、エラーを回避するためには IFERROR関数を使います。
計算式:IFERROR(数値A / 数値B, 0)
数値A:6
数値B:0
計算結果: 0
以上となります。いろいろな関数があるので見てみてください。
いかがだったでしょうか。
ぜひ、計算プラグインをご活用ください。