回答編集履歴

1

コメントについて追記

2022/06/22 13:37

投稿

k.a_teratail
k.a_teratail

スコア845

test CHANGED
@@ -29,3 +29,54 @@
29
29
  ただし
30
30
  この方法は自身で「①~⑤」の値をシートに追記していく必要があるので
31
31
  あまりおすすめはしません。
32
+
33
+ ---
34
+
35
+ ## コメント追記分
36
+
37
+ > こちらにIF分を追加する場合、どのような記載にしたらようでしょうか?
38
+ ざっくりですが、コードに追加するなら、このような感じではないかと
39
+ 曜日の条件部分は曖昧なので、その部分はご自身で記載を
40
+
41
+ ```gs
42
+ ・・・省略・・・
43
+
44
+ // 追記
45
+ // ①~⑤の各カウンター
46
+ let counterArray = Array(0, 0, 0, 0, 0)
47
+
48
+ //年もしくは月のセルが更新されていたら実行
49
+ if (active_value == true) {
50
+
51
+ ・・・省略・・・
52
+ let cell_range = active_sheet.getRange(row_i + 3, col_i + 1)
53
+
54
+ // 追記
55
+ // 曜日を取得
56
+ let day = cellValues_calendar_data[row_i][col_i].getDay()
57
+ if (day === 0 || 当日が祝日か) {
58
+ // ④の条件
59
+ } else if (day === 1 || 前日が祝日か) {
60
+ // ①の条件
61
+ } else if (day === 5 && 当日が祝日か) {
62
+ // ②の条件
63
+ } else if (day === 6 || 次の日が祝日か) {
64
+ // ③の条件
65
+ } else {
66
+ // ⑤の条件
67
+ }
68
+
69
+ ・・・省略・・・
70
+
71
+ // 追記
72
+ // ①~⑥のカウンター値をセルに記載
73
+ counterArray.forEach(function(v, index) {
74
+ active_sheet.getRange(`D${index+11}`).setValue(v)
75
+ })
76
+ // ここはセルに直接SUM関数記入でも良いかと
77
+ active_sheet.getRange(`D16`).setValue(counterArray.reduce((sum, val) => {return sum + val}))
78
+
79
+ //祝日情報の入力を開始するセルの行番号
80
+ const holiday_str_row = 11;
81
+ ```
82
+