You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Google Sheets按指定关键词筛选及恢复显示的宏脚本需求

Google Sheets 筛选与恢复显示宏脚本

一、按指定关键词筛选行的宏脚本

该脚本会隐藏所有不包含目标关键词的行,仅保留匹配内容的行。

function filterByKeyword() {
  // 替换为你的工作表名称
  const sheetName = "Sheet1";
  // 替换为关键词所在列(如A列写"A:A",B列写"B:B")
  const keywordColumn = "A:A";
  // 替换为你要筛选的目标关键词
  const targetKeyword = "目标关键词";

  const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(sheetName);
  const data = sheet.getDataRange().getValues();
  
  // 从第2行开始遍历(跳过表头行)
  for (let i = 2; i <= data.length; i++) {
    const columnIndex = keywordColumn.charAt(0).charCodeAt(0) - 65;
    const cellValue = data[i-1][columnIndex].toString();
    const shouldShow = cellValue.includes(targetKeyword);
    
    sheet.hideRows(i, 1);
    if (shouldShow) sheet.showRows(i, 1);
  }
}

使用步骤:

  • 打开目标Google表格,点击顶部菜单栏「扩展程序」>「Apps脚本」。
  • 删除编辑器默认代码,粘贴上述脚本。
  • 修改脚本中的sheetName、keywordColumn、targetKeyword为你的实际需求值。
  • 点击工具栏保存按钮,给函数命名(如filterByKeyword)。
  • 返回表格,点击「插入」>「绘图」,绘制按钮图形后保存,右键点击按钮选择「分配脚本」,输入函数名即可。

二、恢复显示所有行的宏脚本

该脚本会将所有被隐藏的行重新显示。

function showAllRows() {
  // 替换为你的工作表名称
  const sheetName = "Sheet1";
  const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(sheetName);
  const lastRow = sheet.getLastRow();
  
  // 显示第2行至最后一行(若表头在第1行)
  sheet.showRows(2, lastRow - 1);
}

使用步骤:

  • 在Apps脚本编辑器中粘贴上述代码,修改sheetName为你的工作表名称。
  • 保存函数并命名为showAllRows。
  • 插入新按钮,分配脚本showAllRows即可。

内容的提问来源于stack exchange,提问作者Arslan Agayev

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 20:50:30