excel条件格式重复项识别错误及解决

最近整理发票,担心发票重复,所以用excel条件格式对发票列进行重复项识别,结果如下

从结果来看识别出现了错误,明明不重复但也识别成了重复。

发票是增值税普通发票,20位,deepseek查了一下,通常由 发票代码(12位) + 发票号码(8位) 组成,共20位(合并后)。在Excel中,当文本字符串超过 15位数字 或 255个字符 时,可能会因精度限制或函数处理规则导致重复值识别的误判。

如果文本内容由纯数字组成且长度超过15位(如身份证号、订单号等),Excel默认会将其识别为数值类型,并按浮点数(双精度)存储,导致 后3位被强制舍入为0。例如,输入 12345678901234567890(20位),Excel会将其转换为 1.23456789012346E+19(科学计数法),实际存储值为 12345678901234500000,导致后续相同前缀但后几位不同的值被误判为重复。

deepseek给出的解决方案由两个,但方法1不适合大批量数据输入,方法2我试过不起作用,上图中实际上我就是以文本形式储存的。

方法1:在输入前添加英文单引号 '(如 '12345678901234567890),强制以文本格式存储。

方法2:将单元格格式设置为 文本格式(右键单元格 → 设置单元格格式 → 文本)。

所以我想到两个优化的方法,一是如上图最后一列所示,截取尾部一部分数字来做重复项识别,当然这个取决于对这一串数字含义的预判,尾部8位发票号码是系统随机产生的,出现重复的概率较小。

二是在这一串数字之前加上1-2个字母,比如fp,这样就不是纯数字了,也就不受限于上述15位纯数字的精度问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值