計算式プラグインで、期間計算を行ってみます。
概要
DATE_DIFF、DURATION_FORMAT 関数を使うと 1年3ヶ月18日のような、期間計算を簡単に設定できます。
操作例
計算式プラグインの設定
DATE_DIFF 関数で、この期間は何日かは求めることができますが、何年何ヶ月と何日のような計算はできません。
このような計算は、DURATION_FORMAT 関数を使うと簡単に変換できます。
「期間」の設定内容
- IF(AND(開始日,終了日), // 開始日と終了日が入力済みの場合、
- DURATION_FORMAT( // ミリ秒の値を指定した書式に変換
- DATE_DIFF(開始日,終了日,"milliseconds"), // 開始日と終了日の期間をミリ秒に変換
- "$%Y年@Mヶ月@D日" // 1年3ヶ月18日のような書式を指定
- )
- DURATION_FORMAT( // ミリ秒の値を指定した書式に変換
- )
DATE_DIFF、DURATION_FORMAT 関数のオプション
- DATE_DIFF(項目|"TODAY", 項目|"TODAY", type) :日付差分関数
- type:"years", "months", "weeks", "days", "hours", "minutes", "seconds", "milliseconds"
- DURATION_FORMAT(項目, format) :期間関数 (指定単位の数値を取得)
- "$": 期間がマイナスの場合、"-"を表示
- "#Y", "#M", "#D", "#H", "#m", "#s": 指定単位に変換TOTAL(小数を含む)
- "%Y", "%M", "%D", "%H", "%m", "%s": 指定単位に変換TOTAL(小数を含まない)
- "@Y", "@M", "@D", "@H", "@m", "@s": 指定単位に変換
- "HH", "MM", "SS": 指定単位を取得(2桁表示)
.js
// 期間 SINGLE_LINE_TEXT
IF(AND(開始日,終了日),
DURATION_FORMAT(
DATE_DIFF(開始日,終了日,"milliseconds"),
"$%Y年@Mヶ月@D日"
)
)
// 年 NUMBER
IF(AND(開始日,終了日),
DURATION_FORMAT(
DATE_DIFF(開始日,終了日,"milliseconds"),
"$%Y"
)
)
// 月 NUMBER
IF(AND(開始日,終了日),
DURATION_FORMAT(
DATE_DIFF(開始日,終了日,"milliseconds"),
"@M"
)
)
// 日 NUMBER
IF(AND(開始日,終了日),
DURATION_FORMAT(
DATE_DIFF(開始日,終了日,"milliseconds"),
"@D"
)
)
// 期間日数 NUMBER
DATE_DIFF(開始日,終了日,"day")