計算プラグイン

計算プラグイン

特徴

計算プラグインは、 Excel ライクな 100 種類以上 の関数を提供し、JavaScript によるカスタマイズなしで様々な計算や文字列操作を行うことが可能になります。

  • Excel ライクな多数の関数をサポート。
  • "+"、"-"、"*"、"/"、"%"、"^"の算術演算子と文字列連結演算子 "&" をサポート。
  • 関連レコード一覧内のフィールドも計算式に設定可能で、様々な関連レコード一覧集計にも対応。
  • 柔軟な計算結果の有効小数桁の丸め込みの設定が可能。
  • レコード一覧画面で複数レコードの一括再計算が可能。対象のレコードを kintone の絞り込み機能で絞り込むことも可能。
  • 計算式設定フィールド(計算結果格納フィールド)の値を編集可能にすることが可能。
  • 計算式設定時のフィールドコード、関数の入力補完機能をサポート。
  • 多言語対応(日本語、English(US)、中文(简体)、中文(簡體)、Español、Português(Brasil)、ไทย)

機能

サポート関数について

サポート関数一覧はこちら

など便利な関数を多数サポートしています。

計算式の書式について

  • 先頭に = (イコール)は付けないでください。
  • 文字列は " (ダブルクォーテーション)で囲んでください。
  • 式中の半角スペースは無視されます。(文字列中の半角スペースは除く)
  • フィールドコードはダブルクォーテーションなどで囲まず、直接記述します。
算術演算子
演算子 説明
+ 加算
- 減算
/ 除算
* 乗算
% 剰余
^ べき乗
比較演算子
演算子 説明
= 左辺と右辺が等しい
<> 左辺と右辺が等しくない
> 左辺が右辺よりも大きい
< 左辺が右辺よりも小さい
>= 左辺が右辺以上である
<= 左辺が右辺以下である
文字列連結演算子
演算子 説明
& 2 つの文字列を連結して 1 つの文字列にします。
計算式を設定可能なフィールド
  • 数値、文字列(1行)、文字列(複数行)、日付、日時、時刻 のタイプのフィールドに設定可能です。
  • 自動計算の式が設定されている文字列(1行)フィールドには設定できません。
  • 計算結果がフィールドに設定可能な値となる必要があります。
計算式に含めることができるフィールド
  • 数値、文字列(1行)、文字列(複数行)、ドロップダウン、ラジオボタン、計算、日付、日時、時刻 、作成日時、更新日時のタイプのフィールドが指定可能です。
  • テーブル(サブテーブル)、関連レコード一覧のフィールドは配列として扱われます。
注意事項:テーブル(サブテーブル)について

kintone の フォームパーツの 1 つである「テーブル」は、サブテーブルとも呼ばれ、本書ではサブテーブルと呼称しています。
サブテーブル内のフィールドは、計算プラグインの内部では配列として扱われます。

計算式を設定するフィールド(結果を入れるフィールド)が

  • サブテーブル内のフィールドのとき、計算式に同一サブテーブル内のフィールドを含めた場合は、同一行の値を使用して計算することになります。
  • サブテーブル内のフィールドのとき、計算式に異なるサブテーブル内のフィールドを含めた場合は、配列として扱われます。
  • サブテーブル外のフィールドのとき、計算式にサブテーブル内のフィールドを含めた場合は、配列として扱われます。
注意事項:関連レコード一覧内のフィールドについて

kintone の フォームパーツの 1 つである「関連レコード一覧」内のフィールドを計算式に設定することができます。
関連レコード一覧内のフィールドは以下のように表現します。

フィールドコード.関連レコード一覧のフィールドコード

「フィールドコード」と「関連レコード一覧のフィールドコード」の間に.(ドット)が入ります。 「フィールドコード」は、関連レコード一覧の参照先アプリで設定したフィールドのフィールドコードになります。 「関連レコード一覧のフィールドコード」は関連レコード一覧を表示しているアプリで設定した関連レコード一覧のフィールドコードになります。

関連レコード一覧内のフィールドは、計算プラグインの内部では配列として扱われます。

配列定数について

サポート関数にはいくつか配列を引数に持つものがあり、配列定数を指定できるようになっています。
配列定数は、 Microsoft Excel の配列定数の書式と同じで以下のような書式になります。

配列定数 説明
{1,2,3,4,5} 数値の配列定数
{"a","b","c"} 文字列の配列定数
{1,2,3;4,5,6;7,8,9} 複数行の数値の配列定数(二次元配列)

すべての配列定数は計算プラグインの内部では JavaScript の二次元配列に変換されます。
例えば、上記の最初の配列定数の場合、

    [[1,2,3,4,5]]

になります。
関数によって、上記の二次元配列を一次元配列に変換して扱うものとそのまま二次元配列として扱うものがあります。
関数の説明にこれに関する注意書きがないものは一次元配列として扱います。
多くの場合、 , (カンマ)区切りの指定で問題ありません。

空のフィールドについて
  • フィールドが空かどうかを判定するには、 ISBLANK 関数を使用してください。
  • フィールドを空に設定する場合は、 NULL 関数を使用してください。

計算結果の有効小数桁の丸め込みに関して

「四捨五入」「切り捨て」「切り上げ」を計算結果単位で設定できるだけでなく、他のフィールドの値によって「四捨五入」「切り捨て」「切り上げ」を動的に切り替えることができます。
これらの制御は本プラグインが提供する関数を用いても実現できますが、計算式が複雑になってしまうため別途設定できるようになっています。
動的な丸め込みの設定では、指定フィールドの値が設定値と等しい場合に動的に切り替えます。
フィールドの値の設定値には数値か文字列を指定します。関数は使用できません。
フィールドの値の設定値で文字列を指定する場合も数値を指定する場合も" (ダブルクォーテーション)で囲む必要はありません。
より複雑な条件の丸め込みを行いたい場合は計算式で定義してください。

計算式設定フィールドの編集可能機能

計算式設定フィールド(計算結果が格納されるフィールド)を編集可能なフィールドとして設定することができます。
編集可能フィールドとして設定された場合、フィールド値が空の場合だけ計算結果が格納されます。フィールド値に値が入っている場合は計算結果は上書きされません(一括再計算時も含む)。編集不可フィールドとして設定されないため、値を変更することが可能です。
編集可能フィールドであることが分かるように、レコード追加/編集画面では入力フィールドの背景色が変わります。また、フィールドの値と計算結果が異なる場合、それが分かるように背景色が変化します。

本機能の詳細はこちらをご覧ください。

※注意事項

  • 編集によってフィールド値を空に設定することはできません。(空に設定すると計算プラグインによる計算結果が格納されます)
  • 計算結果が格納されるタイミングは本プラグインの仕様により、計算式に使用されるフィールドの値の入力途中でも格納される場合があります。編集可能フィールドとして設定されるとその値の更新が行われません。その場合、計算に使用されるすべてのフィールド値の入力が完了した後、計算結果のフィールドを空に設定することで、計算プラグインによる計算結果の値が格納されます。

一括再計算機能

レコード一覧画面で、複数のレコードについて一括で全ての計算を再実行してレコードを更新できます。
kintone の絞り込み機能を使用して、再計算対象のレコードを絞り込むことが可能です。
計算結果がエラーとなった場合はそのレコードは更新せず、次のレコードの計算を行います。
エラーとなったレコードがあった場合は、一括再計算完了ポップアップにてエラー内容をレコード番号と合わせて表示します。 エラーの内容は一括再計算完了ポップアップにてCSVファイルとしてダウンロードできます。CSVファイルに記録されたレコード番号で個別にレコードを修正することができます。

一括再計算機能の有効/無効や、利用可能なユーザーを設定可能です。

レコード一覧画面でのレコード編集について

レコード一覧画面でのレコード編集時は、計算式に含まれるフィールドの値が変化したのを契機に計算が実行されます。
ただし、計算式に計算フィールド、または、自動計算が設定された文字列(1行)フィールドが含まれている場合は、値が取得できないため正しく計算ができません。このような計算式を設定したアプリでは、通常のレコード編集画面や一括再計算機能をご利用ください。

入力補完について

プラグインの設定画面で計算式を設定するテキストエリアでは、関数とフィールドコードの補完機能が使用できます。
":"を入力すると関数の一覧が表示されます。続けて大文字のアルファベットを入力すると関数名の絞り込みができます。
"@"を入力すると計算式に設定可能なフィールドの候補が表示されます。絞り込みは未サポートです。

使い方

設定画面

設定初期画面

「計算式設定」は、フィールドに計算式を設定します。「一括再計算設定」は一括再計算の挙動を設定します。
「計算式設定」の「追加」ボタンを押して、新しい計算式を設定します。

設定画面

フィールド選択

最初に計算式を設定するフィールドを選択します。
計算式を設定可能なフィールドがタイプごとにまとめられてドロップダウンに表示されます。
カッコ内はフィールドコードを示し、その左側はラベル名を表示しています。
設定画面2

計算式設定

計算式を設定しているところです。「:」と入力すると関数名の一覧が表示されます。「:SU」まで入力するとSUから始まる関数に候補が絞られます。
設定画面3

フィールドコードの補完と設定保存

「@」と入力すると、計算式に使用できるフィールドのフィールドコード一覧が表示されます。
計算式を設定したあと、ダイアログの「設定」ボタンをクリックします。
設定画面4

設定一覧

設定が一覧に表示されます。

再度編集する場合は、「編集」ボタン(ペンのアイコン)をクリックして編集します。
設定を削除する場合は「削除」ボタン(ゴミ箱のアイコン)をクリックして削除します。(確認のポップアップが表示されます。)
設定の一覧ではドラッグアンドドロップで設定の順番を入れ替えることも可能です。
設定画面5

一括再計算設定

「一括再計算設定」の設定画面では、一括再計算機能の有効/無効の設定、ユーザー/組織/グループによる有効設定がおこなえます。

「全体の有効設定」の「一括再計算を有効にする」チェックボックスはデフォルトで無効になっています。このチェックボックスをチェックすると、一括再計算機能が有効になります。

設定画面6

ユーザー/組織/グループによる有効設定

「ユーザー/組織/グループによる有効設定」では、アクセスリスト形式で一括再計算を利用できるユーザーを設定します。
上図は組織「総務課」またはグループ「管理ユーザー」に属するユーザーが一括再計算を利用できるという設定になります。
常に上の行に設定されたルールが優先されます。行は入れ替え可能です。

設定が終わったら、「保存する」ボタンをクリックして、kintone にプラグインの設定を保存します。
その他の設定画面のボタンについてはこちらをご覧ください。

設定画面7

レコード追加/編集画面

計算式を追加したフィールドは、書き込み不可フィールドとなり、計算結果が代入されます。
この例では数値フィールドに科目別にテーブル(サブテーブル)の経費が合計されています。
数値フィールドのため、標準の計算フィールドとは異なり、桁区切りはレコード追加/編集画面では表示されませんが、
桁区切りの設定があれば、レコード詳細画面、レコード一覧画面では桁区切り表示されます。

レコード追加/編集画面

レコード一覧画面

一括再計算ボタン

一括再計算機能が有効で、利用可能なユーザーとして設定されている場合、レコード一覧画面に「一括再計算」ボタンが表示されます。
kintone の絞り込み機能で再計算対象のレコードを絞り込んで表示させた後、「一括再計算」ボタンをクリックします。

レコード一覧画面

一括再計算確認ポップアップ

確認ポップアップが表示されます。再計算対象のレコード件数が正しいことを確認し、「実行」ボタンをクリックします。

レコード一覧画面2

一括再計算進捗ポップアップ

再計算中は進捗を表すポップアップが表示されます。

レコード一覧画面3

一括再計算結果ポップアップ

再計算が終了すると結果ポップアップが表示されます。

レコード一覧画面4

一括再計算エラー結果ポップアップ

再計算中にエラーが発生した場合、このように結果ポップアップが表示されます。「CSVでダウンロード」をクリックするとエラー内容のCSVファイルがダウンロードできます。
レコード一覧画面5