gusuku Customine カスタマインの歩き方 Excel 関数とカスタマイン編
2. ミッションⅠ 現在の管理内容を損なわず、『注文管理』アプリの操作性を改善せよ!

2-2. EDATE関数のようなカスタマイズを実現するには

前の記事:2-1. VLOOKUP関数のようなカスタマイズを実現するには

次の記事:2-3. 表計算ソフトの条件付き書式のようなカスタマイズを実現するには


はじめに

往々にして表計算ソフトでは、EDATE関数などの日付を計算する関数で、日数計算を行い運用するケースがあります。


この記事では、この要件をkintoneとカスタマインで満たせるようなカスタマイズの実現を目指したカスタマイズについて記載します。


元々運用されていた表計算ソフト

運用:入力された日付を元に表計算ソフトのEDATE関数(以下、EDATEと記載)で日付計算し設定している

ルール①:受注日にEDATEで契約月数を足し、終了日を自動計算する。

ルール②:終了日の1か月前をEDATEで自動計算し、リマインド日に設定する。


アプリの準備

まず、次の要領でアプリを作成してください。

※この記事内で必要となるフィールドのみ記載しています

取引先マスタ

※フィールド名とフィールドコードは同じものを指定

フィールド名

フィールドタイプ

備考

受注日

日付


終了日

日付


リマインド日

日付



まずは計算式フィールドで自動計算してみる

まず、「受注日」フィールドをもとに、計算フィールドで計算式を用いて、まずは「終了日」の設定を試みました。


「注文管理」アプリで終了日を計算


課題:計算式が複雑になってしまう

kintoneでの日付の計算式は秒単位で指定する必要があるため、一見どのような計算をしているのかが分かりづらくなってしまう上に、1ヶ月は必ずしも30日ではないため、この計算式ではこれまでEDATEで算出していた日付と誤差が生じてしまいます。

例:受注日が2023年5月24日の場合

 ・上記計算式フィールドで計算した6ヶ月後の日付:2023年11月20日

 ・EDATEで計算した6ヶ月後の日付:2023年11月24日


ですが、カスタマインによるカスタマイズであればもっと簡単に、それこそEDATEで設定するような感覚で日付の設定ができます。


カスタマイズ

2アクションのカスタマイズを設定します。


まずは終了日を設定するカスタマイズです。

やること「日付を計算する」、条件「ルックアップで取得が成功した時」を用います。


続いて、リマインド日を設定するカスタマイズです。

やること「日付を計算する」、条件「他のアクションの実行が完了した時」を用います。


実行結果


kintoneの自動計算について

kintoneの基本機能でも、日付フィールドをもとに、計算フィールドで計算式を用いて「〇日後」といった日付の計算を行うことは可能ですが、日付フィールドの値はUNIX時刻(1970年1月1日午前0時0分0秒からの経過秒数)として扱われるため、計算式も秒単位で指定する必要があります。


例えば30日後の日付を入力したい場合、「日付+60*60*24*30」と入力する必要があります。(課題:計算式が複雑になってしまう)
ただし、kintoneの自動計算では固定の値しか入れる事ができず、必ず1か月後の日付とする事はできません(30日後や31日後など、決め打ちでの設定となってしまう)。


これに対し、カスタマインの[やること:日付を計算する]を用いれば、右辺値(月)と計算内容(〇か月後なのか〇年後なのか等)を設定するだけで、自動で月の日数を考慮した日数計算を実現でき、EDATEと同じ要領で日付が計算できます。


Excel関数とカスタマインの設定方法の対応

Excel関数(EDATE)

カスタマイン(やること)

開始日

日付を計算する

パラメーター:基準日

日付を計算する

パラメーター:右辺値,計算内容


参考:1か月後(30日後)の日付を表示したい

うるう年を考慮してNヶ月後の日付を計算する方法を教えてください。



おさらい:EDATE関数

関数の構文

=EDATE(開始日, 月) 


関数の説明 

開始日から起算して、指定された月数だけ前または後の日付に対応するシリアル値を返します。


引用 https://support.microsoft.com/ja-jp/office/edate-%E9%96%A2%E6%95%B0-3c920eb2-6e66-44e7-a1f5-753ae47ee4f5


おわりに

この記事では、kintoneとカスタマインによるカスタマイズで、表計算ソフトのEDATE関数に似た動きとなるものを実現してみました。


どうでしたか? 数か月後などの値を設定したくなった時は、この記事を参考にしてみてください!


ドキュメントサポートページもぜひご活用ください。

また、ご不明点等ございましたら、チャットにてご質問ください!


gusuku Customine カスタマインの歩き方 Excel 関数とカスタマイン編
2. ミッションⅠ 現在の管理内容を損なわず、『注文管理』アプリの操作性を改善せよ!

2-2. EDATE関数のようなカスタマイズを実現するには

前の記事:2-1. VLOOKUP関数のようなカスタマイズを実現するには

次の記事:2-3. 表計算ソフトの条件付き書式のようなカスタマイズを実現するには