kintoneの計算式(関数)一覧
kintone では、ユーザーのニーズに合わせた柔軟なアプリを作成するためにいくつかの関数が用意されています。それらの用意された関数を組み合わせることで、より複雑な処理を実行できます。
関数名と機能は以下のとおりです。
- SUM 数値の加算もしくは合計を行う。
- IF 条件分岐を明示し、条件の真偽によって処理を分岐する。
- LEFT 文字列の左側から指定された数の文字を取り出す。
- YEN 計算結果を3桁区切りで表示する。
- AND 指定されたすべての条件を満たすときに真とみなす。
- OR 指定されたいずれかの条件を満たすときに真とみなす。
- NOT 指定された条件の反対を真とみなす。
- ROUND 指定した桁数で四捨五入する。
- ROUNDDOWN 指定した桁数で切り捨てる。
- ROUNDUP 指定した桁数で切り上げる。
- CONTAINS チェックボックスや複数選択に対する条件を指定する。
加算や集計、四捨五入といった計算に使われる関数と、条件の真偽を判断したり条件によって処理を分けたりといった条件分岐に使われる関数があります。
全くの未経験で初めて関数に触れる方でも kintone ならそこまで難しくはありません。関数名は基本的に英単語で付けられているため、関数名を見ればどのような機能を持っているかを容易に推測できます。
また、汎用的に使用される関数が使われているため、ExcelやGoogleスプレッドシートなどで関数を使用した経験がある方なら、必要となる引数なども理解しやすいでしょう。
SUM
SUMは、フィールド内の数値を加算するときに使う関数です。減算する場合には、引きたい方をマイナスの数値にすれば減算と同じ動きをします。
また、この関数は数値を加算するだけでなく、テーブルの数値フィールドの合計も出せます。
実際に使用する場合には、「SUM(数値1,数値2,数値3,…)」のように、加算する数値のフィールドコードを記述します。フィールドコードは計算するフィールドのフィールド名ではないため、注意しましょう。
フィールドコードはフィールド作成時に自動で付与されます。変更可能なため、フィールド名と同じにしておくと計算式を入れるときにわかりやすく、フィールド指定ミスも防げます。
例えば、果物の購入数量の合計を計算するケースでは、リンゴ、ミカン、バナナというフィールドを作成して、フィールドコードもフィールド名と合わせます。
「SUM(リンゴ,ミカン,バナナ)」と記述すると、実際のアプリでリンゴ、ミカン、バナナのフィールドに数値を入力する部分の3つのフィールドの合計が計算されます。
また、テーブルの数値フィールドの合計を行う場合は、「SUM(数値1)」というように、合計を出す数値のフィールドコードを記述します。
例えば、リンゴの数量を合計する場合は、「SUM(リンゴ)」と記述すると、リンゴのフィールドの数値が合計されます。
IF
IFは、指定した条件による処理を分岐する場合に使う関数です。
例えば、ある数値フィールドが0の場合はAという値を返す、0でない場合はBという値を返す、といった具合に条件によって返す値を変えるなどの処理を分岐させる場合に使います。
基本的にはIF関数ではひとつの条件式しか記述する箇所がありませんが、後ほど説明するAND関数やOR関数といった関数によって複数のフィールドを条件式に使ったり、複数の条件を判断させたりできるため、処理の幅も広がります。
このIF関数を使いこなせば、より実用的なアプリを作成できるようになるのです。
実際に使用する場合には、「IF(条件式, 成り立つ場合の値, 成り立たない場合の値)」というように、始めに条件式を記述します。次にその条件が成り立つ場合に返す値を記述し、その次にその条件が成り立たない場合に返す値を記述します。
例えば、テストの点数が合格ラインかどうかを判定するケースの場合、点数というフィールドを作成して、フィールドコードもフィールド名と合わせます。その点数というフィールドに数値を入力すると、その点数が合格ラインに達しているかを判断してその結果が表示されます。
「IF(点数 >= 50, "合格", "不合格")」と記述すると実際のアプリでは、点数が50以上の場合は「合格」と表示され、50よりも少ない場合は、「不合格」と表示されます。
LEFT
LEFT関数は、フィールドの文字列の左側から、指定された文字数を取り出すときに使う関数です。フィールドから文字を取り出すだけでなく、決められた文字列を指定して取り出せます。
実際に使用する場合には、「LEFT(文字列[,文字数])」というように、取り出す文字が入力されているフィールドコードを記述します。文字数は省略もでき、省略した場合は左側から1文字だけ取り出されます。
とある店舗で商品名の先頭に★マークがついているものをピックアップするケースを例に解説します。
商品名というフィールドを作成して、フィールドコードもフィールド名と合わせましょう。オススメという文字列フィールドを作成し、「自動計算する」にチェックを入れます。
「LEFT(商品名,1)」と記述すると、商品名の左側から1文字が取り出されます。ほかに記載した条件判断の関数を組み合わせて、1文字目が★マークの商品に「オススメ」と表示するような仕組みの構築もできます。
この例では文字数として1を指定していますが、1文字だけ取り出す場合は文字数の指定は省略できます。
注意点として、この関数はデフォルトで使用できないため、関数のプラグインを使用しなければなりません。
YEN
YEN関数は、計算結果を3桁区切りのいわゆる「¥(円)」形式で表す場合に使う関数です。表示結果としては、先頭に「¥マーク」が付き、3桁区切りとなるため、見積書や請求書といった金額を扱う場合に有効です。
注意する点として、この関数は計算結果が文字列として返されるため、数値フィールドには指定できません。
数値フィールドには設定として3桁区切りで表示するオプションがあります。数値フィールドで3桁区切りが必要な場合や、¥マークを先頭に付けたい場合はオプションで設定しましょう。
また、このYEN関数では、指定した桁数で四捨五入も可能です。
正の値を記述、小数点以下を負の数値を指定すると整数部を四捨五入します。なお、四捨五入の桁数は省略できません。
使用の際は、「YEN(数値, 四捨五入の桁数)」というように、¥形式で表示する数値フィールドを記述し、次に四捨五入する桁数を記述します。小数点以下だけを四捨五入する場合は0を記述しましょう。この関数では、数値フィールドだけでなく計算式の記述もできます。
例えば、見積書の単価×数量といった明細行の小計を表示する場合、まずは小計を表示するための文字列フィールドを作成し、「自動計算する」にチェックを入れます。
「YEN(単価*数量,0)」と記述すると、実際のアプリでは単価フィールドと数量フィールドが掛け算され、その結果が小計フィールドに表示されます。
AND
AND関数は条件式で使用する関数で、指定した条件がすべて成り立つ場合は真を返し、条件が1つでも成り立たない場合は偽を返します。この関数は32個までの条件を指定できるため、複雑な条件にも対応できます。
条件式を記述する際には、「=, !=, <>, <, >, <=, >=」といった比較演算子の利用が可能です。
しかし、数値フィールドと文字列フィールドでは使用できる比較演算子が異なるため注意しましょう。
数値フィールドの場合はすべての比較演算子を使用できますが、文字フィールドの場合は使える比較演算子は「=, !=, <>」のみです。それぞれの比較演算子の働きについては、ここでは割愛します。
実際に使用する場合、「AND(条件式1,条件式2,…)」というように、それぞれの条件式をカンマで区切ることで、複数の条件式を指定できます。AND関数は条件分岐のための関数であるため、単体で記述する必要はなく、IF関数と組み合わせて使用します。
例えば、テストの点数によってクラス分けをする場合、点数を入れる数値フィールドと、該当するクラスの文字列フィールドを作成し、“自動計算する”にチェックを入れます。
「IF(AND(点数>=0,点数<50),"Aクラス","Bクラス")」と記述すると、実際のアプリでは、点数が0点から49点の場合は「Aクラス」と表示され、そうでない場合は「Bクラス」と表示されます。
OR
OR関数は、AND関数と同じく条件式で使用する関数です。ただし、AND関数とは違い、指定した条件のいずれかが成り立つ場合に真を返し、すべて成り立たない場合にのみ偽を返します。OR関数もAND関数同様、32個まで条件指定が可能です。
条件式を記述する際に利用できる比較演算子も、AND関数と同様に、数値フィールドの場合はすべての比較演算子、文字フィールドの場合は「=, !=, <>」のみとなります。
使用する際は、AND関数と同様に、「OR(条件式1,条件式2, …)」というように、IF関数との組み合わせで使用します。
テストの点数によってクラス分けするケースを例とした場合、まずは点数を入れる数値フィールドを作成し、該当するクラスの文字列フィールドを作成して、「自動計算する」にチェックを入れましょう。
「IF(OR(点数<50,点数>=70),"Cクラス","Dクラス")」と記述すると実際のアプリでは、点数が50点より低い、もしくは70点以上の場合はCクラスと表示され、そうでない場合はDクラスと表示されます。
NOT
NOT関数は、AND関数やOR関数と同じく、条件式で使用する関数です。指定した条件を反転させ、指定した条件が成り立たない場合は真を返し、成り立つ場合は偽を返します。条件を1個しか指定できない点がAND関数やOR関数と異なる点です。
なお、使用できる比較演算子は、数値フィールドと文字列フィールドともに、AND関数やOR関数と同様です。
実際に使用する場合、「NOT(条件式)」というように、それぞれの条件式を1個指定でき、複数条件は指定できません。NOT関数も条件分岐の関数のため単体で記述せず、IF関数との組み合わせで使用する必要があります。
例えば、テストの点数が合格ラインに達しているかを判定するとします。その場合、点数を入れる数値フィールドと、該当するクラスの文字列フィールドを作成し、「自動計算する」にチェックを入れます。
「IF(NOT(点数<50),"合格","不合格")」と記述すると実際のアプリでは、点数が50点より低い、という条件を反転させるため、50点より低くない場合が真となります。したがって、50点より低い場合は「不合格」と表示され、そうでない場合は「合格」と表示されます。
ROUND
ROUND関数は、指定された数値フィールドの数値を四捨五入するときに使う関数です。
四捨五入する桁数の指定もできます。指定した桁数が正の値の場合は指定された小数点以下の桁数を四捨五入、負の値の場合は整数の指定桁数を四捨五入します。
例えば、ROUND関数の桁数に「2」を指定すると小数点以下第3位が四捨五入され、桁数に「-2」と指定すると十の位が四捨五入されます。
使用する際は、「ROUND(数値[,桁数])」と、四捨五入する数値のフィールドコードを記述し、その後に桁数を指定します。桁数は省略できますが、その場合は0が指定されたとみなされ、小数点以下が四捨五入されます。
商品の購入金額を消費税込みで表示するケースを例とします。
まずは単価と数量の数値フィールドを作成して、フィールドコードもフィールド名と合わせましょう。
購入金額という計算フィールドを作成し、計算式に「ROUND((単価*数量)*1.1[,0])」と記述すると、「単価×数量」の消費税込みの金額が計算されます。税込価格のように整数のみの表示の場合、桁数の省略ができます。
ROUNDDOWN
ROUNDDOWN関数は、指定された数値フィールドの数値を切り捨てるときに使う関数です。切り捨てる桁数を指定でき、指定した桁数が正の値の場合は指定された小数点以下の桁数を切り捨て、負の値の場合は整数の指定桁数を切り捨てます。
例えば、桁数を「2」に指定した場合には小数点以下第3位が切り捨てられ、桁数に「-2」と指定すると十の位が切り捨てられます。
「ROUNDDOWN(数値[,桁数])」というように、切り捨てたい数値のフィールドコードを記述し、その後に桁数を指定します。
ROUND関数同様、桁数の省略も可能です。その場合は0が指定されたとみなされ、小数点以下が切り捨てられます。
とある学校における合格者の比率を計算するケースを例とします。はじめに全体と合格者の数値フィールドを作成して、フィールドコードもフィールド名と合わせましょう。
合格率という計算フィールドを作成して、計算式に、「ROUNDDOWN(合格者/全体,2)」と記述すると、全体に対する合格者の比率が計算し少数点以下第3位が切り捨てられ、小数点以下2桁までが表示されます。
ROUNDUP
ROUNDUP関数は、指定された数値フィールドの数値を切り上げるときに使います。切り上げたい桁数の指定もできるのです。
指定した桁数が正の値の場合は指定された小数点以下の桁数を切り上げ、負の値の場合は整数の指定桁数を切り上げます。
例えば、ROUNDDOWN関数の桁数に「2」と指定した場合、小数点以下第3位が切り上げられ、「-2」と指定した場合、十の位が切り上げられます。
実際に使用する場合、「ROUNDUP(数値[,桁数])」というように、切り上げたい数値のフィールドコードを記述し、その後に桁数を指定します。
ROUND関数やROUNDDOWN関数同様、桁数は省略できます。その場合は0が指定されたとみなされ、小数点以下が切り上げられます。
とある学校における合格者の比率を計算するケースを例とします。全体と合格者の数値フィールドを作成して、フィールドコードもフィールド名と一致させましょう。
合格率という計算フィールドを作成して、計算式に「ROUNDUP(合格者/全体,2)」と記述すると、全体に対する合格者の比率が計算され、少数点以下第3位を切り上げた小数点以下2桁までが表示されます。
CONTAINS
CONTAINS関数は、指定されたフィールドで指定された選択肢が一致するかどうか判断する関数です。
この関数では、チェックボックスまたは複数選択のフィールドコードを指定します。
チェックボックスを指定する場合はチェックを入れたときにその選択肢と一致したとみなし、複数選択の場合は、選択肢と同じ文字列を選択した場合に選択肢と一致したとみなします。
この関数は、テーブル内の条件指定にも利用でき、テーブル内に指定された選択肢と一致する文字列が1つでもあれば一致したとみなします。
実際に使用する場合は、「CONTAINS(フィールドコード, 選択肢名)」と、条件を判定するフィールドコードを記述し、その後に条件となる文字列を指定しましょう。
また、CONTAINS関数は条件分岐の関数のため、IF関数との組み合わせで使用します。
顧客の入金確認がとれているかどうかを判定する場合、はじめに入金のチェックボックスフィールドを作成して、フィールドコードもフィールド名と合わせましょう。この場合、チェックボックスの項目は「済」とします。
入金確認という文字列フィールドを作成し、「自動計算する」にチェックを入れます。
「IF(CONTAINS(入金,"済"),"入金済み","未入金")」と記述すると、入金チェックボックスにチェックがついている場合には入金確認フィールドに「入金済み」、チェックがついていない場合には「未入金」と表示されます。
関数の活用でKintoneを使いこなそう
kintoneでアプリを作成する上で関数の活用は避けては通れません。データの入力だけであれば関数の知識はなくてもよいかもしれませんが、使えるアプリを作成するのであれば関数の知識は必須です。
関数を使いこなせば、より質のよいアプリの開発にもつながります。また、SUMやIFといった基本的な関数は、普段のExcelを利用する業務にも使用できるため、損はありません。
この機会に関数の知識を深めてみてはいかがでしょうか。
※本記事の内容は2021年3月時点のものです。kintone の仕様や利用環境は変更する場合があります。
開発支援承ります
テクバンではkintoneの開発支援を受け付けております。日々の運用でお困りの方は以下より弊社サービスをご覧ください。
また、kintoneの標準機能に加えて、拡張機能であるプラグインを利用することで kintoneの活用の幅がより広がります。プラグイン選定から導入までサポートいたします。
kintone開発支援サービス
kintoneプラグイン