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 計算式プラグイン 6ヶ月後の前日

Last updated at Posted at 2023-07-08

計算式プラグインで6ヶ月後の前日計算を行ってみました。

概要

結果が分かりやすいように、テーブルに日付、6ヶ月後、6か月後の前日を表示します。
開始日付、終了日付に指定した範囲をテーブルに展開します。
「6ヶ月後の前日」の計算式は、下記のように簡単に記述できます。

  • 計算式の例
    DATE_ADD(DATE_ADD(日付,6,"month"),-1,"day") // 6ヶ月後の前日

2023-07-08_23h07_51.png

画面レイアウト

開始日付と終了日付。テーブルには、番号と日付を並べます。

2023-07-08_23h06_26.png

計算式プラグイン設定

開始日付と終了日付の日数をテーブル行数にします。
日付は、開始日付にテーブル行位置を加算
※「日付_6ヶ月後の前日」の計算式は LET 関数を使っています。

2023-07-08_23h05_55.png

.js
// テーブル
DATE_DIFF(開始日付,終了日付,"days")+1

// 番号
ROWNO(テーブル)+1

// 日付
DATE_ADD(開始日付,ROWNO(テーブル),"day")

// 日付_6ヶ月後
DATE_ADD(日付,6,"month")

// 日付_6ヶ月後の前日
LET(
  a,DATE_ADD(日付,6,"month"),  // 6ヶ月後
  DATE_ADD(a,-1,"day")  // 6ヶ月後の前日
)

LET 関数の解説

LET 関数で変数を使うと、ネストが深い計算式を分かりやすく記述できます。

LET 関数を使わない例.js
DATE_ADD(DATE_ADD(日付,6,"month"),-1,"day") // 6ヶ月後の前日

変数a に6ヶ月後の日付を入れて、a の前日を求めます。

LET 関数を使った例.js
LET(
  a,DATE_ADD(日付,6,"month"),  // 6ヶ月後
  DATE_ADD(a,-1,"day")  // 6ヶ月後の前日
)

DATE_ADD 関数(日付加算)の解説

日付、日時に指定した単位(type)の値を加算します。
マイナスの値を加算することで、減算できます。

  • DATE_ADD(formula|"TODAY", num, type[, format])
    • formula : fieldcode, string, number, "TODAY"
      • fieldcode: 日付
      • string: (ex:"2023-07-12")
      • number: (ex:1689151920) ※ "2023-07-12" の UNIX時間
      • "TODAY": 本日の日時 "YYYY-MM-DD HH:MM"
    • num: 数値、formula
    • type : "year", "month", "week", "day", "hour", "minute", "second"
    • format : default("YYYY-MM-DD")
      • ※DATE_ADDは、moment.js というライブラリを使っており、その書式が使えます。
      • moment.js の書式
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?