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

如何在Google Sheets中使用日期变量调用getSheetByName方法

解决Google Sheets跳转当日工作表的脚本问题

问题排查与修复方案

  • 时区不匹配导致日期偏差:Session.getScriptTimeZone()调用的是脚本默认时区,可能和你实际使用的时区不一致,导致生成的日期字符串和工作表名称不对应。建议改用电子表格的时区:
    function totodaysheet() {
      var spreadsheet = SpreadsheetApp.getActive();
      // 使用表格时区生成日期字符串,避免时区偏差
      var date = Utilities.formatDate(new Date(), spreadsheet.getSpreadsheetTimeZone(), "mmmm d");
      spreadsheet.setActiveSheet(spreadsheet.getSheetByName(date), true);
    };
    
  • 工作表名称格式不一致:检查目标工作表名称的大小写(比如是否是July 24而非july 24)、空格是否和生成的字符串完全一致。可以先打印生成的日期值确认:
    function totodaysheet() {
      var spreadsheet = SpreadsheetApp.getActive();
      var date = Utilities.formatDate(new Date(), spreadsheet.getSpreadsheetTimeZone(), "mmmm d");
      Logger.log("生成的日期:" + date); // 查看日志确认格式
      var targetSheet = spreadsheet.getSheetByName(date);
      // 增加不存在的提示,避免无响应
      if (targetSheet) {
        spreadsheet.setActiveSheet(targetSheet, true);
      } else {
        SpreadsheetApp.getUi().alert("未找到名为「" + date + "」的工作表");
      }
    };
    

按钮创建步骤

  1. 打开Google Sheets,点击顶部菜单栏插入 > 绘图,绘制一个按钮形状(如矩形),添加文字(比如“跳转到今日工作表”),保存后关闭绘图窗口。
  2. 点击插入的绘图,右上角选择三个点图标,点击分配脚本,输入函数名totodaysheet,确认即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 18:57:17