みんなの投稿

備品管理のアプリを作成中です。
保管開始日と保管期限(担当者が任意で設定)と最長保管期限(年度末 これは決まり)があります。

例えば、2025/7/1に保管開始した場合、年度末の2026/3/31が最長の保管期限となります。

年度、月、日の3つのフィールドがあり、
保管開始日を登録すると、自動的に一番近い年度末が出てくるようにしています。(年度:2026、月:3、日:31)
それぞれのフィールドを繋いで2026/3/31とし、最長保管期限を自動的に取得することはできないでしょうか。
もしくは、保管開始日を入力したら自動的に最長保管期限(年度末)がとれたらいいのですが・・・

お知恵お借りしたくよろしくお願いいたします。



💡記載いただくと良いポイント
・ご契約中のコース :スタンダード
・プラグインはTIS様の各種プラグイン他(無料のプラグインであれば導入可能)
・JSは社内規定により使用できません。

どうぞよろしくお願いいたします。

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

お疲れ様です。



年、月、日が数字フィールド、最長保管期限(年月日)を計算フィールドで日付(例:2012-08-06)として、計算式を考えてみました。

 基本的に、最終保管期限の月日は年度末である3/31で固定のはずなので、年度と月さえ分かれば、最長保管期限の年月日は出せそうです。
(月が4~12月なら翌年、1~3月なら今年の3/31)

 そのうえで、kintoneの日付フィールドは1970年1月1日0時0分0秒からの経過秒数で表す事となるため、今年3月31日か翌年3月31日を秒数に換算する必要が出てきます。

 うるう年を加味しつつ、これらを計算式にすると、以下のようになります。

ROUNDDOWN(((365 * (年+IF(月>3,1,0)) + ROUNDDOWN((年+IF(月>3,1,0)) / 4) - ROUNDDOWN((年+IF(月>3,1,0)) / 100) + ROUNDDOWN((年+IF(月>3,1,0)) / 400) + ROUNDDOWN(306 * (3 + 1) / 10) - 428 + 31) - 719163) * 24 *60 * 60)



年度、月、日の場合は、月に関わらず最長保管期限(年月日)は(年度+1)/3/31になるので、下記の式となります。

ROUNDDOWN(((365 * (年度+1) + ROUNDDOWN((年度+1) / 4) - ROUNDDOWN((年度+1) / 100) + ROUNDDOWN((年度+1) / 400) + ROUNDDOWN(306 * (3 + 1) / 10) - 428 + 31) - 719163) * 24 *60 * 60)



お試しください。

TISの「条件分岐プラグイン」で日付に関する関数が設定可能です。ぜひお試しください。

保管開始日を登録すると、自動的に一番近い年度末が出てくるようにしています。

これが出来ているなら、
①[最長保管期限]フィールドを自動計算付き文字列(1行)フィールドにして、
②-a.計算式に 「年度 & "/" & 月 & "/" & 日」 と書くか、
②-b.年度末が2月でない限り、また御社として年度末月の変更が無い限り、「3/31」とか「6/30」(@弊社)とか決まってるので、計算式に「年度 & "/3/31"」 と書くか、
②-c.[年度]フィールドを数値のママにしておいて、”/3/31”を単位として後置する。
というのはいかがでしょうか。

生成AIさんに訊いてみましたが、「保管開始日を入力したら、直接最長保管期限(年度末)を算出する」のはJSカスタマイズが激推しだそうですが、キン小判さんのカスタマイズ要件では❌ですね。


こんなこと言っていいのかわからないのですが、生成AIで得た回答をそのまま質問者さんに返すのはどうなんでしょう?
その回答をご自身で試してしっかりもんだうえで回答されたほうがいいような気がします。
「&」がkintoneの計算式でちゃんと狙った表示されるのでしょうか・・・

通りすがりにすいません。

生成AIの回答を要約して載せたのは、後段の「年度末日直接算出…」のところだけで、前段の式のところは完全オリジナル発想ですよ。

過去、数値フィールドの値を「&」で繋いで文字列(1行)フィールドに計算表示させた経験があったので、あらためて検証せずに書いてしまいましたがね💦
(ご指摘受けたので、後追いで検証してみましたが、どれも狙い通りでした😮‍💨)

行き違いがありましたらすみません🙇🏻
(もっと文章力上げないとですね🤔)

失礼しました。
気になったのが最初にコメント見たときに & の後に「amp;」とついていたのですがなくなってますね。
僕のコメントもamp ;がなくなってます。

ふゆき
製造業
2025/07/03 00:06

きったん さん (通りすがりに、横から失礼します)

何か勘違いされていませんか?

「&」がkintoneの計算式でちゃんと狙った表示されるのでしょうか・・・

キン小判 さんの投稿抜粋

保管開始日を登録すると、自動的に一番近い年度末が出てくるようにしています。(年度:2026、月:3、日:31)

で、
デフォルトの場合、普通に文字結合の場合は「&」だと思います
(下記②以外のフィールドを除いて)

補足
任意の文字やスペース(空白)を追加するには半角の「" "」を使います。

「&」演算子で結合できるフィールド

文字表示でよいのなら、これが一番簡単ですよ

ただ、文字列フィールドなので日付としての認識はしませんので
リマインダなどの通知には使えないですけど...(≠日付)

気になったのが最初にコメント見たときに & の後に「amp;」とついていたのですがなくなってますね。

そっちでしたか😅
これ、「マークダウン記法@キンコミエディター」のあるあるですね。

キンコミエディターにおいて、コードブロックというマークダウン記法があります。
ベタ書きすると強調や斜体などの装飾コードに誤認識されてしまう(※)半角アスタリスクを、式としてそのままコピペして転用できるように、式全体を半角バッククオートでラップするものですが、半角アンパサンドをコードブロックすると「&」に変換されてしまう不具合が確認できています。

演算子 コードブロック ベタ書き
半角アスタリスク(半角スペースあり) 幅 * 高さ * 奥行 幅 * 高さ * 奥行
半角アスタリスク(半角スペースなし) 幅*高さ*奥行 高さ奥行
半角アンパサンド(半角スペースあり) 文字列1 & 文字列2 文字列1 & 文字列2
半角アンパサンド(半角スペースなし) 文字列1&文字列2 文字列1&文字列2

この不具合は、キンコミエディターの仕様変更によっていつの頃かに”発生するようになってしまった”ものです。
キンコミエディターのマークダウン記法対応状況は公式に発表されていないので、「記法で書いて投稿してみて⇒まだ未対応だったーとなったら、ベタ書きなどに修正する。」といった対応しか採れないのが現状です。

きったんさん、この「記法で書いて修正」の過程(ある意味、「試してしっかりもんだうえで回答」してることになるのかな🤔)をご覧になったということになりますね。

キンコミの主旨とは全く関係ないところなのでご参考まで