0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

rex0220 計算式プラグイン 期間計算

Last updated at Posted at 2023-11-03

計算式プラグインで、期間計算を行ってみます。

概要

DATE_DIFF、DURATION_FORMAT 関数を使うと 1年3ヶ月18日のような、期間計算を簡単に設定できます。

2023-11-03_23h27_05.png

操作例

2023-11-03_23h28_36.gif

計算式プラグインの設定

DATE_DIFF 関数で、この期間は何日かは求めることができますが、何年何ヶ月と何日のような計算はできません。
このような計算は、DURATION_FORMAT 関数を使うと簡単に変換できます。

「期間」の設定内容

  • IF(AND(開始日,終了日), // 開始日と終了日が入力済みの場合、
    • DURATION_FORMAT( // ミリ秒の値を指定した書式に変換
      • DATE_DIFF(開始日,終了日,"milliseconds"), // 開始日と終了日の期間をミリ秒に変換
      • "$%Y年@Mヶ月@D日" // 1年3ヶ月18日のような書式を指定
    • )
  • )

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桁表示)

2023-11-04_22h09_55.png

.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")
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?