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

如何实现Google Sheets复制内容后自动高亮相同数据?

Google Sheets 自动高亮复制内容匹配项脚本

在Google Sheets中,常规查找重复数据的方式是复制内容后按Ctrl+F调出查找框粘贴定位。以下脚本可实现复制内容后自动高亮表格中所有匹配数据的功能:

实现步骤

  1. 打开目标Google Sheets文档,点击菜单栏的「工具」→「脚本编辑器」。
  2. 删除默认的Code.gs内容,替换为以下脚本:
// 存储之前高亮的单元格范围,用于重置
let previousRange = null;

function onOpen() {
  // 添加自定义菜单,方便重置高亮
  SpreadsheetApp.getUi().createMenu('高亮工具')
    .addItem('重置高亮', 'clearHighlight')
    .addToUi();
}

function onCopy(e) {
  // 获取复制的内容
  const copiedValue = e.value;
  if (!copiedValue) return;

  // 先清除之前的高亮
  clearHighlight();

  const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  const dataRange = sheet.getDataRange();
  const values = dataRange.getValues();
  const backgrounds = dataRange.getBackgrounds();

  // 遍历所有单元格,匹配内容则设置高亮背景
  for (let i = 0; i < values.length; i++) {
    for (let j = 0; j < values[i].length; j++) {
      if (values[i][j] === copiedValue) {
        backgrounds[i][j] = '#ffff00'; // 黄色高亮,可自定义颜色代码
        // 记录高亮单元格范围
        const currentCell = sheet.getRange(i+1, j+1);
        previousRange = previousRange ? previousRange.union(currentCell) : currentCell;
      }
    }
  }

  // 应用背景色修改
  dataRange.setBackgrounds(backgrounds);
}

function clearHighlight() {
  if (previousRange) {
    previousRange.setBackground(null);
    previousRange = null;
  }
}

功能说明

  • 脚本通过onCopy触发器监听复制操作,获取复制内容后自动遍历当前工作表所有单元格,将匹配项设置为黄色高亮(可修改#ffff00更换高亮颜色)。
  • 自定义菜单「高亮工具」提供「重置高亮」选项,可一键清除所有高亮效果。
  • 首次运行需授权脚本访问权限,按页面提示完成授权即可。

使用方法

  1. 保存脚本后刷新Google Sheets文档,菜单栏会出现「高亮工具」选项。
  2. 复制任意单元格内容,表格中所有相同内容的单元格会自动高亮。
  3. 如需清除高亮,点击「高亮工具」→「重置高亮」即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 22:46:01