はじめに
往々にして表計算ソフトでは、EDATE関数などの日付を計算する関数で、日数計算を行い運用するケースがあります。
この記事では、この要件をkintoneとカスタマインで満たせるようなカスタマイズの実現を目指したカスタマイズについて記載します。
元々運用されていた表計算ソフト
運用:入力された日付を元に表計算ソフトのEDATE関数(以下、EDATEと記載)で日付計算し設定している
ルール①:受注日にEDATEで契約月数を足し、終了日を自動計算する。
ルール②:終了日の1か月前をEDATEで自動計算し、リマインド日に設定する。
アプリの準備
まず、次の要領でアプリを作成してください。
※この記事内で必要となるフィールドのみ記載しています
取引先マスタ
※フィールド名とフィールドコードは同じものを指定
まずは計算式フィールドで自動計算してみる
まず、「受注日」フィールドをもとに、計算フィールドで計算式を用いて、まずは「終了日」の設定を試みました。
「注文管理」アプリで終了日を計算
課題:計算式が複雑になってしまう
kintoneでの日付の計算式は秒単位で指定する必要があるため、一見どのような計算をしているのかが分かりづらくなってしまう上に、1ヶ月は必ずしも30日ではないため、この計算式ではこれまでEDATEで算出していた日付と誤差が生じてしまいます。
ですが、カスタマインによるカスタマイズであればもっと簡単に、それこそEDATEで設定するような感覚で日付の設定ができます。
カスタマイズ
2アクションのカスタマイズを設定します。
まずは終了日を設定するカスタマイズです。
やること「日付を計算する」、条件「ルックアップで取得が成功した時」を用います。
続いて、リマインド日を設定するカスタマイズです。
やること「日付を計算する」、条件「他のアクションの実行が完了した時」を用います。
実行結果
kintoneの自動計算について
kintoneの基本機能でも、日付フィールドをもとに、計算フィールドで計算式を用いて「〇日後」といった日付の計算を行うことは可能ですが、日付フィールドの値はUNIX時刻(1970年1月1日午前0時0分0秒からの経過秒数)として扱われるため、計算式も秒単位で指定する必要があります。
例えば30日後の日付を入力したい場合、「日付+60*60*24*30」と入力する必要があります。(課題:計算式が複雑になってしまう)
ただし、kintoneの自動計算では固定の値しか入れる事ができず、必ず1か月後の日付とする事はできません(30日後や31日後など、決め打ちでの設定となってしまう)。
これに対し、カスタマインの[やること:日付を計算する]を用いれば、右辺値(月)と計算内容(〇か月後なのか〇年後なのか等)を設定するだけで、自動で月の日数を考慮した日数計算を実現でき、EDATEと同じ要領で日付が計算できます。
Excel関数とカスタマインの設定方法の対応
参考:1か月後(30日後)の日付を表示したい
うるう年を考慮してNヶ月後の日付を計算する方法を教えてください。
おわりに
この記事では、kintoneとカスタマインによるカスタマイズで、表計算ソフトのEDATE関数に似た動きとなるものを実現してみました。
どうでしたか? 数か月後などの値を設定したくなった時は、この記事を参考にしてみてください!
また、ご不明点等ございましたら、チャットにてご質問ください!




