Google Sheets实现活动单元格匹配词高亮及重复项查找
Google Sheets 实现选中单元格自动高亮匹配词汇及重复项查找
一、自动高亮同工作表匹配词汇
通过Google Apps Script结合条件格式,可实现选中活动单元格时自动高亮同表内的匹配内容:
- 打开目标表格,点击扩展程序 > Apps 脚本
- 清空默认代码,粘贴以下脚本:
function onSelectionChange(e) { const sheet = e.source.getActiveSheet(); const range = e.range; const value = range.getValue(); // 清除旧的匹配高亮规则 const rules = sheet.getConditionalFormatRules(); const filteredRules = rules.filter(rule => { const condition = rule.getBooleanCondition(); return !condition || !condition.getFormula()?.includes("MATCH"); }); sheet.setConditionalFormatRules(filteredRules); // 单元格非空时添加新高亮规则 if (value !== "") { const highlightRule = SpreadsheetApp.newConditionalFormatRule() .whenFormulaSatisfied(`=MATCH(A1, "${value}", 0)`) .setBackground("#ffff00") // 可替换为其他颜色代码 .setRanges([sheet.getDataRange()]) .build(); const updatedRules = [...filteredRules, highlightRule]; sheet.setConditionalFormatRules(updatedRules); } }
- 保存脚本(命名为
HighlightMatches即可),关闭编辑器 - 返回表格,选中任意非空单元格,同表内匹配内容会自动高亮
二、重复项查找功能
方式1:条件格式自动标记重复项
- 选中需要检查的单元格区域
- 点击格式 > 条件格式
- 右侧面板选择格式规则 > 自定义公式,输入:
=COUNTIF($A:$Z, A1) > 1
(将$A:$Z替换为实际要检查的列范围)
- 设置高亮样式(如浅红色填充),点击完成,重复项会被自动标记
方式2:脚本一键定位重复项
给之前的Apps Script项目添加以下代码,实现一键查找重复项:
function findDuplicates() { const sheet = SpreadsheetApp.getActiveSheet(); const data = sheet.getDataRange().getValues(); const seen = new Set(); const duplicates = []; data.forEach((row, rowIdx) => { row.forEach((cell, colIdx) => { if (cell && seen.has(cell)) { duplicates.push(`行${rowIdx+1}列${colIdx+1}: ${cell}`); } else if (cell) { seen.add(cell); } }); }); const ui = SpreadsheetApp.getUi(); if (duplicates.length) { ui.alert("找到重复项:\n" + duplicates.join("\n")); } else { ui.alert("未找到重复项"); } } // 添加自定义菜单 function onOpen() { SpreadsheetApp.getUi().createMenu("自定义工具") .addItem("查找重复项", "findDuplicates") .addToUi(); }
保存后刷新表格,菜单栏会出现「自定义工具」选项,点击即可一键查找重复项
内容的提问来源于stack exchange,提问作者Sanjay Devani
相关产品推荐
相关产品推荐

