谷歌表格单单元格重复单词检测与高亮实现方案问询
Google Sheets 单单元格重复单词检测解决方案
以下方案均满足:仅识别精确匹配的整词重复、空单元格不触发判断、内容更新后自动同步结果。
方案1:I列重复单元格自动高亮(推荐,无需额外列)
实现你要的高亮效果,操作步骤如下:
- 选中I列需要检测的范围,建议选
I2:I(若I1为表头可避开表头误判) - 点击顶部菜单「格式」→「条件格式」,右侧弹出规则面板
- 「格式规则」下拉选择最底部的「自定义公式是」
- 输入框粘贴以下公式:
=IF(I2="",FALSE,LET(cell," "&TRIM(I2)&" ",words,SPLIT(cell," "),COUNTA(words)<>COUNTA(UNIQUE(words,TRUE,TRUE))))
- 下方选择你要的高亮填充色,点击「完成」即可
- 效果:只有存在重复单词的单元格会被高亮,空单元格、无重复的单元格无样式变化,编辑内容后自动重新判断。
方案2:自动生成重复标识列
需要批量筛选重复条目时使用,在空白列(如K列)K2单元格粘贴如下公式:
=BYROW(I2:I,LAMBDA(row,IF(row="","",LET(cell," "&TRIM(row)&" ",words,SPLIT(cell," "),IF(COUNTA(words)<>COUNTA(UNIQUE(words,TRUE,TRUE)),"存在重复","")))))
- 公式自动遍历I列所有行,无需手动下拉,有重复的行对应位置显示「存在重复」,空行、无重复行无内容。
方案3:弹窗列出所有重复条目
需要集中查看所有重复内容时使用,通过Apps Script实现:
- 点击顶部菜单「扩展程序」→「Apps 脚本」打开编辑器
- 删除默认的示例代码,粘贴以下内容:
function listDuplicateCells() { const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); const colIData = sheet.getRange("I2:I" + sheet.getLastRow()).getValues().flat(); const duplicateList = []; colIData.forEach((val, idx) => { if (!val) return; const words = val.trim().split(" ").filter(item => item); if (words.length !== [...new Set(words)].length) { duplicateList.push(`第${idx+2}行:${val}`); } }); const ui = SpreadsheetApp.getUi(); duplicateList.length ? ui.alert(`检测到重复条目:\n${duplicateList.join("\n")}`) : ui.alert("无重复单词的单元格"); }
- 保存项目后点击「运行」,首次运行按提示完成授权即可看到弹窗结果。
- 如需自动运行,可在脚本编辑器左侧「触发器」页添加触发器,设置为「表格内容变更时」自动执行该函数。
内容的提问来源于stack exchange,提问作者Jeremy
相关产品推荐
相关产品推荐

