亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

根據相鄰行中存在的日期刪除行

根據相鄰行中存在的日期刪除行

繁花不似錦 2022-10-27 15:10:28
我在工作表的第五列中有日期。function deleteOldData() {  var ss = SpreadsheetApp.getActiveSpreadsheet();  var sheet = ss.getSheetByName("Sheet1");  var datarange = sheet.getDataRange();  var lastrow = datarange.getLastRow();  var values = datarange.getValues();  var currentDate = new Date();  var daysago = new Date().setDate(currentDate.getDate() - 5);  daysago = new Date(Date.parse(daysago))  Logger.log(daysago)  for (i=lastrow;i>=2;i--) {var tempdate = sheet.getRange(i, 5).getValue();if(tempdate < daysago)  {      sheet.deleteRows(2, i);      break;    }  }}我正在使用此代碼刪除從今天開始日期少于 5 天的行。它應該只刪除那些從今天開始日期少于 5 天的行,但它正在刪除所有行,除了我在代碼中省略的標題。我的工作表中的日期如下所示:7/1/2020 18:28:05
查看完整描述

1 回答

?
茅侃侃

TA貢獻1842條經驗 獲得超21個贊

回答:

您需要使用deleteRow()而不是deleteRows().

更多信息:

根據文檔

deleteRows(rowPosition, howMany)

刪除從給定行位置開始的多行。

var ss = SpreadsheetApp.getActiveSpreadsheet();

var sheet = ss.getSheets()[0];

// Rows start at "1" - this deletes the first two rows

sheet.deleteRows(1, 2);

因此,當您打電話時,sheet.deleteRows(2, i);您將刪除多行,從第 2 行開始,然后再完成i行 - 這可能高達lastrow.

代碼修改:

您也不需要使用break關鍵字 - 一旦第一次滿足條件,這將停止整個循環if,而不是繼續刪除日期超過五天的所有行。

我還清理了一些功能:

  • 由于您已經從工作表中獲取數據并將其存儲在 中values,因此您無需再次獲取數據tempdate- 您可以直接從values數組中分配它。

  • 為了使日期比較更精確,可以從日期對象中提取確切的時間戳,而不是使用諸如此類的東西getDate() - 5

function deleteOldData() {

  var ss = SpreadsheetApp.getActiveSpreadsheet();

  var sheet = ss.getSheetByName("Sheet1");

  var datarange = sheet.getDataRange();

  var lastrow = datarange.getLastRow();

  var values = datarange.getValues();

  

  var currentDate = new Date().getTime();

  var daysago = (new Date().getTime() - 432000000);

    

  for (var i = lastrow; i > 1; i--) {

    var tempdate = values[i - 1][4];

 

    if((new Date(tempdate).getTime()) < daysago)  {

      sheet.deleteRow(i);

    }

  }

}


查看完整回答
反對 回復 2022-10-27
  • 1 回答
  • 0 關注
  • 126 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號