1
0

rex0220 プラグイン 休暇届で休日を除いた日数計算

Last updated at Posted at 2023-12-16

rex0220 プラグインを使って、休暇届で休日を除いた日数計算を行います

概要

休暇届アプリで、休日アプリを参照し、休日を除いた日数計算を行います。
開始日と終了日からテーブルに休暇届用の日付を展開して、期間内の休暇がわかりやすくします。

screencapture-devenxyfi-cybozu-k-2790-show-2023-12-16-14_14_39 (1).png

操作例

2023-12-16_15h05_03.gif

使用するプラグイン

  • アプリ集計プラグイン
    • 休日アプリから休日データを取得
  • 計算式プラグイン
    • 開始日と終了日からテーブルに日付を展開
    • 有給日数、慶弔日数、欠勤日数、休暇日数の計算
    • 日付から曜日を計算
    • 休日テーブルから休日区分をセット
    • 休暇区分の自動セット
  • 項目検証プラグイン
    • 開始日・終了日のチェック
    • 休暇区分の必須チェック
  • ちょっと便利なプラグイン
    • テーブルヘッダ部を固定表示
  • 休日プラグイン
    • 休日アプリで、祝日を取得

アプリ集計プラグイン

  • 休日アプリから休日データを取得

2023-12-16_15h22_42.png

  • 対象アプリ条件
    開始日と終了日の期間内の休日レコードを取得します。

2023-12-16_15h21_01.png

  • テーブル項目
    開始日と終了日の期間内の休日データを取得します。

2023-12-16_15h23_13.png

計算式プラグイン

  • 開始日と終了日からテーブルに日付を展開
  • 有給日数、慶弔日数、欠勤日数、休暇日数の計算
  • 日付から曜日を計算
  • 休日テーブルから休日区分をセット
  • 休暇区分の自動セット

2023-12-16_15h17_17.png

計算式プラグイン.js
// 終了日 DATE (editable)
IF(開始日>終了日,開始日,終了日)

// 有給日数 NUMBER
COUNTIF(休暇区分T="有給",1)

// 慶弔日数 NUMBER
COUNTIF(休暇区分T="慶弔",1)

// 欠勤日数 NUMBER
COUNTIF(休暇区分T="欠勤",1)

// 休暇日数 NUMBER
SUM(有給日数,欠勤日数)

// 休暇申請 SUBTABLE
DATE_DIFF(開始日,終了日,"days")+1

// 休暇申請.#:行番号 NUMBER
ROWNO(休暇申請)+1

// 休暇申請.日付:日付T DATE
DATE_ADD(開始日,ROWNO(休暇申請),"day")

// 休暇申請.曜日:曜日T SINGLE_LINE_TEXT
LET(
  weekdayNum, DATE_FORMAT(日付T, "e"),
  SUBSTR("日月火水木金土", weekdayNum, 1)
)

// 休暇申請.休日区分:休日区分T SINGLE_LINE_TEXT
IF(IN(曜日T,"",""),"休日")&
LET(dt,日付T,
  FIRSTIF(dt=日付,休日区分&"("&休日&")")
)

// 休暇申請.休暇区分:休暇区分T DROP_DOWN (editable)
IFS(
  IN(曜日T,"",""),"",
  休日区分T,"",
  休暇区分T,休暇区分T,
  "有給"
)

項目検証プラグイン

  • 開始日・終了日のチェック
  • 休暇区分の必須チェック

2023-12-16_15h15_58.png

ちょっと便利なプラグイン

  • テーブルヘッダ部を固定表示

2023-12-16_15h18_40.png

1
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
1
0