gpt4 book ai didi

javascript - Google 表格 - 根据日期删除过期行

转载 作者:行者123 更新时间:2023-12-02 13:49:29 31 4
gpt4 key购买 nike

我目前正在尝试制作一个脚本或任何能够删除 C 列中给定日期之后的行的脚本。

该网站是一个赠品网站,因此我需要在 C 列指定的日期过去后自行删除行/条目。

例如:如果赠品的到期日期为 @ 20/13/2016,一旦该日期达到 20/13/2016,它将删除该行。我遵循 dd/mm/yy 公制系统作为注释。

我在 Google Sheets - Script to delete date expired rows 看到了类似的问题但该代码无法满足我的需求。

这是另一个问题中使用的代码。

 var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName("Foglio1");
var datarange = sheet.getDataRange();
var lastrow = datarange.getLastRow();
var values = datarange.getValues();// get all data in a 2D array

var currentDate = new Date();
var oneweekago = new Date();
oneweekago.setDate(currentDate.getDate() - 7);

for (i=lastrow;i>=2;i--) {
var tempdate = values[i-1][2];// arrays are 0 indexed so row1 = values[0] and col3 = [2]

if(tempdate < oneweekago)
{
sheet.deleteRow(i);
}
}
}

如果您可以更改它以满足我的上述需求,我将不胜感激!

最佳答案

假设您的日期如所述位于 C 列中,这应该可以实现。调整仅针对我们比较的日期并处理缺失的日期。为了便于阅读,我还弄乱了一些名称的大小写。

function DeleteOldEntries() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName("Live Events");//assumes Live Events is the name of the sheet
var datarange = sheet.getDataRange();
var lastrow = datarange.getLastRow();
var values = datarange.getValues();// get all data in a 2D array

var currentDate = new Date();//today

for (i=lastrow;i>=3;i--) {
var tempDate = values[i-1][2];// arrays are 0 indexed so row1 = values[0] and col3 = [2]
if ((tempDate!=NaN) && (tempDate <= currentDate))
{
sheet.deleteRow(i);
}//closes if
}//closes for loop
}//closes function

关于javascript - Google 表格 - 根据日期删除过期行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41114435/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com