みんなの投稿

2025/11/07 11:39

指定した日付の4ヶ月+1日後の日付を自動で反映させたいです。

皆様初めまして。神のお力をお借りしたく、書き込みいたします。
現在弊社では、スタンダードコースを契約しており、プラグインは導入しておりません。

Excelのedate関数のような形で、例えば2025/11/7を選択したら2026/3/8が自動で表示される項目を追加したいのですが、kintoneで使用可能な関数を用いて作成することは可能でしょうか。
もしおわかりになる方がいらっしましたらお知恵をお借りできますと幸いです。
宜しくお願いいたします。

6件のコメント (新着順)
井上望
2025/11/07 22:18

 お疲れ様です。

 この日付の◯ヶ月✕日後って課題、kintoneを使ってると結構な頻度でぶつかる課題なので標準機能でできないか、できるだけ誤差をださないように考えてみました。
 kintoneで日時を加算する際にはUNIX時間に変換する必要があるため、まず計算フィールドを用いて、日付を年、月、日に変換しています。
 UNIX時間の計算式はすごく長いので、このコメントに記載します。それ以外の計算式は画像を御覧ください。kintoneに余剰の関数があればもっと短い式になるのですが、余剰を計算で算出しているので、恐ろしく長い式になっています。
 最終的に、DATE_FORMATで日付型の計算式にできるのが強みです。
 興味がある場合は、後日プラグインなしでテストする際に、こちらもお試しください。


(
(年 + ROUNDDOWN((月 + 加算月数 - 1) / 12, 0) - 1) * 365
+ ROUNDDOWN((年 + ROUNDDOWN((月 + 加算月数 - 1) / 12, 0) - 1) / 4, 0)
- ROUNDDOWN((年 + ROUNDDOWN((月 + 加算月数 - 1) / 12, 0) - 1) / 100, 0)
+ ROUNDDOWN((年 + ROUNDDOWN((月 + 加算月数 - 1) / 12, 0) - 1) / 400, 0)
+ IF(
( ( (月 + 加算月数 - 1)
- ROUNDDOWN((月 + 加算月数 - 1) / 12, 0) * 12
+ IF((月 + 加算月数 - 1)
- ROUNDDOWN((月 + 加算月数 - 1) / 12, 0) * 12 < 0, 12, 0)
) + 1 = 1 ), 0,
IF(
( ( (月 + 加算月数 - 1)
- ROUNDDOWN((月 + 加算月数 - 1) / 12, 0) * 12
+ IF((月 + 加算月数 - 1)
- ROUNDDOWN((月 + 加算月数 - 1) / 12, 0) * 12 < 0, 12, 0)
) + 1 = 2 ), 31,
IF(
( ( (月 + 加算月数 - 1)
- ROUNDDOWN((月 + 加算月数 - 1) / 12, 0) * 12
+ IF((月 + 加算月数 - 1)
- ROUNDDOWN((月 + 加算月数 - 1) / 12, 0) * 12 < 0, 12, 0)
) + 1 = 3 ), 59,
IF(
( ( (月 + 加算月数 - 1)
- ROUNDDOWN((月 + 加算月数 - 1) / 12, 0) * 12
+ IF((月 + 加算月数 - 1)
- ROUNDDOWN((月 + 加算月数 - 1) / 12, 0) * 12 < 0, 12, 0)
) + 1 = 4 ), 90,
IF(
( ( (月 + 加算月数 - 1)
- ROUNDDOWN((月 + 加算月数 - 1) / 12, 0) * 12
+ IF((月 + 加算月数 - 1)
- ROUNDDOWN((月 + 加算月数 - 1) / 12, 0) * 12 < 0, 12, 0)
) + 1 = 5 ), 120,
IF(
( ( (月 + 加算月数 - 1)
- ROUNDDOWN((月 + 加算月数 - 1) / 12, 0) * 12
+ IF((月 + 加算月数 - 1)
- ROUNDDOWN((月 + 加算月数 - 1) / 12, 0) * 12 < 0, 12, 0)
) + 1 = 6 ), 151,
IF(
( ( (月 + 加算月数 - 1)
- ROUNDDOWN((月 + 加算月数 - 1) / 12, 0) * 12
+ IF((月 + 加算月数 - 1)
- ROUNDDOWN((月 + 加算月数 - 1) / 12, 0) * 12 < 0, 12, 0)
) + 1 = 7 ), 181,
IF(
( ( (月 + 加算月数 - 1)
- ROUNDDOWN((月 + 加算月数 - 1) / 12, 0) * 12
+ IF((月 + 加算月数 - 1)
- ROUNDDOWN((月 + 加算月数 - 1) / 12, 0) * 12 < 0, 12, 0)
) + 1 = 8 ), 212,
IF(
( ( (月 + 加算月数 - 1)
- ROUNDDOWN((月 + 加算月数 - 1) / 12, 0) * 12
+ IF((月 + 加算月数 - 1)
- ROUNDDOWN((月 + 加算月数 - 1) / 12, 0) * 12 < 0, 12, 0)
) + 1 = 9 ), 243,
IF(
( ( (月 + 加算月数 - 1)
- ROUNDDOWN((月 + 加算月数 - 1) / 12, 0) * 12
+ IF((月 + 加算月数 - 1)
- ROUNDDOWN((月 + 加算月数 - 1) / 12, 0) * 12 < 0, 12, 0)
) + 1 = 10 ), 273,
IF(
( ( (月 + 加算月数 - 1)
- ROUNDDOWN((月 + 加算月数 - 1) / 12, 0) * 12
+ IF((月 + 加算月数 - 1)
- ROUNDDOWN((月 + 加算月数 - 1) / 12, 0) * 12 < 0, 12, 0)
) + 1 = 11 ), 304,
IF(
( ( (月 + 加算月数 - 1)
- ROUNDDOWN((月 + 加算月数 - 1) / 12, 0) * 12
+ IF((月 + 加算月数 - 1)
- ROUNDDOWN((月 + 加算月数 - 1) / 12, 0) * 12 < 0, 12, 0)
) + 1 = 12 ), 334, 0
))))))))))))
+ IF(
AND(
OR(
(年 + ROUNDDOWN((月 + 加算月数 - 1) / 12, 0)
- ROUNDDOWN((年 + ROUNDDOWN((月 + 加算月数 - 1) / 12, 0)) / 400, 0) * 400 = 0),
AND(
(年 + ROUNDDOWN((月 + 加算月数 - 1) / 12, 0)
- ROUNDDOWN((年 + ROUNDDOWN((月 + 加算月数 - 1) / 12, 0)) / 4, 0) * 4 = 0),
(年 + ROUNDDOWN((月 + 加算月数 - 1) / 12, 0)
- ROUNDDOWN((年 + ROUNDDOWN((月 + 加算月数 - 1) / 12, 0)) / 100, 0) * 100 <> 0)
)
),
(
((月 + 加算月数 - 1)
- ROUNDDOWN((月 + 加算月数 - 1) / 12, 0) * 12
+ IF((月 + 加算月数 - 1)
- ROUNDDOWN((月 + 加算月数 - 1) / 12, 0) * 12 < 0, 12, 0)
) + 1 > 2)
),
1, 0
)
+ 日 - 1
+ 加算日数
) * 24 * 60 * 60 - 62135596800



suji
2025/11/07 15:25

こんにちは。

基本機能で対応ですと、みなさんがすでに回答されているFAQ内容

https://kintone-faq.cybozu.co.jp/hc/ja/articles/40851203699865

となりますが、追加のアドバイスとして、先に+1日の計算をしてから
1か月後の値を計算したほうが楽です。+ 86400です。

ただ、ふゆきさんも書かれている通り、計算結果は「日付」として
扱えないため、表示するだけなら問題ありませんが
リマインダー条件等での利用はできませんのでご注意ください。

以上です。


Miyuki
2025/11/07 16:35

アドバイスいただき有難うございました!
一旦プラグインで対応し、後日改めて再チャレンジしたいと思います。

この度はありがとうございました。

ふゆき
製造業
2025/11/07 14:07

kintoneで使用可能な関数を用いて作成

は...デフォルトで 出来なくはないと思いますが...結っ構ー 面 倒ーですよ
そして 何より、リマインダーに利用できないので あまり お勧めしません
 👇無理やりデフォルトで計算した例

ただし、ここでは計算フィールドで変換しているため、リマインダー通知の基準日など、日付・日時フィールドであることが必要な機能に利用することはできません。日付・日時フィールドに計算結果を入力するには、JavaScriptカスタマイズやプラグインなどが必要です。

なので、自分だったらこうするで検証してみました...ご参考まで!😊

使ったPluginは
①日付計算用として「Boost! Action(条件付き無料)
②計算結果フィールドのグレーアウト用として「Boost! Style(条件付き無料)

計算式(利用できる関数)の書き方
 計算式1行目= DATE_CALC(%対象日付%,"4 month")
 計算式2行目= DATE_CALC(%指定日%,"1 day")


Miyuki
2025/11/07 16:38

とてもわかりやすくレクチャーいただき、ありがとうございました!
ふゆきさんのおっしゃる通り、既存関数での対応は大っっっっっ変面倒でした…

そのまままるっと使わせていただきます!
神ありがとうございます…

>指定した日付の4ヶ月+1日後の日付を自動で反映させたいです。

この4カ月+1日後の日付計算を一度で行うのは、計算式の指定が難しそうなので、
日付計算プラグイン(無料)を用いる前提ですが、まず4か月後の応当日を計算させて、その結果にさらに1日プラスした日付を計算するという方法ではどうでしょう?



日付計算プラグイン https://www.tis2010.jp/datecalc/


Miyuki
2025/11/07 16:39

アドバイスいただき有難うございました!
一旦プラグインで対応し、後日改めて再チャレンジしたいと思います。

この度はありがとうございました。


Miyuki
2025/11/07 16:42

アドバイスいただき有難うございました!
一旦プラグインで対応し、後日改めて再チャレンジしたいと思います。

この度はありがとうございました。

こちらのサイトが参考になるかと思いますがいかがでしょうか??

https://kintone-faq.cybozu.co.jp/hc/ja/articles/40851203699865-%E3%81%86%E3%82%8B%E3%81%86%E5%B9%B4%E3%82%92%E8%80%83%E6%85%AE%E3%81%97%E3%81%A6N%E3%83%B6%E6%9C%88%E5%BE%8C%E3%81%AE%E6%97%A5%E4%BB%98%E3%82%92%E8%A8%88%E7%AE%97%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95%E3%82%92%E6%95%99%E3%81%88%E3%81%A6%E3%81%8F%E3%81%A0%E3%81%95%E3%81%84

また、スタンダードコースなのでプラグインを導入すればもっと簡単に設定できます。
以下無料のプラグインです。

https://www.tis2010.jp/datecalc/


Miyuki
2025/11/07 16:42

アドバイスいただき有難うございました!
一旦プラグインで対応し、後日改めて再チャレンジしたいと思います。

この度はありがとうございました。