如何在Google Sheets中编写脚本实现按钮一键跳转至当前日期单元格
Google Sheets 按钮跳转今日日期单元格实现方案
1. 编写Apps Script脚本
打开目标表格,点击顶部菜单栏「扩展程序」→「Apps 脚本」,删除编辑器内默认的空白代码,粘贴以下内容:
function jumpToTodayDate() { // 自定义配置项,根据你的表格实际情况修改 const DATE_COLUMN = 3; // 日期存放列的序号,A列对应1、B列对应2,以此类推 const TARGET_SHEET_NAME = "数据汇总"; // 日期所在工作表的完整名称,中英文完全匹配即可 const ss = SpreadsheetApp.getActiveSpreadsheet(); const sheet = ss.getSheetByName(TARGET_SHEET_NAME); const today = new Date(); // 清除时间精度干扰,仅匹配年月日 today.setHours(0, 0, 0, 0); // 读取日期列所有值 const dateList = sheet.getRange(1, DATE_COLUMN, sheet.getLastRow(), 1).getValues(); // 遍历匹配日期 for (let rowIndex = 0; rowIndex < dateList.length; rowIndex++) { const currentCellDate = new Date(dateList[rowIndex][0]); currentCellDate.setHours(0, 0, 0, 0); if (currentCellDate.getTime() === today.getTime()) { const targetCell = sheet.getRange(rowIndex + 1, DATE_COLUMN); // 选中目标单元格并自动滚动到可视区域 ss.setActiveRange(targetCell); return; } } // 无匹配日期时弹出提示 SpreadsheetApp.getUi().alert("未找到今日对应的日期记录"); }
修改代码顶部的两个配置参数为你表格的实际值,点击编辑器顶部的保存按钮,给项目随便设置一个名称即可。
2. 插入按钮并绑定脚本
- 回到表格页面,点击顶部菜单栏「插入」→「绘图」,在绘图编辑页设计你需要的按钮样式(可自定义填充色、边框、添加“跳转到今日”等文字),完成后点击「保存并关闭」
- 拖动插入的绘图到你想要放置按钮的位置,点击绘图右上角的三个点图标,选择「分配脚本」
- 在弹出的输入框中输入函数名
jumpToTodayDate,点击确定即可完成配置
注意事项
- 第一次点击按钮触发脚本时需要完成授权,遇到谷歌的“未验证应用”提示,点击「高级」→「前往你的项目名称」完成授权即可,自行编写的脚本无安全风险
- 请确保你的日期列格式为谷歌表格识别的日期格式,而非字符串格式,否则会出现匹配失败的问题
- 如果同一日期列存在多个今日日期记录,脚本会自动跳转至第一个匹配的单元格
内容的提问来源于stack exchange,提问作者Louie Asquith
相关产品推荐
相关产品推荐

