回答編集履歴
2
回答の追記
answer
CHANGED
@@ -10,4 +10,23 @@
|
|
10
10
|
(配列の行番号とシートの行番号はずれている。)
|
11
11
|
|
12
12
|
ただし、deleteRowすると、それ以降の行番号が```getDataRange()```の際とずれてしまうので
|
13
|
-
下から上に向かって処理する方がよさそうです。
|
13
|
+
下から上に向かって処理する方がよさそうです。
|
14
|
+
|
15
|
+
##追記
|
16
|
+
こんな感じじゃないですかね?(試してないけど)
|
17
|
+
```js
|
18
|
+
for(var i = dat.length - 1; i >= 0; i--) {
|
19
|
+
if(dat[i][8] == "未完") {
|
20
|
+
var TestDate = dat[i][3];
|
21
|
+
if(TestDate < YMD){
|
22
|
+
mySheet.getRange(i + 1, 9).setValue("完了"); // 毎回APIを呼び出すことになるが…。
|
23
|
+
}
|
24
|
+
}
|
25
|
+
else if(dat[i][8] == "完了"){
|
26
|
+
var TestDate = dat[i][3];
|
27
|
+
if(TestDate < LastMonth){
|
28
|
+
mySheet.deleteRow(i + 1);
|
29
|
+
}
|
30
|
+
}
|
31
|
+
}
|
32
|
+
```
|
1
リンクの修正
answer
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
まずはリファレンスを読むようにしましょう。
|
2
|
-
https://developers.google.com/apps-script/reference/spreadsheet/sheet#deleteRow(Integer)
|
2
|
+
[https://developers.google.com/apps-script/reference/spreadsheet/sheet#deleteRow(Integer)](https://developers.google.com/apps-script/reference/spreadsheet/sheet#deleteRow(Integer))
|
3
3
|
|
4
4
|
deleteRowは引数に行番号を取ります。
|
5
5
|
よって
|