Google Apps Script移至B列后失效,如何修复以自动隐藏值为1的行?
修复Google Apps Script隐藏B列值为1的行的问题
你原本的脚本用于自动隐藏A列值为1的行,当目标值移到B列(如下截图所示)后脚本失效,核心原因是数组列索引对应错误。

Google Apps Script中,getValues()返回的二维数组里,列索引从0开始计数:A列对应索引0,B列对应索引1。你只需要修改判断条件中的列索引即可修复。
修复后的完整代码:
function HideRowsEqualTo1Only() { var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); var range = sheet.getDataRange(); var numRows = range.getNumRows(); var values = range.getValues(); for (var i = 0; i < numRows; i++) { if (values[i][1] == 1) { // 切换为检查B列(第二列)的值 sheet.hideRows(i + 1); // 表格行号从1开始,数组索引需+1转换 } else { sheet.showRows(i + 1); } } }
核心修改点:
- 将判断条件中的
values[i][0]替换为values[i][1],对应B列的单元格数据 - 建议同步更新注释内容,方便后续维护时快速识别目标列
如果后续需要切换到其他列,只需按A→0、B→1、C→2的规律调整索引数字即可。
内容的提问来源于stack exchange,提问作者Poch
相关产品推荐
相关产品推荐

