kintoneで「期限まであと何日」を出したい場合、標準の計算フィールドでは作れません。今日の日付を返す関数がないためです。期限切れを一覧で色分けするには、公式のAPIを使ったJavaScriptか、設定だけで済む無料プラグイン期限・残日数を使います。
標準の計算式でできること・できないこと
| やりたいこと | 標準の計算式 |
|---|---|
| 着手日から完了日までの日数 | できる(完了日 - 着手日、表示形式は数値) |
| 受付日の30日後の期限 | できる(受付日 + 30、表示形式は日付) |
| 今日から期限までの残日数 | できない(今日を取る関数がない) |
| 期限が過ぎているかどうかの判定 | できない(同上) |
| 土日・祝日を除いた営業日での残り | できない |
kintoneは日付を「1970年1月1日からの日数」として扱うため、日付どうしの足し算・引き算はそのまま書けます。詰まるのは「今日」です。計算フィールドに今日を入れる方法がないため、残日数だけがどうしても作れません。日付の書式や和暦についてはkintoneの日付を和暦・曜日で表示する方法で詳しく扱っています。
標準機能だけでどこまで粘れるか
色は付けられませんが、一覧の絞り込みでは「今日」を条件に使えます。ここは意外と知られていません。
- 一覧の設定で「+ 一覧を追加」
- 絞り込み条件に「期限」を選び、演算子で「以前」、値で「今日」を選ぶ
- 「期限切れ」という名前で保存する
これで、開くたびに期限切ればかりが並ぶ一覧ができます。同じ要領で「今日から3日以内」の一覧も作れます。まずはここまでを標準機能でやってください。 一覧を分けるだけで、見落としはかなり減ります。
ただし、この方法には2つの弱点があります。
- 一覧を切り替えないと気づけない。 普段見ている一覧では、期限切れも通常のレコードも同じ見た目です
- 「あと何日か」が分からない。 期限切れであることは分かっても、1日超過なのか3か月超過なのかが一目では分かりません
JavaScriptで一覧のセルに色を付ける
kintoneには、一覧の特定のフィールドのセルの要素を取る公式のAPI kintone.app.getFieldElements() があります。これを使えば、DOMを自前でたどらずに色を付けられます。
(() => {
'use strict';
const FIELD = '期限';
const SOON = 3; // 残り何日から黄色にするか
const startOfToday = () => {
const d = new Date();
d.setHours(0, 0, 0, 0);
return d;
};
kintone.events.on('app.record.index.show', (event) => {
const cells = kintone.app.getFieldElements(FIELD);
if (!cells) return event; // その一覧に列がなければ null が返る
const today = startOfToday();
event.records.forEach((record, i) => {
const cell = cells[i];
cell.style.backgroundColor = '';
const value = record[FIELD].value;
if (!value) return;
// "2026-09-20" を数値で渡す(文字列を new Date に渡すとUTC扱いでずれる)
const [y, m, d] = value.split('-').map(Number);
const days = Math.round((new Date(y, m - 1, d) - today) / 86400000);
if (days < 0) cell.style.backgroundColor = '#FFD9D9'; // 期限切れ
else if (days <= SOON) cell.style.backgroundColor = '#FFF3C4'; // 期限間近
});
return event;
});
})();
30行ほどです。app.record.index.show は、一覧を開いたとき・ページを送ったとき・並べ替えたときに毎回発火するので、表示されている行に対して開いた日の日付で判定し直されます。保存したときの値ではないので、日がたってもずれません。JavaScriptカスタマイズの基本は13章 JavaScript・API・外部連携にまとめています。
この書き方で足りないところ
| 足りないところ | 何が必要になるか |
|---|---|
| 土日・祝日を除いた営業日で数える | 日本の祝日の判定を自前で持つ(春分・秋分・ハッピーマンデー・振替休日) |
| 完了したレコードを色付けから外す | ステータスや完了フラグの条件を追加 |
| 期限が複数ある(提出期限・支払期限) | ルールを配列にして回す作りに変更 |
| 残日数を数値で持って集計したい | 保存時に数値フィールドへ入れる処理を別に追加 |
| カレンダー表示・カスタマイズビュー | 表形式の一覧以外では getFieldElements が使えません |
| モバイル画面 | 別のイベントと別の処理が必要 |
とくに営業日が厄介です。外部の祝日APIを叩く方法は、自治体のLGWAN環境や閉じた社内ネットワークでは使えません。
なお、期限以外の条件(ステータス・金額・担当者など)で一覧に色を付けたい場合は、別の道具になります。kintoneの一覧で条件に合う行に色を付ける方法をご覧ください。今日を基準にした期限の色分けはこの記事、値そのものによる色分けはそちら、という住み分けです。
設定だけで済ませる:期限・残日数(無料)
COTSUBUが公開している無料プラグイン期限・残日数は、上の内容を設定画面だけで実現します。
- 期限の日付から残日数を数値フィールドに自動で入れる(期限切れは負の数)
- 一覧画面で、期限切れのセルと「残り○日以内」のセルに色を付ける(色は自由に選べる)
- 一覧の色は、開いた日の日付で判定し直すので、保存してから日がたっても正しい
- 暦日か営業日かを選べる。営業日は土日・日本の祝日・会社独自の休日を除く
- 期限のフィールドは複数設定できる
無料・会員登録不要・外部と通信しません。 祝日は外部から取りに行かず、祝日法のルールから計算します(1980〜2099年に対応。2019〜2021年の祝日の特例移動は入れていません)。そのためLGWAN環境でも動きます。
設定はこの5ステップです。
- 残日数を入れたい場合は、数値フィールドを用意する(色付けだけなら不要)
- アプリの設定 →「プラグイン」→「期限・残日数」の歯車アイコン
- 「+ ルールを追加」で、期限の日付フィールド・残日数の数値フィールド・数え方(暦日/営業日)を選ぶ
- 「残り○日以内」の日数と、期限間近・期限切れの色を選ぶ
- 「保存する」→「アプリを更新」
数え方は、暦日なら期限が今日で0、明日で1、昨日で−1です。営業日なら今日の翌日から期限の日までの営業日を数えます。期限が空欄のレコードは、残日数も空にし、色も付けません。
残日数フィールドの使いどころに注意
残日数の数値は、保存したときの値です。 翌日には1日ぶんずれます。そのため、
- 並べ替え・絞り込みには、残日数ではなく期限の日付を使ってください
- 残日数フィールドは「詳細画面で目安を見る」「CSVに出して報告に使う」用途に向きます
- 一覧の色は開いた日で判定し直すので、こちらは常に正しく出ます
いまはPCの画面に対応しています。モバイル画面への対応は無料版で予定しています。毎日の残日数の自動更新や、完了したレコードを色付けから外す設定は有料版で提供する予定です。
リマインド通知との使い分け
kintoneには標準でリマインド通知があります。日付フィールドを基準に「○日前の○時」に、指定した宛先へポータルやメールで通知を送れます。条件(「ステータスが完了以外」など)も付けられます。
色分けと通知は、役割が違います。
| リマインド通知(標準) | 一覧の色分け | |
|---|---|---|
| いつ届くか | 設定した日時に1回 | 一覧を開くたび |
| 誰に届くか | 指定した担当者 | その一覧を見る全員 |
| 得意なこと | 忘れる前に気づかせる | 取り残しを見つける |
| 苦手なこと | 通知が埋もれると終わり | 一覧を開かないと気づかない |
| 過ぎたあと | 追いかけてくれない | 赤いまま残り続ける |
「通知で気づき、色で取り残しを潰す」の二段構えが、実務では最も確実です。通知だけにすると、休暇中の1通を逃したレコードがそのまま沈みます。色だけにすると、その一覧を見る習慣がない人には届きません。
期限そのものをプロセス管理のステータスと連動させたい場合は、kintoneプロセス管理で承認フローを自動化するもあわせてご覧ください。「誰のところで止まっているか」が見えると、期限切れの原因が特定しやすくなります。
まとめ
- kintoneの計算フィールドに「今日」を返す関数はないため、残日数は標準では作れない
- 一覧の絞り込み条件では「今日」を使えるので、「期限切れ」の一覧は標準で作れる
- 色を付けるなら公式の
kintone.app.getFieldElements()を使う。一覧を開くたびに判定し直される - 営業日で数えるには、祝日の判定を自前で持つ必要がある
- 設定だけで済ませるなら無料の期限・残日数。暦日・営業日のどちらでも数えられる
- 残日数の数値は保存時の値。並べ替えと絞り込みには期限の日付を使う
- 標準のリマインド通知と色分けは役割が違う。両方使う
→ kintone導入支援の詳細 → kintone無料プラグイン一覧 → kintoneの日付を和暦・曜日で表示する方法 → kintoneの一覧で条件に合う行に色を付ける方法
よくある質問
kintoneの計算フィールドで「今日からあと何日」を出せますか
出せません。計算フィールドには今日の日付を返す関数(TODAY や NOW にあたるもの)がないためです。日付どうしの引き算はできますが、片方に今日を入れられないため、残日数は作れません。
残日数を数値フィールドに入れた場合、毎日自動で変わりますか
変わりません。JavaScriptでもプラグインでも、値が入るのは保存したときです。翌日には1日ぶんずれます。並べ替えや絞り込みには、残日数ではなく期限の日付そのものを使ってください。
標準機能だけで期限切れのレコードを見つけられますか
見つけられます。一覧の絞り込み条件で日付フィールドに「今日」を指定できるため、「期限 < 今日」の一覧を作れば期限切ればかりが並びます。ただし、色を付けることはできません。
一覧に色を付けるのと、リマインド通知は、どちらを使うべきですか
両方です。リマインド通知は「その日に担当者へ1回届く」もので、見逃すとそれきりです。一覧の色は「開くたびに、チームの全員に見える」もので、取りこぼしの発見に向きます。通知で気づき、色で取り残しを潰す、という組み合わせが実務では確実です。
期限・残日数プラグインは無料ですか
無料です。会員登録も不要で、MITライセンスのため商用でも使えます。外部のサーバーと通信しないので、自治体のLGWAN環境や閉じた社内ネットワークでも動きます。


