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

如何通过Google Script基于复选框值隐藏表格列并批量显隐

Google Sheets 列自动隐藏+一键显隐实现方案

1. 勾选复选框自动隐藏对应列

通过onEdit简单触发器实现,编辑单元格时自动判断触发条件,无需手动操作:

function onEdit(e) {
  const currentSheet = e.range.getSheet();
  // 替换为你自己的工作表名称,避免其他表误触发功能
  if (currentSheet.getName() !== "生产计划表") return;

  const triggerRow = 5;
  const startCol = 13; // M列对应的列号,A列计数为1
  const editRow = e.range.rowStart;
  const editCol = e.range.columnStart;

  // 仅响应第5行、M列及以后的复选框编辑操作
  if (editRow !== triggerRow || editCol < startCol) return;

  // 勾选(值为TRUE)时隐藏列,取消勾选则显示列
  e.value === "TRUE" 
    ? currentSheet.hideColumns(editCol) 
    : currentSheet.showColumns(editCol);
}

脚本保存后该功能自动生效,不需要额外绑定操作。

2. 一键显隐自定义功能

两个独立函数,可绑定到表格按钮实现快速操作:

一键显示所有M列及以后的隐藏列

function showAllColumns() {
  const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("生产计划表");
  const lastCol = sheet.getLastColumn();
  const startCol = 13;
  // 遍历M列到最后一列,全部设置为显示
  for (let col = startCol; col <= lastCol; col++) {
    sheet.showColumns(col);
  }
  SpreadsheetApp.getUi().alert("所有列已显示,可开始编辑内容");
}

一键按复选框状态重新隐藏列

修改完内容后点击执行,会自动把第5行已勾选的列重新隐藏:

function reHideCheckedColumns() {
  const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("生产计划表");
  const lastCol = sheet.getLastColumn();
  const startCol = 13;
  // 批量获取第5行所有复选框状态,减少API调用提升运行速度
  const checkStatus = sheet.getRange(5, startCol, 1, lastCol - startCol + 1).getValues()[0];
  checkStatus.forEach((isChecked, offset) => {
    const currentCol = startCol + offset;
    isChecked ? sheet.hideColumns(currentCol) : sheet.showColumns(currentCol);
  });
  SpreadsheetApp.getUi().alert("已按勾选状态更新列显隐");
}

3. 部署操作步骤

  • 打开目标表格,点击顶部菜单栏「扩展程序」→「Apps Script」打开脚本编辑器
  • 删除编辑器内默认的空白代码,把上面三段代码全部粘贴进去,把代码中所有"生产计划表"替换为你实际使用的工作表名称
  • 点击顶部保存按钮,给脚本项目任意命名(比如“生产计划表工具”),保存后关闭脚本编辑器回到表格即可
  • (可选绑定按钮)点击顶部「插入」→「绘图」,绘制两个按钮图形分别标注“显示所有列”“重新隐藏勾选列”,插入表格后右键点击按钮,选择「指定脚本」,分别填入对应的函数名showAllColumns、reHideCheckedColumns确认即可,后续点击按钮就能直接触发对应功能

注意:第一次点击自定义按钮时会弹出Google账号授权提示,按流程完成授权即可,所有逻辑仅在你的个人表格空间内运行,不会外传数据。

生产计划表示例截图

内容的提问来源于stack exchange,提问作者Vadim Kushkunov

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 18:45:39