回答編集履歴

2

回答の追記

2018/08/08 07:35

投稿

macaron_xxx
macaron_xxx

スコア3191

test CHANGED
@@ -23,3 +23,41 @@
23
23
  ただし、deleteRowすると、それ以降の行番号が```getDataRange()```の際とずれてしまうので
24
24
 
25
25
  下から上に向かって処理する方がよさそうです。
26
+
27
+
28
+
29
+ ##追記
30
+
31
+ こんな感じじゃないですかね?(試してないけど)
32
+
33
+ ```js
34
+
35
+ for(var i = dat.length - 1; i >= 0; i--) {
36
+
37
+ if(dat[i][8] == "未完") {
38
+
39
+ var TestDate = dat[i][3];
40
+
41
+ if(TestDate < YMD){
42
+
43
+ mySheet.getRange(i + 1, 9).setValue("完了"); // 毎回APIを呼び出すことになるが…。
44
+
45
+ }
46
+
47
+ }
48
+
49
+ else if(dat[i][8] == "完了"){
50
+
51
+ var TestDate = dat[i][3];
52
+
53
+ if(TestDate < LastMonth){
54
+
55
+ mySheet.deleteRow(i + 1);
56
+
57
+ }
58
+
59
+ }
60
+
61
+ }
62
+
63
+ ```

1

リンクの修正

2018/08/08 07:35

投稿

macaron_xxx
macaron_xxx

スコア3191

test CHANGED
@@ -1,6 +1,6 @@
1
1
  まずはリファレンスを読むようにしましょう。
2
2
 
3
- https://developers.google.com/apps-script/reference/spreadsheet/sheet#deleteRow(Integer)
3
+ [https://developers.google.com/apps-script/reference/spreadsheet/sheet#deleteRow(Integer)](https://developers.google.com/apps-script/reference/spreadsheet/sheet#deleteRow(Integer))
4
4
 
5
5
 
6
6