如何在Google Sheet中高亮特定列的部分重复发票编号?
解决Google Sheets同一供应商下重复4位发票片段的高亮问题
直接用条件格式实现(无需辅助列)
假设你的供应商数据在A列,发票编号(格式如1234-5678-9012)在B列,要高亮B列中同一供应商下存在重复4位片段的单元格,按以下步骤操作:
- 选中B列所有包含发票编号的单元格
- 打开「格式」→「条件格式」
- 选择「自定义公式」作为规则,粘贴以下公式:
=ARRAYFORMULA(SUM(COUNTIF(REGEXEXTRACT(FILTER(B:B, A:A=A2), "\d{4}"), REGEXEXTRACT(B2, "\d{4}"))))>COUNTA(REGEXEXTRACT(B2, "\d{4}"))
- 设置高亮样式(比如填充黄色),点击「完成」
公式逻辑:
- 先筛选出当前行供应商的所有发票编号
- 提取所有4位片段,统计当前单元格每个片段在供应商所有片段中的出现次数
- 当总次数大于当前单元格的片段数量时,说明存在重复片段,触发高亮
备选:拆分到辅助列(更直观高效)
如果觉得上面的公式太复杂,用辅助列拆分片段后处理:
- 在C列输入公式
=SPLIT(B2, "-"),下拉填充,每个4位片段会自动分到C、D、E等列 - 选中C列,设置条件格式,公式用:
=COUNTIF(FILTER(C:C, A:A=A2), C2)>1,设置高亮样式 - 对D、E等列重复上述操作
- 最后可以隐藏辅助列,不影响原数据展示
注意点
- 确保发票编号没有多余空格或特殊字符,否则正则提取会失效
- 数据量较大时,辅助列方案的运行速度会更快
内容的提问来源于stack exchange,提问作者marc-andre pouliot
相关产品推荐
相关产品推荐

