首页/AI知识库/数据处理/别等脏数据进来才后悔:一份AI校验规则清单,附历史数据回测法

别等脏数据进来才后悔:一份AI校验规则清单,附历史数据回测法

数据处理2026-11-09阅读约 9分钟阅读量 …专题 · 表格与数据第 11/97 篇

数据录入校验的关键不是写几条规则,而是先用历史脏数据回测覆盖率。本文给出一套可复制的清单:让AI生成Excel数据验证规则与提示文案,按场景分组取用,并讲清规则写在哪、错了怎么回退、覆盖不到的那部分数据该怎么办。

捞出历史脏数据让AI归纳错误类型生成规则与提示文案回测覆盖率补齐漏网规则

李敏是家做工业耗材的公司的销售内勤,每个月最后三天她都在干同一件事:把大区报上来的销量表往系统里录,录完再被财务退回来三次。十一月中旬那个周五,财务把表甩回来,附了一句“客户编码有7个查无此人,回款日期有4行是空的,还有3行金额是负数但没写退货”。她对着两千多行数据一行行核对,找到下午四点半,发现有个业务员把客户编码里的字母O全打成了数字0——从录入那天起就错了,一路错到汇总。

她问过我一句话:能不能让AI提前把这些错拦下来,别等录完了再查?

能,但顺序很关键。多数人想的是“我写一堆规则,让AI帮我补全”。正确的做法反过来:先把过去半年的脏数据捞出来,让AI看看到底错在哪几类,再生成规则,最后拿这批脏数据回头测一遍——测不过的规则,等于没写。这篇的增量就在这里:规则不是拍脑袋写的,是被历史数据“考”出来的。看完你能自己跑一遍完整的回测,也能判断哪些错误AI的规则根本拦不住,得换别的办法。

为什么校验规则一定要做成清单,而不能靠当场想

先说清楚一件事。Excel里那个给单元格加限制的功能,官方叫“数据验证”,老版本里叫“数据有效性”,很多人平时用它做个下拉框选部门,其实它的完整能力比下拉框大得多,能限制数字范围、文本长度、日期区间,还能自定义公式。这个功能本身不复杂,复杂的是“该限制哪些字段、限到什么程度”,这靠当场想是想不出来的。

别等脏数据进来才后悔:一份AI校验规则清单,附历:从抽取历史脏数据、AI生成校验规则到回测覆盖率的完整流程,标
从抽取历史脏数据、AI生成校验规则到回测覆盖率的完整流程,标出规则覆盖不到的部分如何处理。

我见过两种典型的失败。一种是财务在月底临时加几条规则,加完发现新录入的员工工号全被拦了,因为规则没考虑到新批次工号的位数变了。另一种更常见:规则全加了,但还是有脏数据进来,因为规则只覆盖了看得见的那几列,漏掉的那几列谁也没觉得会出错。

清单化的意义在于把“想到哪写到哪”变成“有据可查、可回测、可迭代”。校验规则是一种会过期的资产——客户编码规则变了、组织架构调了、业务新增了字段,昨天的规则今天就可能误伤。没有一份清单和一份回测记录,你根本不知道自己半年前加的规则现在还在不在正常工作。

还有一个现实约束:不同量级的数据,做法完全不同。每天录20条的门店报数表,你在Excel里手动设几条数据验证就够;每天录2000条的订单导入表,光靠Excel拦不住,得考虑让AI生成一段校验逻辑,在导入前统一跑一遍。这个分岔,后面会具体讲。

清单主体:四类校验,各配一条能直接用的提示词

把校验规则分四类,是因为它们出错的方式不一样、修复成本也不一样。

类别管什么典型错误拦不住的情况
格式类编码、电话、身份证、日期写法客户编码少一位、手机号多打空格编码位数对但归属错了
范围类金额、数量、百分比的正负和区间金额输成负数、折扣填了120%数值合法但业务上不合理
逻辑类字段之间的对应关系日期早于合同签订日、退货单没关联原单规则本身写错了
完整类必填项、空白单元格回款日期空着、客户名漏填空白是有意义的(如待定)

格式类,我用得最多的一条提示词:

我在Excel里做数据录入校验,字段是【客户编码】,现有样本20条如下:【粘贴20条真实编码,含3-5条错的】。请归纳它的格式规则(位数、字符类型、是否有固定前缀或校验位),写成一句Excel自定义数据验证可用的英文函数,并给一条给录入人员看的报错提示,字数控制在20字内,要说明“错在哪、怎么改”。

为什么要求给20条含错样本?只给一条规则文字,AI会写得通顺但不准;给真实样本,它能自己数出几位、有没有前缀。这一步实测下来差别很大——同样问“客户编码格式”,不给样本时AI给的是“6到10位字母数字”,给了样本后它准确指出“必须是两位字母+8位数字,第3位不能是0”。

范围类:

我有一张费用报销表,字段包括【报销金额】【费用类型】【发生日期】。请为我生成一组Excel数据验证设置建议,用表格列出:字段、验证条件类型(整数/小数/日期/序列)、具体参数、输入时的提示文字、出错时的警告文字。约束:【报销金额】必须大于0且不超过50000,超过50000的走专项审批;【发生日期】不能晚于今天。警告文字要告诉填表人去哪里改,不要说“输入无效”。

逻辑类最容易翻车,因为跨字段的校验,Excel自带的普通数据验证只能做一部分,真正管用的是“自定义”里写公式。给AI的提示词要点明这一点:

在Excel数据验证里用“自定义”公式校验两个字段的关系:【退货日期】必须大于等于【原订单日期】,且【退货金额】不能超过【原订单金额】。假设原订单日期在C列、退货日期在D列、原订单金额在E列、退货金额在F列,从第2行开始。请写出可以填进自定义验证框的公式,说明我该选中哪个区域再设置,并告诉我:如果这两列在不同工作表里,公式要怎么改。

完整类看着简单,坑在“空白到底算不算错”。采购的询价单里“到货日期”空着往往是正常的(还没确定),但“供应商名称”空着就不正常。所以完整类规则必须先让AI帮你分类:

这是我采购询价表的所有字段:【列出字段名】。请判断哪些字段属于“录入时就必须有值”,哪些属于“可以留空但后续要补”,并说明判断依据。对必须有的字段,给出一句录入提示;对可以留空的,给一个Excel条件格式方案,让它在【某个时间点】之后把仍为空的单元格标黄。

这段提示词的价值在于逼AI做业务判断,而不是无脑把所有空都标红。无脑标红的后果,用过的都懂——满屏黄色,人就不看了。

每条规则怎么用:从设置到回退的完整操作

以Excel桌面版(Microsoft 365,2023年以后)为准。WPS的表格功能位置相近,但个别入口不同,下面会注明。

设置一条格式类规则,以客户编码为例。 选中要校验的那一列的数据区域(从第2行到你的数据末尾,别整列选,整列选会把标题也管进去)。在功能区找“数据”选项卡,点“数据验证”(WPS在“数据”下叫“数据有效性”),弹出的窗口里“允许”选“自定义”,“公式”框填入AI给的公式。比如编码是“两位字母+8位数字”,公式类似 =AND(LEN(A2)=10,ISNUMBER(--MID(A2,3,8))),具体以你表格的实际列号为准,别照抄。切到“出错警告”页签,样式选“停止”,标题写“编码格式不对”,错误信息贴AI给的提示文案。

这里有个实际不work的地方得说清楚:自定义公式里的单元格引用,是相对于你选中区域的左上角第一个单元格写的。如果你选中的区域起点不是A2,公式里的A2就得换成你真正的起点。很多人照着网上教程抄公式,结果整列飘红或整列放行,八成是引用错位。

回退怎么办。 数据验证设置错了,选中区域重新打开窗口改就行,它不改变已有数据。但要注意:数据验证只拦“新输入”,已经录进去的错误数据它不会自动清掉。所以改完规则,得用“数据”里的“筛选”把可疑值筛出来单独处理,别以为设了规则就万事大吉。

1000条以上怎么办。 Excel的数据验证在几千行以内没问题,但如果你面对的是每天几万行的系统导入表,靠单元格级验证不现实。这时候的做法是:让AI生成一段校验逻辑(可以是Python,也可以是一段能贴进表格的公式列),在导入前跑一遍,把不通过的行单独导出来给录入人改。我一般让AI输出成“新增一列校验结果列,值是好/坏+原因”,方便筛选。这时候提示词要补一句“假设数据有3万行,请优先给向量化的写法,不要逐行循环”。

两个工具的分工。 Excel数据验证适合“拦住正在打字的人”,实时性强,但它管不了跨表核对,也做不了复杂的业务规则。Python(配合pandas)适合“批量清洗已经进来的数据”,但它需要装环境,很多岗位拿不到。中间地带是Excel的Power Query,能拼接多表做逻辑校验,学习成本比Python低,在“数据”选项卡的“获取数据”里进。我建议:录入岗位用数据验证,数据管理岗位学Power Query,IT支持到位再上Python。

回测:这一步不做,前面全白干

规则写完了,看起来挺全,不代表能用。必须拿历史脏数据回头测一遍,看覆盖率。

具体做法:从系统里导出去年一整年的原始录入数据,或者至少最近三个月。让AI帮你先归个类:

这是一份过去三个月被财务退回修改的录入数据,共【N】条,字段有【列出】。请按错误类型归类,每一类给出:错误描述、涉及字段、条数、一个真实例子(脱敏)。最后按条数从多到少排序。

拿这张错误类型表,对着你的规则清单挨个勾:哪几类规则能拦住,哪几类拦不住,哪几类会误伤正常数据。判断覆盖率的分母,就是这张表的总条数,分子是被规则成功拦截的条数。 我自己跑过一个销售内勤的案例:三个月退回记录47条,归成6类错误,规则拦住了其中4类共38条,剩下9条是“编码位数对但录成了另一个真实客户”——这类规则根本拦不住,得靠后续和CRM核对。

回测结果一般会长这样,用表格记下来:

历史错误类型条数现有规则能否拦截处理方式
客户编码格式错19能已设格式校验
金额为负未写退货11能已设范围校验
回款日期空6能已设必填提示
日期早于合同日2部分补逻辑校验
录成错误客户7不能后续CRM核对
其他2视情况人工判断

覆盖率算出来是38/47,大约八成。剩下两成不能硬拦,得承认规则有边界。

反面案例得讲一个。 有家公司为了让“金额”绝对不出错,把范围规则设成“任何负数都拦截”。结果退货单、冲红单全被挡住,业务员只好把退货金额输成正数再在备注里写“这是退货”,数据反而更乱了。这就是范围规则没区分业务场景的典型翻车——同一张表里,正数负数的含义取决于“单据类型”这个字段,规则必须带上条件,不能一刀切。

组合使用的顺序:先拦哪条,后拦哪条

规则不是一股脑全上,顺序错了会互相打架。

我的建议顺序是:先上完整类,再上格式类,然后范围类,最后逻辑类。理由是前两类设置最简单、误伤最少,先上能把最明显的错挡在外面;逻辑类最容易误伤,要等前面的规则稳定运行一两周、业务方对提示文案有反馈之后再上。

时间成本也报一下:给一张20个字段的表配齐四类规则,用AI生成加人工调整,我实测下来两到三个小时;回测再加一个下午。值不值得?看这张表一个月退回几次。一个月退回三次以上、每次核对超过一小时,配规则两天就回本了。一个月难得退回一次的,手动核着就行,别为了规范而规范。

还要给一个“什么时候不该做”的判断。如果你这张表的字段还在频繁调整、业务规则没定下来,这时候写校验规则就是给自己找麻烦——规则天天改,比不设还烦。等字段稳定一个月再上。同理,一次性导入的历史数据、别人给你的外部分享表,也不用设验证,直接跑批量校验更省事。

清单怎么维护:规则会过期,得有人管

校验规则是一次性的活吗?不是。客户编码从10位升到12位、新增了“项目编号”字段、组织调整后部门名改了,任何一条都能让昨天的规则今天误伤全表。

维护清单要记三样东西:每条规则对应哪个字段、什么时候加的、谁负责。加一列“最近回测日期”,季度末拿过去一个季度被退回的数据再跑一遍上面的回测提示词,看覆盖率掉了没有。掉得厉害(比如原来八成现在只有五成),说明业务变了,规则该改。

WPS和Excel在这块有个差异值得注意:Excel的数据验证支持引用其他工作表的命名区域做下拉源,改一处全表生效,维护起来省心;WPS表格的部分版本在跨表引用下拉源时,需要先把目标区域定义为名称才稳定,直接选区域有时会失效,具体以你的版本为准,拿不准就先用本表区域试。这个细节文档里不常写,但真做过跨表下拉的人都会碰上。

最后,清单本身建议就放在表格旁边的一个工作表里,别存成单独的文档。设规则的人、改规则的人、回测的人,看到的得是同一份。文档一分散,三个月后就没人记得当初为什么加那条规则了。

电话咨询 186 7177 1796