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

如何在Google Sheets中基于日期自动隐藏列?

实现Google Sheets自动隐藏早于今日的列

完全可以实现,借助Google Apps Script就能完成自动隐藏早于TODAY()的列,具体步骤如下:

1. 打开脚本编辑器

打开你的Google Sheet文档,点击顶部菜单栏的「扩展程序」→「Apps Script」,进入脚本编辑界面。

2. 替换脚本代码

删除编辑器里的默认代码,粘贴以下脚本:

function autoHidePastColumns() {
  const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  const startCol = 9; // I列对应第9列,可根据实际起始列调整
  const headerRow = 2; // 日期所在行是第2行
  const today = new Date();
  // 清除今日日期的时间部分,避免和带时间的单元格日期误判
  today.setHours(0, 0, 0, 0);

  // 获取从起始列到最后一列的日期表头
  const headers = sheet.getRange(headerRow, startCol, 1, sheet.getLastColumn() - startCol + 1).getValues()[0];

  headers.forEach((dateVal, index) => {
    const currentCol = startCol + index;
    // 仅处理日期类型的单元格
    if (dateVal instanceof Date) {
      dateVal.setHours(0, 0, 0, 0);
      if (dateVal < today) {
        sheet.hideColumns(currentCol);
      } else {
        // 若日期不早于今日,确保列处于显示状态(避免之前隐藏后未恢复)
        sheet.showColumns(currentCol);
      }
    }
  });
}

3. 保存并授权脚本

点击编辑器顶部的保存按钮,给脚本命名(比如「AutoHidePastDates」)。第一次点击运行按钮时,会弹出授权提示,按照指引完成授权即可(需使用你的Google账号授权脚本访问表格)。

4. 设置自动触发器

为让脚本每天自动运行、更新隐藏列:

  • 在脚本编辑器左侧点击「触发器」图标(时钟样式)
  • 点击「添加触发器」
  • 配置参数:
    • 选择函数:autoHidePastColumns
    • 事件源:「时间驱动」
    • 事件类型:「每天计时器」
    • 选择合适的运行时间(比如「上午9点到10点」)
  • 保存触发器,之后脚本会每天自动执行一次

注意事项

  • 确保I2、J2等单元格的内容是日期格式,而非纯文本。如果是文本格式,脚本无法识别为日期,可选中这些单元格,点击顶部「格式」→「数字」→「日期」调整格式。
  • 如果你的起始列不是I列,修改脚本里的startCol值(A列是1,B列是2,以此类推)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 11:38:11