我基本上试图拥有一个函数,如果“D”列日期已经过去,它将删除一行,这样它就可以每天早上更新
到目前为止我已经
function UntitledMacro() {
var spreadsheet = SpreadsheetApp.getActive();
spreadsheet.getRange('A2:G185').activate()
.sort([{column: 4, ascending: true}, {column: 1, ascending: true}, {column: 5, ascending: true}]);
}
我目前正在使用非常简单的lol,它用于排序,但想添加附加功能。
时间戳 | 电子邮件地址 | 姓名:姓、名 | 选择您可以接到电话的日期: | 什么转变? | 首选联系方式: | 联系电话 |
---|---|---|---|---|---|---|
2024年11月17日19:54:58 | [电子邮件受保护] | 约翰·多伊 | 2024 年 11 月 16 日 | 白班 | 文字 | 385-123-4568 |
2024年11月14日16:30:38 | [电子邮件受保护] | 多伊,简 | 2024 年 11 月 17 日 | 夜班 | 致电 | 385-123-4568 |
function deleteCompletedRow() {
const ss = SpreadsheetApp.getActiveSpreadsheet();
const sheet = ss.getSheetByName("Sheet1");
const sheetData = sheet.getDataRange().getValues();
const sheetDataHeaders = sheetData[0];
for (let i = sheetData.length - 1; i > 0; i--) {
if (sheetData[i][sheetDataHeaders.indexOf("Detail")] == "Completed") {
sheet.deleteRow(i + 1);
}
^是我从推荐链接导入的内容,如果我将标题切换到“详细信息”并填写完成的列,它也不会删除它,它会将其排序到底部,但这可能是因为我需要添加它在其他功能之前?
您想要删除 D 列中的日期小于今天日期的行。
考虑这个答案:
var today = new Date()
- 获取今天的日期for (var r=(+sheetData.length-1);r>0;r--){
- 从下到上循环数据,这样索引号就不会被打乱var shiftDate = sheetData[r][3]
- 这是 D 列中的值if (shiftDate.valueOf() < today.valueOf()) {
- 使用 valueOf (Date.prototype.valueOf()) 将班次日期与今天的日期进行比较。sheet.deleteRow(+r+1)
- 删除行
function deleteOldRows() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName("Sheet1");
var sheetData = sheet.getDataRange().getValues();
console.log("length of sheetdata = "+sheetData.length)
var today = new Date()
// loop through the rows from bottom to top
for (var r=(+sheetData.length-1);r>0;r--){
var shiftDate = sheetData[r][3]
//Logger.log("row = "+r+", the date = "+shiftDate+", value = "+shiftDate.valueOf())
if (shiftDate.valueOf() < today.valueOf()) {
Logger.log("delete this row"+"row = "+r+", the date = "+shiftDate+", value = "+shiftDate.valueOf())
sheet.deleteRow(+r+1);
}else{
Logger.log("dont delete this row"+"row = "+r+", the date = "+shiftDate+", value = "+shiftDate.valueOf())
}
}
}
示例 - 之前
示例 - 之后