kintone計算フィールド完全ガイド|使い方と「経過日数が止まる」弱点の解決法【2026年版】

kintone計算フィールド完全ガイド 使い方と「経過日数が止まる」弱点の解決法【2026年版】

本記事は、kintone(キントーン)の構築・カスタマイズの実務経験をもとに、計算フィールドの使い方と「思ったように更新されない」つまずきの直し方を整理したものです。

計算フィールドは、kintoneの中でもとっつきにくい機能のひとつ。四則演算だけなら簡単ですが、日付の差分や年齢のように「今日」を絡めた計算になると、途端に思わぬ落とし穴にはまります。

この記事で分かることは次のとおりです。

  • 計算フィールドでできること・書き方の基本(数値・日付・文字列・条件式)
  • 経過日数や年齢が古い値のまま止まる理由と、その正体
  • 標準の工夫・JavaScript・プラグインという3つの解決法と使い分け
  • 設定だけで「今日基準」の値を出し続ける方法

1. kintoneの計算フィールドとは

まずは基本から。計算フィールドは、ほかのフィールド(アプリの入力項目)の値を使って自動で計算し、その結果を表示する項目です。Excelの数式セルに近い感覚で使えます。

設定画面の「計算」欄にフィールドコードを使った式を入れるだけで、電卓を叩く手間なく合計や差分が求まります。

1.1 数値の計算(四則演算・集計)

もっとも基本的な使い方が、数値項目どうしの計算です。

  • 合計単価 * 数量
  • 税込金額小計 * 1.1
  • 粗利率(売上 - 原価) / 売上 * 100

SUM() を使えばテーブル(サブテーブル)の列合計も出せます。四則演算と ROUNDROUNDDOWNROUNDUP(四捨五入・切り捨て・切り上げ)を組み合わせれば、見積・請求まわりの金額計算はほぼカバーできます。

1.2 日付の計算(経過日数・N日後)

日付フィールドを式に使うと、kintoneは内部でその日付を秒数として扱います。ここが日付計算のクセです。1日=60 * 60 * 24=86,400秒として換算します。

  • 2つの日付の経過日数(終了日 - 開始日) / (60*60*24)
  • 今日から〇日後の日付日付 + (60*60*24 * 30)(30日後)

期間を出したいだけなら、計算フィールドの表示形式を「日数」「月数」「年数」から選ぶ方法もあります。開始日と終了日を引き算し、表示形式を切り替えるだけで期間が求まります。

1.3 文字列の連結・条件分岐

計算フィールドは文字列や条件式も扱えます。

  • 文字列連結都道府県 & 市区町村 & 番地
  • 条件分岐IF(金額 > 10000, "要承認", "通常")

IF を入れ子にすればランク判定なども可能ですが、複雑になりすぎると保守が大変になります。3段以上の入れ子になりそうなら、ドロップダウンやプロセス管理で持たせるほうが後々ラクです。

ヒント:計算式で使うのは「フィールド名」ではなく「フィールドコード」です。日本語名のままだとエラーになりやすいので、コードを確認してから式を組みましょう。


2. 計算フィールドがハマりやすい「3つの限界」

ここからが本題です。金額計算はうまくいくのに、日付がらみになると「値が合わない」「昨日から変わっていない」という相談をよく受けます。原因は計算フィールドの仕様上の限界にあります。

2.1 最大の弱点:計算は「保存したとき」しか走らない

kintoneの計算フィールドは、レコードを保存した瞬間にだけ再計算されます。裏を返せば、保存後は誰かが開き直して保存しない限り、値はずっとそのままです。

Excelには開くたびに今日の日付を返す TODAY() がありますが、kintoneの計算式に相当する関数はありません。そのため「契約日からの経過日数」を計算フィールドで作っても、次のような事故が起こります。

  • 4月に登録したレコードの経過日数が、7月に見ても4月時点の値のまま
  • 一覧に「経過日数」列を並べても、レコードごとに最終保存日がバラバラで横並びで比較できない

日付を絡めた計算フィールドは「登録した瞬間のスナップショット」だと理解しておくのが安全です。

kintoneの計算フィールドは保存した瞬間だけ再計算される仕組みの図解。4月にレコードを保存し、7月に一覧を開いても経過日数は4月のまま止まっていることを示す

2.2 年齢・勤続年数は標準では作りにくい

「今日」を基準にする計算は、この弱点の直撃を受けます。代表格が年齢や勤続年数です。

生年月日から年齢を出す式は一応組めますが、TODAY() が無いため基準となる「今日」を式に埋め込めません。誕生日が来ても値は自動では増えず、レコードを開いて保存し直すまで去年の年齢のまま。会員名簿や従業員名簿では地味に困る問題です。

うるう年(2/29生まれ)の加齢や、4/1基準の学年判定まで正しく出そうとすると、標準式だけではかなり無理が出てきます。

2.3 並び替え・絞り込みに使うには「実データ」が要る

一覧での並び替えや絞り込み、集計は、あくまで保存済みの実データに対して働きます。表示だけを今日基準に見せても、裏のデータが古ければ「残日数が少ない順」で並べたときに正しく並びません。

つまり「今日の値を見せる」ことと「今日の値で並べ替える・絞り込む」ことは別問題。後者には、実フィールドへ今日の値を書き込んでおく仕組みが必要になります。


3. 経過日数・年齢を「今日基準」で保つ3つの方法

弱点が分かったところで、解決法を整理します。大きく3つ、それぞれ手間と精度が違います。

kintoneで経過日数や年齢を今日基準に保つ3つの方法の比較図。標準の工夫(無料)、JavaScript(開発要)、プラグイン(有料)をカードで並べた全体像

方法手間自動更新向くケース
標準の工夫×(開いて保存が必要)精度をあまり求めない、件数が少ない
JavaScript△(実装しだい)自由に作り込みたい・開発体制がある
プラグイン○(開くたびに再計算)設定だけで確実に運用したい

3.1 標準機能の工夫でしのぐ

コストをかけずに済ませたいなら、運用でカバーする手もあります。

  • 経過日数の列を用意し、月初にレコードを一括で開いて保存し直す
  • 年齢は「生年月日」だけ持ち、年齢そのものはレポート出力時に別途計算する

ただし、これは手作業が前提。件数が増えるほど保存し直しの負担が重くなり、更新漏れも起きます。数十件までの小さなアプリ向けの割り切った方法です。

3.2 JavaScriptカスタマイズで組む

自由度は最も高い方法です。kintone.events.on で一覧・詳細の表示時に今日の日付で計算し、画面に反映できます。定期的に全レコードを更新したい場合は、REST APIで夜間バッチを回す構成も取れます。

一方で、開発と保守のコストがかかります。作った本人が異動すると誰もメンテできない、いわゆる「野良カスタマイズ」になりがちな点にも注意が必要です。社内に開発できる人がいる場合の選択肢です。

3.3 プラグインで設定だけで解決する

「コードは書きたくないが、確実に今日基準にしたい」なら、日付計算に特化したプラグインが現実的です。設定画面で基準日フィールドと出力先を選ぶだけで、経過日数や年齢の自動計算が入ります。

kintone標準の弱点をピンポイントで埋める手段なので、開発体制がなくても運用に乗せられます。次の章で、当社の経過計算アシスト for kintoneを例に具体的に紹介します。


4. 「経過計算アシスト for kintone」で計算フィールドの弱点を埋める

経過計算アシスト for kintoneは、基準日フィールドから経過日数・年齢・在籍期間などを計算し、一覧・詳細を開くたびに「今日」時点の値へその場で計算し直すプラグインです。JavaScriptなしで、設定だけで導入できます。

経過計算アシスト for kintone の動作イメージ図。基準日フィールドから、開くたびに今日基準で再計算し、一覧・詳細に最新の値を表示する流れ

4.1 何が変わるのか

このプラグインの要は、2.1で挙げた「保存時しか計算されない」問題を正面から解いている点です。

  • 一覧や詳細を開くたびに今日基準で再計算して表示(このとき追加のAPIは使いません)
  • レコード保存時には実フィールドへ値を書き込むので、並び替え・絞り込み・集計にもそのまま使える
  • 既存レコードは一括再計算ボタンでまとめて最新化できる

「表示は今日基準」「データも今日基準で確定できる」——2.1〜2.3の限界をひととおりカバーする設計です。

経過計算アシストを適用したkintoneの社員一覧。入社日から在籍期間(12年3ヶ月など)、生年月日から年齢、誕生日までの残日数の列が今日基準で並び、ツールバーに「今すぐ再計算」ボタンと最終更新日時が表示されている

一覧に「在籍期間」「年齢」「誕生日まで」の列が並び、どのレコードも同じ「今日」で計算されています。ツールバーの今すぐ再計算ボタンを押せば、絞り込み中のレコードをまとめて最新化して保存できます。

経過計算アシストの一括再計算の確認ダイアログ。「現在の絞り込み結果のレコードを再計算し、実フィールドへ書き込みます」と表示され、キャンセル/実行するボタンが並ぶ

4.2 計算できる9パターン

生年月日や契約日といった1つの日付フィールドから、次のパターンを出力先フィールドへ出せます。

  • 経過日数 / 経過月数 / 経過年数
  • 年齢(うるう年2/29生まれの加齢も考慮)
  • 残日数(期限超過はマイナス表示)
  • 在籍期間などの「〇年〇ヶ月」表示
  • 次回記念日までの日数
  • 稼働日ベースの日数(土日を除外)
  • 学年の自動算出(4/1基準)

年齢も学年も、2.2で「標準では作りにくい」とした計算です。式を組まずに選ぶだけで済みます。

経過計算アシストを適用したkintoneの詳細画面の基本情報。生年月日1992-01-14から年齢が34歳、誕生日までが181日と自動表示されている

生年月日を入れておくだけで、詳細画面でも年齢と「誕生日まで何日か」が今日基準で表示されます。

4.3 「対応日数」を止めておける停止条件

経過日数は、放っておくとどこまでも伸び続けます。しかし実務では「対応が完了したら、そこで日数を止めたい」場面が多いはず。

このプラグインは、ステータスや日付・フィールド値の条件(最大5件・AND/OR)を満たした時点でカウントを止め、その日の値で固定できます。使い方の例を挙げます。

  • 問い合わせ管理:ステータスが「完了」になった日で対応日数を確定
  • 契約管理:解約日が入ったら、そこまでの契約期間を固定
  • 人事:退職日を基準に、在籍期間を止める

経過計算アシストの設定画面。基準日フィールドに入社日、計算パターンに期間「〇年〇ヶ月」、出力先に在籍期間を指定し、カウント停止条件で「退社日に値が入っている」を条件に、退社日を計算の終点に固定する設定

停止条件は「値が入ったら止める」だけでなく、止めた時点を過去の日付フィールドの値に合わせることもできます。上の例では、退社日が入ったらその日を終点にして在籍期間を固定しています。

4.4 導入の手順

経過計算アシストの設定画面。計算ルールのタブで、ルール1として基準日フィールドに生年月日、計算パターンに年齢(歳)、出力先フィールドに年齢を指定している

設定はこの1画面で完結します。基準日と計算パターン、出力先を選ぶだけです。

  1. プラグインを読み込み、対象アプリに適用する
  2. 設定画面で「計算ルール」を追加し、基準日フィールド(例:契約日・生年月日)を選ぶ
  3. 計算パターン(経過日数・年齢など)と出力先フィールドを指定する
  4. 必要に応じて停止条件・一括再計算ボタンを設定して保存する

これだけで、以降は一覧・詳細を開くたびに今日の数字が並びます。

動作環境:kintone標準機能・ゲストスペースに対応。外部サービスへデータを送らず、kintone内で完結します。


5. ケース別の選び方

最後に、どの方法を選ぶかの目安を整理します。

  • 件数が少なく、更新頻度も低い → 標準機能+手動保存で十分
  • 金額や在庫など、保存のたびに確定すればよい計算 → 標準の計算フィールドで完結
  • 経過日数・年齢・残日数を「常に今日基準」で見たい/並べたい → 経過計算アシストのようなプラグインが確実
  • 独自ロジックを細かく作り込みたい・開発体制がある → JavaScriptカスタマイズ

計算フィールドは強力ですが、「今日」が絡む計算は苦手分野。そこだけを補う道具を足すのが、いちばん手戻りの少ない進め方です。


まとめ

  • kintoneの計算フィールドは保存時にしか再計算されないTODAY() に相当する関数がないため、経過日数や年齢は古い値で止まりやすい。
  • 日付は内部で秒数扱い。経過日数は (終了日 - 開始日) / (60*60*24) で求める。
  • 「今日基準」を保つ解決法は、標準の工夫・JavaScript・プラグインの3つ。手間と確実性で選ぶ。
  • 設定だけで今日基準を維持したいなら、経過計算アシスト for kintoneが近道。9パターンの計算+停止条件+一括再計算まで対応する。

kintoneの計算まわりでお困りごとがあれば、お問い合わせからお気軽にご相談ください。ほかのプラグインはプラグイン一覧から、自動採番の考え方などの関連記事もあわせてご覧いただけます。

← ブログ一覧に戻る