Google Sheets点击当前表链接跳转至另一表并传递单元格值实现问询
Google Sheets 编码跳转赋值实现方案
该需求完全可以通过 Google 自带的 Apps Script 脚本实现,无需复杂操作,按以下步骤执行即可:
操作步骤
步骤1:打开脚本编辑器
- 打开你的目标 Google Sheets 工作簿,点击顶部菜单栏的「扩展程序」>「Apps 脚本」,会打开独立的脚本编辑页面,直接删除页面默认生成的
myFunction相关全部代码。
步骤2:粘贴核心脚本
将以下代码完整粘贴到脚本编辑框中:
// 监听单元格选中事件 function onSelectionChange(e) { // 获取当前选中单元格所在工作表 const activeSheet = e.source.getActiveSheet(); // 仅响应Sheet A的A列操作,非目标区域直接跳过 if (activeSheet.getName() !== "Sheet A" || e.range.columnStart !== 1) return; // 获取选中单元格的编码值 const targetCode = e.range.getValue(); // 空单元格直接跳过 if (!targetCode) return; // 获取Sheet B对象 const targetSheet = e.source.getSheetByName("Sheet B"); // 给Sheet B的D2单元格写入选中的编码 targetSheet.getRange("D2").setValue(targetCode); // 自动跳转打开Sheet B e.source.setActiveSheet(targetSheet); }
代码逻辑说明:只要你选中 Sheet A 中 A 列有编码的单元格,就会自动执行赋值+跳转操作,无需额外添加点击链接。如果你的工作表名称不是Sheet A、Sheet B,直接修改代码中对应引号里的名称即可,需和实际工作表名完全一致(包括大小写、空格)。
步骤3:保存测试
- 点击脚本编辑器顶部的保存按钮💾,项目名称随便填(比如「编码跳转工具」),保存完成后直接关闭脚本编辑器,回到表格页面即可生效。
- 测试验证:点击 Sheet A 的A1单元格(值为101),页面会自动跳转到 Sheet B,此时查看 Sheet B 的D2单元格已经自动填入101,依赖D2的过滤公式会自动刷新加载对应数据。
注意事项:
- 第一次触发脚本时会弹出账号授权提示,按提示用当前表格的归属Google账号授权即可,脚本仅操作你当前的表格,不会获取或泄露其他数据
- 如果不希望选中单元格就触发跳转,需要手动点击链接才执行操作,可以用以下备用方案实现
备用方案:点击超链接触发
步骤1:粘贴脚本到Apps脚本编辑器
// 自定义函数生成跳转链接 function GENERATE_JUMP_LINK(code) { const ss = SpreadsheetApp.getActiveSpreadsheet(); const sheetBId = ss.getSheetByName("Sheet B").getSheetId(); return `https://docs.google.com/spreadsheets/d/${ss.getId()}/edit#gid=${sheetBId}&code=${code}`; } // 打开表格时读取链接参数赋值 function onOpen(e) { const urlParams = new URLSearchParams(window.location.search); const code = urlParams.get('code'); if (code) { const ss = SpreadsheetApp.getActiveSpreadsheet(); ss.getSheetByName("Sheet B").getRange("D2").setValue(code); } }
步骤2:生成跳转链接
在 Sheet A 的B1单元格输入公式=HYPERLINK(GENERATE_JUMP_LINK(A1),"查看对应数据"),下拉填充到所有有编码的行,点击对应行的链接就会跳转Sheet B并自动给D2赋值。
内容的提问来源于stack exchange,提问作者MSF
相关产品推荐
相关产品推荐

