如何修改Google Script从末尾开始删除匹配活动单元格值的行?
修改Google脚本实现从下往上删除匹配行
你的原脚本使用indexOf()从数组开头(对应表格的顶部行)查找匹配值,要实现从表格最后一行开始向上查找并删除第一个匹配条目,只需要将查找方法替换为lastIndexOf()即可,具体修改如下:
function deleteshift() { let ss = SpreadsheetApp.getActiveSpreadsheet(); let sheet = ss.getSheetByName('main'); let dataSheet = ss.getSheetByName('deletDB'); let existingId = sheet.getActiveCell().getValue(); let existing = dataSheet.getRange(2,6,dataSheet.getLastRow()-1).getValues().flat(); // 替换为lastIndexOf,从数组末尾(对应表格最后一行)开始查找第一个匹配项 let index = existing.lastIndexOf(existingId); if (index != -1) { dataSheet.deleteRow(index + 2); } }
关键改动说明
lastIndexOf()方法会从数组的最后一个元素(对应deletDB表的最后一行第6列)开始反向查找,返回第一个匹配元素在数组中的索引- 由于数组
existing是从表格第2行开始提取的,所以匹配元素对应的表格行号为index + 2,直接调用deleteRow()即可删除目标行
内容的提问来源于stack exchange,提问作者John Kater
相关产品推荐
相关产品推荐

