如何通过Google Apps Script删除Google Sheet符合指定列条件的行
Google Sheet 条件删除行实现代码
核心注意点:删除行时需要从下往上倒序遍历,避免行号偏移导致漏删
完整实现代码如下:
function deleteEachRow(){ let tempSheet = SpreadsheetApp.getActiveSpreadsheet(); let sheet = tempSheet.getSheetByName("Intermediate"); var RANGE = sheet.getDataRange(); var rangeVals = RANGE.getValues(); // 倒序遍历,从最后一行开始执行删除操作 for (let i = rangeVals.length - 1; i >= 0; i--) { // getValues返回的二维数组下标从0开始,rangeVals[i][11]对应表格第12列,rangeVals[i][12]对应表格第13列 const col11Val = rangeVals[i][11]; const col12Val = rangeVals[i][12]; // 匹配你要求的判断条件 if (col11Val !== "" && col12Val === 'completed') { // 数组下标+1对应表格的实际行号 sheet.deleteRow(i + 1); } } }
补充说明
- 如果你的表格第一行是表头不需要参与判断,把循环终止条件修改为
i >= 1即可,自动跳过第一行 - 如果匹配的列对应关系和你预期不符,调整
rangeVals[i]后的下标即可 - 数据量超过1000行时建议先收集所有需要删除的行号再批量删除,减少API调用次数提升运行效率
内容的提问来源于stack exchange,提问作者chewie
相关产品推荐
相关产品推荐

