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

Google Script开发:Sheet1选A列单元格跳转Sheet2高亮匹配项

Google Sheets 宏实现:跨工作表匹配高亮跳转

完整宏代码

打开Google表格的脚本编辑器(工具 > 脚本编辑器),替换原有代码为以下内容:

function goToList() {
  // 获取当前选中的单元格
  const activeCell = SpreadsheetApp.getActiveSpreadsheet().getActiveCell();
  const sheet1 = activeCell.getSheet();
  
  // 校验是否选中Sheet1的A列单元格
  if (sheet1.getName() !== "Sheet1" || activeCell.getColumn() !== 1) {
    SpreadsheetApp.getUi().alert("请选中Sheet1的A列单元格后重试!");
    return;
  }
  
  const targetValue = activeCell.getValue();
  if (!targetValue) {
    SpreadsheetApp.getUi().alert("选中的单元格不能为空!");
    return;
  }
  
  // 切换到Sheet2并搜索匹配值
  const sheet2 = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet2");
  const dataRange = sheet2.getRange("A:A");
  const values = dataRange.getValues();
  
  // 遍历查找匹配项
  let matchRow = -1;
  for (let i = 0; i < values.length; i++) {
    if (values[i][0] === targetValue) {
      matchRow = i + 1; // 转换为表格行号(从1开始)
      break;
    }
  }
  
  if (matchRow === -1) {
    SpreadsheetApp.getUi().alert("Sheet2中未找到匹配值!");
    return;
  }
  
  // 清除Sheet2原有高亮样式
  sheet2.getRange(1, 1, sheet2.getLastRow(), sheet2.getLastColumn()).setBackground(null);
  
  // 高亮匹配整行并定位
  const targetRow = sheet2.getRange(matchRow, 1, 1, sheet2.getLastColumn());
  targetRow.setBackground("#ffff99"); // 浅黄色高亮,可自行替换颜色代码
  sheet2.setActiveRange(targetRow);
  SpreadsheetApp.setActiveSheet(sheet2);
}

配置步骤

  • 保存脚本,命名为GoToListMacro(或任意名称)
  • 返回表格,插入按钮:插入 > 绘图,绘制一个按钮并添加文本「Go To List」
  • 右键点击按钮,选择「分配脚本」,输入goToList(与函数名一致)

自定义说明

  • 若只需高亮匹配单元格而非整行,将targetRow的范围改为sheet2.getRange(matchRow, 1)即可
  • 高亮颜色可通过修改setBackground的参数调整,比如#ffcccc为浅红色
  • 脚本已包含校验逻辑:仅允许选中Sheet1的A列单元格,空值、无匹配项时会弹出提示

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 05:40:25