如何在Google Apps Script中新增筛选:在颜色筛选基础上匹配K列TMO
修改后的Google Apps Script代码(新增K列"TMO"文本匹配逻辑)
原代码仅通过A列背景色筛选显示行,现在新增K列文本匹配要求——只有同时满足以下两个条件的行才会保留显示,其余行将被隐藏:
- A列单元格背景色为
#f1c232 - 对应行K列的文本为
TMO
完整代码如下:
function TmoSuspended () { var ss = SpreadsheetApp.getActive().getSheetByName("Boost Prod Account Info"); var last_row = ss.getLastRow(); // 获取A列所有行的背景色 var bgColors = ss.getRange(1, 1, last_row, 1).getBackgrounds(); // 获取K列所有行的文本内容 var kColumnValues = ss.getRange(1, 11, last_row, 1).getValues(); var allRows = ss.getRange("A:A"); // 先取消所有行的隐藏状态 ss.unhideRow(allRows); // 从第8行开始遍历(保留原代码起始行逻辑) for (let i = 8; i <= last_row; i++) { // 数组索引从0开始,行号i对应数组索引为i-1 var isBgMatch = bgColors[i-1][0] === "#f1c232"; var isKColumnMatch = kColumnValues[i-1][0] === "TMO"; // 两个条件任意一个不满足,就隐藏该行 if (!isBgMatch || !isKColumnMatch) { ss.hideRows(i); } } }
关键修改说明
- 新增
kColumnValues变量,获取K列(第11列)的所有文本值 - 调整循环内的判断逻辑,加入K列文本匹配的校验
- 修正原代码中数组索引与行号的对应错误(原代码
array[i]对应行号逻辑偏差,现已修正为行号i对应数组索引i-1)
内容的提问来源于stack exchange,提问作者Nick Trader
相关产品推荐
相关产品推荐

