kintoneの計算式は、Excelに慣れた人ほどつまずきます。関数は11個しかなく、日付は秒の数として計算され、今日の日付を返す関数がありません。この3つを知らないまま書くと、日付が「1970-01-01」になったり、税込金額が1割足りなかったり、期限切れの表示がいつまでも変わらなかったりします。この記事では、仕組みを先に押さえてから、実際のアプリで使う29の型を式ごと載せ、最後にエラーとつまずきの直し方をまとめます。フィールドを配置してアプリを更新したことがある人を前提にしています。
先に決めること
計算フィールドに置くか、文字列(1行)に置くか
計算式を書ける場所は、計算フィールドと、文字列(1行)フィールドの2つだけです。どちらに置くかで、結果の扱いが変わります。
| 項目 | 計算フィールド | 文字列(1行)で「自動計算する」 |
|---|---|---|
| 結果のデータ型 | 数値(表示形式で日付や時間にも見せられる) | 文字列 |
| 向いている結果 | 金額、数量、日数、日付、時間 | 「要発注」のような文字、連結した文字、円表示 |
| 表示の設定 | 「表示形式」「小数点以下の表示桁数」「単位記号」 | なし |
| ほかの式からの参照 | 数値として足し引きできる | 数字でも数値としては計算できない |
| 結果が文字になったとき | 「#CONVERT!」が出る | そのまま表示される |
あとで足したり比べたり、グラフで合計したりする結果は計算フィールド、人が読むための文字は文字列(1行)、と決めます。金額を文字列(1行)で作ってしまい、あとで集計できずに作り直す、というのが一番多い失敗です。
フィールドコードを先にそろえる
計算式は、フィールド名ではなくフィールドコードで書きます。配置した直後は自動で付いたフィールドコードのままなので、このまま書くと半年後に誰も式を読めません。式を書く前に、参照するフィールドのコードをフィールド名と同じ文字に変えておきます。
フィールドコードを変えると、そのコードを使っている計算式は自動で書き換わります。ただし、その時点で文法が正しくない式は書き換わりません。エラーのまま放置している式があると、古いコードのまま残ります。式のエラーを直してからコードを変える、の順にします。
日付か、日時か
日付フィールドと時刻フィールドは、ユーザーのタイムゾーンに関係なく全員に同じ値が表示されます。日時フィールドは、見る人のタイムゾーンに沿って表示されます。期限や生年月日のように「日」だけ分かればよいものは日付にします。日時を使うと、あとで出てくる9時間のずれを抱えることになります。
端数をどこで処理するか
端数の処理には3つの場所があります。式の中のROUND系関数、計算フィールドの「小数点以下の表示桁数」、アプリの「高度な設定」の「数値と計算の精度」です。表示桁数は見た目だけを切り捨て、書き出したファイルには元の値が残ります。請求や給与のように画面と書き出しを一致させたいものは、式の中で処理します。高度な設定は初期値(「全体の桁数」16、「小数部の桁数」4、「丸めかた」は「最近接偶数への丸め」)のまま触らないのが安全です。
計算式の仕組み
演算子
演算子は半角で書きます。全角の「+」や「=」はエラーになります。
| 演算子 | 意味 | 注意 |
|---|---|---|
+ | 足し算 | 文字列はつながらない。連結は & |
- | 引き算 | 値の前に付けると正負を反転する |
* | 掛け算 | |
/ | 割り算 | 0で割ると「#ERROR!」 |
^ | べき乗 | 指数は-100から100まで。小数の指数は切り下げられ、3^2.5 は9 |
& | 文字列の連結 | 数値もつなげる。未入力は空の文字になる |
= | 等しい | 型が違う値どうしは常に偽 |
!= <> | 等しくない | 型が違う値どうしは常に真 |
< <= > >= | 大小の比較 | 数値型にだけ使える |
優先順位は、単項の + -、^、* と /、+ と -、&、比較演算子の順です。迷う式はカッコで囲みます。
関数の一覧
使える関数は次の11個がすべてです。関数名は大文字でも小文字でも動きます。
| 関数 | 書き方 | 返す型 | 例 |
|---|---|---|---|
| SUM | SUM(数値1, 数値2, ...) | 数値 | SUM(交通費, 宿泊費, 日当) |
| ROUND | ROUND(数値, 桁数) | 数値 | ROUND(本体価格*1.1) で四捨五入 |
| ROUNDUP | ROUNDUP(数値, 桁数) | 数値 | ROUNDUP(本体価格*1.1) で切り上げ |
| ROUNDDOWN | ROUNDDOWN(数値, 桁数) | 数値 | ROUNDDOWN(本体価格*1.1) で切り捨て |
| IF | IF(条件式, 真の場合に返す値, 偽の場合に返す値) | 返した値の型 | IF(合計>=80,"OK","NG") |
| AND | AND(条件式1, 条件式2, ...) | 真偽 | すべて真なら真。引数は32個まで |
| OR | OR(条件式1, 条件式2, ...) | 真偽 | どれか真なら真。引数は32個まで |
| NOT | NOT(条件式) | 真偽 | 真偽を反転する |
| CONTAINS | CONTAINS(フィールドコード, "検索文字列") | 真偽 | チェックボックスなどに完全一致する値があれば真 |
| DATE_FORMAT | DATE_FORMAT(日時, "日時の形式", "タイムゾーン") | 文字列 | DATE_FORMAT(日付, "YYYY年M月d日", "Etc/GMT") |
| YEN | YEN(数値, 桁数) | 文字列 | YEN(税込価格, 0) で「¥1,133」 |
ROUND系の桁数は、正の数なら小数部、0か負の数なら整数部を処理し、省略すると0です。1234.567で比べると次のとおりです。
| 桁数 | ROUND | ROUNDDOWN | ROUNDUP |
|---|---|---|---|
| 2 | 1234.57 | 1234.56 | 1234.57 |
| 0(省略) | 1235 | 1234 | 1235 |
| -1 | 1230 | 1230 | 1240 |
| -2 | 1200 | 1200 | 1300 |
YENは桁数を省略できません。結果は文字列なので、文字列(1行)に置きます。計算フィールドにそのまま書くとエラーになります。
SUMIF、VLOOKUP、TODAY、DATEDIF、LEFT、LENのようなExcelの関数はありません。文字の切り出しや文字数を数える加工は、計算式ではできません。
参照できるフィールド、できないフィールド
| 参照できる | 参照できない |
|---|---|
| 数値、計算、日時、日付、時刻、作成日時、更新日時、ルックアップ、文字列(1行)、ドロップダウン、ラジオボタン、作成者、更新者、チェックボックス、複数選択 | ラベル、文字列(複数行)、リッチエディター、添付ファイル、リンク、ユーザー選択、組織選択、グループ選択、関連レコード一覧、スペース、罫線、グループ、レコード番号 |
プロセス管理のステータス、作業者、カテゴリーも参照できません。コピー元がリンクのルックアップも参照できません。作成日時、更新日時、作成者、更新者は、フォームに配置していないとエラーになるので、使うならフォームの下のほうに置いておきます。レコード番号を参照できないのは見落としやすい点で、「レコード番号+日付」の案件番号は計算式では作れません。
チェックボックスと複数選択は配列として扱われるので、= では比べられず、CONTAINSで受けます。テーブルの外からテーブル内の数値を使うときはSUMで受けます。未入力の数値フィールドは計算では0、& でつなぐときは空の文字として扱われます。
日付と時間は秒の数で計算される
日付、時刻、日時の値は、内部ではUNIX時間(1970年1月1日0時0分(UTC)からの秒数)です。計算はすべて秒で書きます。1分は 60、1時間は 3600、1日は 86400(60*60*24)です。
「30日後」は 申込日 + (60*60*24*30) です。「+30」と書くと30秒後になり、日付は変わりません。日付どうしを引いた結果も秒なので、日数にするなら (60*60*24) で割ります。日時や時刻を扱うフィールドは秒を保存しておらず、式の中では秒が0として扱われます。
計算フィールドを置いて式を書く
手順
- [レコード一覧]画面の右上にある歯車の「アプリを設定」をクリックします。
- 「フォーム」タブを開きます。
- 左のパーツ一覧から計算フィールドをフォームにドラッグします。
- 置いたフィールドの歯車にカーソルを合わせ、「設定」をクリックします。
- フィールド名を入れます。
- 「計算式」の欄に式を入れます。
- 「表示形式」を選びます。
- 必要なら「小数点以下の表示桁数」と「単位記号」を入れます。
- 「フィールドコード」の横の編集アイコンをクリックし、フィールド名と同じ文字に変えます。
- 「保存」をクリックします。
- 左上の「フォームを保存」をクリックします。
- 右上の「アプリを更新」をクリックし、確認画面でも「アプリを更新」をクリックします。
文字列(1行)で書く場合は、手順3で文字列(1行)を置き、設定画面で「自動計算する」にチェックを入れると計算式の欄が出ます。

計算式の欄の上の「関数を挿入する」と「フィールドコードを挿入する」から選んで入れると、全角と半角の打ち間違いが起きません。IF、AND、OR、NOT、CONTAINSの中で " を打つと、ドロップダウンなどの選択肢が候補に出ます。選択肢の文字を手で打たずに済みます。

表示形式と単位
計算フィールドの「表示形式」で、同じ秒の数を、数値、日時、日付、時刻、時間のどの表示にするかを選べます。経過した長さを出すなら時間の表示にします。
| 結果 | 選ぶ表示形式 | 見え方の例 |
|---|---|---|
| 金額、数量、日数 | 数値(金額なら桁区切りのほう) | 1,234 |
| 何日後の日付 | 日付 | 2026-11-30 |
| 何時間後の日時 | 日時 | 2026-11-30 15:00 |
| 時刻の足し引き | 時刻 | 11:30 |
| 勤務時間や作業時間 | 時間 | 26時間3分 |
「単位記号」は、値の前か後ろに「¥」や「時間」のような記号を付けます。「小数点以下の表示桁数」は、指定した桁を超えた小数を切り捨てて表示します。2桁にすると1.007は「1.00」です。「計算式を表示しない」にチェックを入れると、レコードの追加と編集の画面で式が見えなくなります。

いつ計算されるか
計算はレコードを追加・編集するときと、ファイルを読み込むときに走ります。計算式のフィールドは読み込みの対応付けに出てこず、読み込み時に再計算されます。APIからも計算フィールドの値は登録・更新できません。逆に言うと、レコードを保存し直すまで値は変わりません。この性質が、期限切れや年齢の計算で問題になります。
パターン集
式の中の名前は、すべてフィールドコードです。
金額と端数
| 番号 | 用途 | 式 | 置き場所と注意 |
|---|---|---|---|
| 1 | 税込金額(切り捨て) | ROUNDDOWN(税抜金額*110/100) | 計算フィールド。*1.1 ではなく *110/100 と書く。理由は詰まるところの表 |
| 2 | 軽減税率で分ける | IF(税区分="軽減", ROUNDDOWN(税抜金額*108/100), ROUNDDOWN(税抜金額*110/100)) | 計算フィールド。選択肢の文字と式の文字を完全に合わせる |
| 3 | 円表示の文字にする | YEN(合計金額, 0) | 文字列(1行)。「¥1,133」の文字になる。集計には使わない |
| 4 | 一定額以上で割引 | IF(合計金額>=10000, ROUNDDOWN(合計金額*85/100), 合計金額) | 計算フィールド。割引後の端数も式で決める |
| 5 | 明細の小計 | 単価*数量 | テーブル内の計算フィールド。行ごとに計算される |
| 6 | 明細の合計 | SUM(小計) | テーブルの外の計算フィールド。未入力の行があっても合計される |
端数を切り捨てるか四捨五入するかは会社のルールで決め、ROUNDDOWNかROUNDに変えます。明細行ごとに税を計算するか、合計に一度だけ計算するかで、合計が1円ずれることがあります。どちらにするかは請求書の様式に合わせて先に決めます。
条件分岐(IF、AND、OR、CONTAINS)
| 番号 | 用途 | 式 | 置き場所と注意 |
|---|---|---|---|
| 7 | 条件で文字を出す | IF(宿泊="あり", "出張申請が必要です", "出張申請は不要です") | 文字列(1行)。文字は " で囲む |
| 8 | IFの入れ子でランク分け | IF(売上>=1000000, "A", IF(売上>=500000, "B", "C")) | 文字列(1行)。大きいほうから判定する |
| 9 | 両方満たすとき(AND) | IF(AND(学科>=80, 実技>=80), "合格", "再テスト") | 文字列(1行) |
| 10 | どちらか満たすとき(OR) | IF(OR(区分="出庫", 区分="調整減"), -数量, 数量) | 計算フィールド。区分で符号を変える。在庫の増減で使う形 |
| 11 | チェックが入っているか | IF(CONTAINS(出勤曜日, "日曜日"), "日曜出勤あり", "日曜出勤なし") | 文字列(1行)。どれか1つなら OR、全部なら AND で CONTAINS を並べる |
| 12 | 選択肢で金額を足す | 8000+IF(CONTAINS(宿泊オプション, "朝食あり"), 1500, 0) | 計算フィールド。IFで0を返すと足し算に組み込める |
| 13 | 在籍中かどうかの印 | IF(AND(入社年月日!="", 退職年月日=""), 1, 0) | 計算フィールド。1を合計すれば在籍人数になる |
8の入れ子は、条件を大きいほうから順に書きます。IF(売上>=500000, "B", IF(売上>=1000000, "A", "C")) と逆に書くと、100万円の売上も先に50万円以上に当たって「B」になります。3段を超えたら改行とインデントを入れて書きます。文字列や数値の途中で改行すると「計算式の文法が正しくありません。」になります。
IF(売上>=1000000, "A",
IF(売上>=500000, "B",
IF(売上>=100000, "C", "D")))
文字列の比較に使える演算子は = != <> だけです。13のように1か0を返す計算フィールドは、グラフで合計すると件数になります。条件付きの件数を集計で出したいときの定番です。
空欄の判定と0除算
| 番号 | 用途 | 式 | 置き場所と注意 |
|---|---|---|---|
| 14 | 未入力なら文字を出す | IF(数量="", "未入力", 単価*数量) | 文字列(1行)。空欄の判定は ="" で書く |
| 15 | 0なら空欄にする | IF(数量=0, "", 単価*数量) | 計算フィールド。0を表示しない |
| 16 | 0で割らない | IF(予算>0, ROUND(実績/予算*100, 1), "") | 計算フィールド。単位記号に「%」 |
数値フィールドに 数量=0 と書くと、0を入力したときだけでなく、未入力のときも真になります。「0と入れた」と「まだ入れていない」を分けたいなら、数量="" で先に判定します。分母が未入力になりうる割り算は、16のように必ずIFで包みます。
日付の計算
| 番号 | 用途 | 式 | 置き場所と注意 |
|---|---|---|---|
| 17 | 2つの日付の差(日数) | (終了日-開始日)/(60*60*24) | 計算フィールド、表示形式は数値。両端を含めるなら +1 |
| 18 | 何日後の日付 | 申込日+(60*60*24*30) | 計算フィールド、表示形式は日付 |
| 19 | 何日後を文字で出す | IF(申込日="", "", DATE_FORMAT(申込日+(60*60*24*30), "YYYY年M月d日", "Etc/GMT")) | 文字列(1行)。申込日が空のときの1970年表示を防ぐ |
| 20 | 年齢(基準日時点) | ROUNDDOWN((基準日-生年月日)/(60*60*24*365.25)) | 計算フィールド。誕生日の前後で1日ずれることがある |
| 21 | 経過月数(目安) | ROUNDDOWN((基準日-入会日)/(60*60*24*30.4375)) | 計算フィールド。平均の日数で割った目安 |
| 22 | 期限までの残り日数 | IF(期限="", "", (期限-基準日)/(60*60*24)) | 計算フィールド。負の数なら期限切れ |
| 23 | 期限切れの判定 | IF(AND(期限!="", 完了日="", 期限<基準日), "期限切れ", "") | 文字列(1行)。期限が空のレコードを先に外す |
日時フィールドどうしの差は時刻の分が残って小数になるので、ROUNDDOWN((終了日時-開始日時)/(60*60*24)) で整数にします。
20と21は近似です。kintoneには年や月の差を数える関数がありません。365.25で割る式はうるう年をならした値なので、誕生日の当日や前日に1歳ずれることがあります。1日の誤差も許されない用途なら、JavaScriptで計算して数値フィールドに書き込みます。
20から23の「基準日」は日付フィールドです。今日を返す関数が無いので、比べる相手の日付をフィールドで持たせます。この基準日は入れた日のまま止まり、翌日になっても進みません。期限切れを毎日正しく出す方法は「できないことと、その代わり」で書きます。
DATE_FORMATの書式は、YYYY(年)、MM と M(月)、dd と d(日)、HH(0〜23時)、hh(1〜12時)、a(午前・午後)、mm(分)、ss(秒)、ZZ(UTCとの差)などを組み合わせます。2文字の記号は0で埋めます。曜日を出す記号はありません。3番目のタイムゾーンは元のフィールドで決まります。
| 元のフィールド | 指定するタイムゾーン |
|---|---|
| 日付、時刻 | "Etc/GMT" |
| 日時、作成日時、更新日時 | "Asia/Tokyo" か "system" |
日付と時刻のフィールドは、タイムゾーンが協定世界時で固定されています。ここに "Asia/Tokyo" を指定すると9時間ずれます。"system" はcybozu.com共通管理で設定したタイムゾーンを使います。

時刻と時間の計算
| 番号 | 用途 | 式 | 置き場所と注意 |
|---|---|---|---|
| 24 | 勤務時間 | 退勤-出勤-休憩*60 | 計算フィールド、表示形式は時間。休憩は分の数値フィールド |
| 25 | 日をまたぐ勤務 | IF(退勤<出勤, 退勤+60*60*24-出勤, 退勤-出勤)-休憩*60 | 計算フィールド。退勤が出勤より前なら翌日とみなす |
| 26 | 時給の計算 | ROUNDDOWN(勤務時間*時給/3600) | 計算フィールド、表示形式は数値。割り算を最後にする |
休憩を時刻フィールドで持つと、「1:00」が1時間なのか午前1時なのかが混ざります。分の数値フィールドにして *60 で秒に直すのが崩れません。月の合計はテーブルの外で SUM(勤務時間) とし、表示形式を時間にします。
26は、先に3600で割ると、20分(0.333…時間)のような割り切れない値が途中で丸められて1円ずれることがあります。掛け算を先にして、割り算を最後に回します。
文字列をつなぐ、ステータスを出す
| 番号 | 用途 | 式 | 置き場所と注意 |
|---|---|---|---|
| 27 | 姓と名をつなぐ | 姓&" "&名 | 文字列(1行)。+ ではつながらない。空の項目があっても残りはつながる |
| 28 | 日付入りの番号 | 顧客名&"-"&DATE_FORMAT(作成日時, "YYYYMMdd", "system") | 文字列(1行)。作成日時はフォームに配置しておく |
| 29 | 日付の入り方で状態を出す | IF(入金日!="", "入金済", IF(請求日!="", "請求済", "未請求")) | 文字列(1行)。後ろの段階から判定する |
日付や日時を & でつなぐときは、DATE_FORMATで形を指定します。28の番号は、同じ顧客で同じ日に2件作ると重複するので、一意であることが前提の番号には向きません。
プロセス管理のステータスは計算式で参照できないので、29のように日付が入ったかどうかで状態を出します。入力する人は日付を入れるだけで済み、ステータスの押し忘れも起きません。
応用
テーブルの中と外
テーブルの中に計算フィールドを置くと、行ごとに計算されます。テーブルの外から中のフィールドを参照するときは、SUMとCONTAINSしか使えません。外から IF(小計>10000, ...) と書くと「配列型の値に対して適切な関数が利用されていません。」で保存できません。
条件付きの合計(ExcelのSUMIF)は、2段に分けて作ります。
- テーブル内に計算フィールドを置き、
IF(店舗="大阪", 売上, 0)と書きます。フィールドコードは「大阪店売上」にします。 - テーブルの外に計算フィールドを置き、
SUM(大阪店売上)と書きます。
テーブルの外からCONTAINSを使うと、明細に一致する行があるかを判定できます。IF(CONTAINS(優先度, "至急"), "至急対応あり", "通常") で、至急の行が1つでもあるかを親レコードに出せます。テーブルの制約は「テーブル(サブテーブル)の使い方。できること・できないこと」に、明細と税計算の通しの作り方は「kintoneで請求書を作って出す。明細テーブルと計算式、印刷まで」にまとめています。



計算と集計、通知の使い分け
計算式は1レコードの中だけで動きます。複数のレコードを足す、件数を数えるのはグラフの仕事です。集計した結果をさらに計算する(売上合計を目標合計で割る、など)こともグラフではできないので、達成率はレコードごとの計算フィールドで持ち、表のグラフで並べます。
「レコードの条件通知」は、追加したとき、または編集した結果として条件を満たしたときに通知します。編集前から条件を満たしていたレコードと、ファイルの読み込みで追加・更新したレコードは通知されません。期限が近いことを知らせるなら「リマインダーの条件通知」を使います。基準にできるのは日付、日時、作成日時、更新日時のフィールドで、計算フィールドは選べません。

できないことと、その代わり
| できないこと | 代わりの手 |
|---|---|
| 今日の日付を使った計算 | 期限切れは一覧の絞り込みで「今日」を条件にする。期限前の知らせはリマインダー |
| 日付の経過で結果が変わる | 同上。計算は保存したときにしか走らない |
| ほかのレコードの値を参照する | ルックアップで値をコピーしてから計算する。在庫の残数のような足し合わせは集計で出す |
| 関連レコード一覧の合計を式に使う | グラフで集計する。親に持たせたいならJavaScriptかプラグイン |
| レコード番号、ステータス、作業者を式で使う | 状態は日付や選択肢で別に持つ。番号はJavaScriptで文字列(1行)に書き込む |
| 文字の切り出し、文字数、曜日 | JavaScriptで処理して文字列(1行)に入れる |
| 計算フィールドに手やAPIで値を入れる | 上書きしたいなら数値フィールドにする |
期限切れの一覧は、絞り込みで「期限」が「今日」より前、かつ「完了日」が空欄、のように作ります。「今日」は絞り込みを実行した日が起点なので、毎朝開けば正しい一覧になります。「以前」「より前」「以下」の条件は値が空のレコードも含むので、期限が未入力のレコードを外す条件も入れます。在庫の残数を集計で出す組み方は「kintoneで在庫管理アプリを作る。入出庫と残数の計算まで」に書いています。
JavaScriptで書き込むときは、計算フィールドと「自動計算する」にした文字列(1行)を書き込み先にしません。イベントの中で値を書き換えても画面に反映されないからです。書き込み先は普通の数値か文字列(1行)にします。書き方は「kintoneのJavaScriptカスタマイズ入門。最初の1本を動かすまで」にあります。
エラーの出方と直し方
計算式を保存するときに出るもの
| メッセージ | 原因と直し方 |
|---|---|
| 全角記号「〇〇」が入力されています。 | 演算子を全角で打った。半角に直す |
| 計算式に含まれるフィールドコード(〇〇)が存在しません。 | コードの打ち間違いか、作成日時などを配置していない。挿入ボタンで入れ直す |
| 計算式で利用できないフィールドタイプのフィールド(〇〇)が指定されています。 | レコード番号など参照できないフィールドを指定した |
| フィールドの参照が循環しています。 | 式が直接または間接に自分自身を参照している |
| 〇〇関数には〇〇個の引数が必要です。 | 引数が足りない。YENは桁数も必須 |
| 〇〇関数は使用できません。 | kintoneに無い関数か、関数名の打ち間違い |
| 計算式の文法が正しくありません。 | カッコの数が合わない、演算子の位置の間違い、文字列の途中で改行 |
| 配列型の値に対して適切な関数が利用されていません。 | チェックボックスやテーブル内のフィールドを直接参照した。CONTAINSかSUMで受ける |
| 演算子「〇〇」とデータ型の組み合わせが正しくありません。 | 文字列に + や > を使った。連結は & にする |
レコードを入力したときに出るもの
| 表示 | 原因と直し方 |
|---|---|
| #CONVERT! | 計算フィールドの結果が文字列になった。文字列(1行)に式を移す |
| #PRECISION! | 結果が有効桁数を超えた。「高度な設定」の「全体の桁数」を見直す |
| #VALUE! | 数値と文字列を計算したなど、型や演算子が合わない |
| #ERROR! | 0で割った、べき乗の指数が範囲外、DATE_FORMATの日時が範囲外かタイムゾーンが無効 |

よく詰まるところ
| 症状 | 原因 | 直し方 |
|---|---|---|
| 税込金額が税抜と同じになる | 「小数部の桁数」が0で、式の 1.1 が1に丸められている | *110/100 と整数だけで書く |
| 2.5が2になる、ROUNDを入れても合わない | 「高度な設定」の「小数部の桁数」と「丸めかた」(初期値は「最近接偶数への丸め」)は式の中の数値にも効き、ROUNDや表示桁数より優先される | 先に高度な設定の2つを確かめ、変えていれば初期値に戻す。そのうえで端数はROUND系で処理する |
| 書き出すと小数が出る | 「小数点以下の表示桁数」は表示だけの切り捨て | 値ごと丸めるならROUND系を使う |
| 30日後のつもりが日付が変わらない | +30 で30秒足している | +(60*60*24*30) と秒で書く |
| 日付が「1970-01-01」になる | 元の日付が未入力 | IF(日付="", "", ...) で包む |
| 日付や時刻が9時間ずれる | 日付・時刻に "Asia/Tokyo" を指定した | "Etc/GMT" にする |
| 日時から作った日付が前日になる | 日時の結果を表示形式「日付」で出すとUTCになる | 式に 60*60*9(32,400秒)を足す |
| 未入力なのに「0なら」の分岐に入る | 未入力の数値は0として扱われる | ="" で先に判定する |
| 文字列(1行)の結果を別の式で足せない | 結果は文字列型 | 数値で使う結果は計算フィールドに置く |
| 選択肢と同じはずのIFが偽になる | 全角・半角や空白が違う | " を打って出る候補から入れる |
| コードを変えたら式がエラーになった | 変える前から式が文法エラーだった | 式を直して保存してからコードを変える |
| 期限切れの表示が翌日も変わらない | 計算は保存時だけ、今日を返す関数も無い | 一覧の絞り込みで「今日」を使う |
| 精度を変えたのに既存の値が古い | 既存レコードは次に更新したときに変わる | 書き出して読み込み直し、再計算させる |
| コードが勝手に変わった | 「@」「(」などは「_」に、先頭が数字だと「_」が付く。同じコードには「_0」が付く | 漢字・かな・英数字と「_」で付ける。「ステータス」「作業者」「カテゴリー」は使えない |
次にやること
計算式は、明細や集計と組み合わせたときに効きます。次の順に読むと、ここで書いた式がそのまま使えます。
- kintoneで請求書を作って出す。明細テーブルと計算式、印刷まで
- テーブル(サブテーブル)の使い方。できること・できないこと
- kintoneで在庫管理アプリを作る。入出庫と残数の計算まで
- kintoneのJavaScriptカスタマイズ入門。最初の1本を動かすまで