开启 3 天免费试用
注册即可免费体验全部高级功能。
*仅限新用户;每位用户只能获得一次试用。


要用 AI 匹配并核对两份电子表格,先定义每个文件中一行代表什么,清理并测试匹配键,先做精确连接,只让 AI 为剩余记录提出候选。把每一行归为已匹配、仅左侧、仅右侧或冲突,再用数量、控制总额、证据和人工批准证明结果。
关键要点:
- 比较数值之前,先决定每个字段以哪个来源为准。
- 在重复键和多对多连接成倍放大记录之前,就把它们挡下。
- 精确匹配是证据;模糊分数只是仍需复核的候选。
- 核对全部总体,包括未匹配和未解决的记录。
本流程沿用建立证据和批准边界中有边界的模式:保留来源事实,限定模型角色,可重复地执行,并复核例外。
从目的出发。你是在把发票与付款对账、比较两份联系人名单、查找库存差异、验证数据迁移,还是在关联使用不同标识符的记录?目的决定了行粒度、可接受的容差、权威字段,以及错误匹配的后果。
为每个文件记录:
不要以为较新的文件就是权威。付款系统可能掌握结算金额,订单系统则掌握客户和产品信息。权威性可以按字段区分。
| 问题 | 示例答案 |
|---|---|
| A 的行粒度 | 一张已开具的发票 |
| B 的行粒度 | 一条已结算的付款明细 |
| 精确键 | 发票 ID 加法人实体 |
| 允许的关系 | 一张发票对应一笔结算 |
| 金额容差 | 按交易币种精确一致 |
| 日期容差 | 三个自然日,仍需复核 |
| 仅 A 的含义 | 结算文件中找不到该发票 |
| 仅 B 的含义 | 发票文件中找不到该结算明细 |
| 冲突负责人 | 财务运营 |
这份契约能防止 AI 为了提高匹配率而悄悄重新定义“匹配”。
保留两份源工作簿,在派生表上操作。剖析行数、不同键的数量、空键、重复组、数据类型、日期范围和重要总额。如果任一文件很混乱,先按表格清理流程处理,并保留其规则日志。
新建规范化的辅助列,不要替换原值。获批的操作可能包括:去掉已知的空白、统一标识符的大小写、保留前导零、按声明格式统一日期,或映射权威的法人实体代码。绝不能仅因能提高匹配率,就去掉所有标识符中的标点。
连接之前先测试键:
多对多连接会造成笛卡尔式的成倍放大。A 侧两行、B 侧三行,连接后会变成六行;即使每一条源记录看起来都有效,数量和总额也会被破坏。
| 来源 | 源行 ID | 原始键 | 规范键 | 规则 | 键状态 |
|---|---|---|---|---|---|
| A | A-1042 | inv-0017 | INV-0017 | 按批准规则去空格并大写 | 有效 |
| B | B-881 | INV-0017 | INV-0017 | 不变 | 有效 |
| B | B-882 | 空白 | 空白 | 不推断 | 异常 |
原始键始终可见。如果某条规范化规则造成键冲突,就停下来复核受影响的组。
把两张表载入可重复执行的查询、公式模型、数据库或脚本。Power Query 可以用一个或多个共同列合并两个查询,并支持能显示匹配和未匹配行的连接类型。[1] 目标是完整核对时,使用全外连接或等效的一组连接。
生成四个主要结果总体:
| 状态 | 定义 | 所需证据 |
|---|---|---|
| matched | 获批的键对应,且比较字段一致 | 双方源行 ID 和匹配键 |
| left_only | A 记录没有获批的 B 匹配 | A 行 ID 和尝试过的精确键 |
| right_only | B 记录没有获批的 A 匹配 | B 行 ID 和尝试过的精确键 |
| conflict | 获批的键对应,但受控字段不同 | 双方的值、容差和负责人 |
不要只用内连接。它只显示成功的匹配,却让未匹配记录消失。同样,如果契约要求复合键,就不能只因一个字段相等就把记录标为已匹配。
每个字段一条比较规则。文本可能要求在获批规范化之后完全相等;金额可能允许有记录的舍入容差;日期可能允许一个结算窗口;类别可能使用有版本的对照表。
记录双方的值、差额、规则和结果。容差只是解释差异,并不抹去差异。仔细复核边界值并检验单位。0.01 的差额在最小货币单位不同的币种中含义不同,日期差也可能跨越月末报告边界。
对 A 侧,证明在关系规则下,matched + left_only + conflict 涵盖了范围内的每一条源记录;对 B 侧做对应的检查。按状态重新计算金额总额,并与冻结的来源控制数比较。
如果一对多关系是合理的,就在行层面和业务对象层面都做核对。例如,几条付款明细可能结清一张发票;行数不同,但分组后的金额和发票总体仍应对得上。
只有在精确匹配用尽了获批的键之后,才对剩余总体使用模糊匹配。Microsoft 把 Power Query 的模糊匹配描述为按相似度比较文本值的方法,并提供阈值和转换选项。[2] 这让它适合生成候选,但不能自动证明身份相同。
模糊匹配之前,先定义分块规则,把比较限制在合理的配对之间。例如同一国家、邮编前缀、法人实体、月份,或规范化名称的首字符。分块能减少误报,也避免每一行都与其他所有行比较。
让 AI 提出候选配对并说明理由:
对每条未匹配的 A 记录,在满足分块规则的 B 记录中最多排列三个候选。展示比较的字段、确切差异、相似信号、相反证据和缺失证据。不要把任何配对标为已匹配。证据不足时写
no candidate。
AI 可以帮忙解释缩写、词序调换、音译或可能的输入错误,但不得编造标识符或填补缺失证据。名称相似并不能证明两个客户、供应商或交易是同一实体。
| A 记录 ID | B 记录 ID | 匹配键 | 方法 | 分数 | 差异 | 状态 | 证据 | 复核者 |
|---|---|---|---|---|---|---|---|---|
| A-1042 | B-881 | INV-0017 | 精确 | 不适用 | 无 | 接受 | 复合键 | OP |
| A-1049 | B-907 | 名称加邮编分块 | 模糊候选 | 0.88 | 后缀及街道缩写 | 待审 | 无共同外部 ID | 待定 |
| A-1051 | 无 | 账户 ID | 精确检索 | 不适用 | B 侧缺失 | left_only | 来源查询 | OP |
复核人应对每个候选作出接受、拒绝或暂缓的决定,并补充证据。在没有用已标注样本测量误报和漏报之前,绝不能把 0.85 这样的阈值变成一刀切的批准。
OpenRefine 的核对流程同样区分候选匹配和已确认匹配,并支持对照外部服务复核或核对数值。[3] 更普遍的启示是:候选状态必须与已确认的身份保持区分。
按类型分流冲突:金额、日期、状态、缺失键、重复键、归属或不受支持的映射。按业务流程指定负责人和期限。保留原值,并在真正拥有该字段的系统中记录任何更正。
不要只“修好”核对输出,却让源系统保持原样;否则下一次运行又会出现同样的差异。每项处理都应写明权威来源、证据、行动、批准人,以及变更是否已在上游落实。
使用以下状态:
accepted_exact;accepted_reviewed;rejected_candidate;left_only;right_only;conflict_open;conflict_resolved;out_of_scope。避免使用无法区分精确证据与主观复核的笼统 matched 标记。
NIST 的生成式 AI 风险概况强调虚构、信息完整性、隐私和人工监督方面的风险。[4] 在核对工作中,这意味着:提示词受来源约束、尽量少共享数据、设立异常队列,并且在任何模糊候选改动记录或触发外部行动之前,先由人作出决定。
交付一份别人能够复现的报告:
测试重复运行。相同的来源版本和规则应得出相同的输出。新的来源版本要么通过 schema 契约,要么以明确的错误停止。悄悄改名的列、强制类型转换或缺失的工作表,都应以失败告终。
如果争议发生在叙述性来源之间而不是表格记录之间,使用比较冲突来源的方法。对核对过程中生成的说法,遵循事实核验流程。
意外的重复会造成多对多的成倍放大。剖析双方数据,遇到契约不允许的关系就停下。
高百分比可能掩盖错误匹配。应当追求正确、可解释的决定和可见的例外。
相似不等于同一。用分数给候选排序,并要求基于证据的复核。
未匹配的总体也是答案的一部分。使用全体控制指标,并分别输出仅左侧和仅右侧的结果。
本地修改会在下次运行时消失。在拥有该数据的系统中解决问题,或记录它为何仍是例外。
使用双方共有的稳定标识符,通常再加上法人实体等范围字段。姓名和地址较弱,一般属于需复核的候选匹配。
在获批的键上使用全外连接或一对反连接。分别保留仅左侧和仅右侧的表,并把两者都与来源行数核对。
它可以提出候选,尤其是在按其他字段分块之后,但拼写相似并不能确立身份。要求有佐证并经人工复核。
没有通用的安全阈值。用已标注的样本衡量候选质量,检查边界附近的结果,并把分数当作排序信号,而不是自动批准。
连接前剖析双方键的基数。拒绝意外的重复组和多对多关系,或先按已批准的业务规则汇总。
把它们放进明确的仅左侧或仅右侧队列,附上源 ID、尝试过的键、负责人和处置结果。绝不能为了让总额对上而删除它们。
比较之前,先定义考虑币种的舍入或时间容差。展示双方的值和差额,超出容差的值转入冲突复核。
每条范围内的源记录都必须出现在允许的结果总体中,数量和控制总额必须能对回双方来源,未解决的例外必须有可见的负责人和状态。
来源:
Sources checked 2026 年 8 月 29 日。
延伸阅读:
注册即可免费体验全部高级功能。
*仅限新用户;每位用户只能获得一次试用。