回答編集履歴

1 spreadsheetをsheetに統一

teritama

teritama score 116

2019/02/12 08:27  投稿

シートのデータを並べ替えても良ければ、
行の削除が一度で済むので、処理時間が短縮されると思います。
```JavaScript
function myFunction1() {
   var spreadsheet = SpreadsheetApp.getActive();  
   var sheet = SpreadsheetApp.getActiveSheet();
   // A列(日付)を基準に昇順に並び替える
   sheet.sort(1);
   var checkrows = sheet.getDataRange().getValues();
   var today = new Date();
   var before30Date = new Date(today.getYear(), today.getMonth(), today.getDate() - 30);
   for (var i = checkrows.length - 1; i >= 0; i--) {
       // 30日前までの行を一度で削除
       if (checkrows[i][0] < before30Date) {
           spreadsheet.deleteRows(i + 2, checkrows.length - i - 1);
           sheet.deleteRows(i + 2, checkrows.length - i - 1);
           break;
       }
   }
};
```

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る