NANO WORKS 数据办公 数据差异检测与对账
UNIT 04
数据差异检测与对账
Data Diff Lab · Local Engine · v3.0
两张 Excel 对不上?粘贴进来,自动按主键匹配、逐字段比对、高亮差异,一键导出报告。
行对行匹配 汇总vs明细 粒度对账 多键组合
ONLINE
v3.0
MODES 3
MAX KEYS
UPDATED 2026-03
Excel / CSV / 粘贴文本
行对行匹配逐字段比对差异
Σ汇总 vs 明细自动聚合后对比
粒度对账智能检测粗/细侧
🔒纯前端数据不离开浏览器
什么时候用? 两张表结构差不多,想逐行核对某些字段是否一致。
举例:系统导出的订单表 和 仓库实际发货表,按订单号核对金额和数量是否对得上。
▎A表(系统订单)
订单号金额数量
1DD-0011,20050
2DD-0023,450120
3DD-00389030
🔵 蓝色 = 主键列   🟢 绿色 = 要对比的列
▎B表(仓库发货)
订单号发货金额发货数量
1DD-0011,20050
2DD-0023,400115
3DD-00476025
DD-002 金额/数量不一致,DD-003 B表没有,DD-004 A表没有
设置方法:主键选 订单号↔订单号,对比规则加 金额 vs 发货金额(数值)和 数量 vs 发货数量(数值)
STEP 1 — 导入数据
上传两个 Excel 文件(或从 Excel 复制粘贴)。第一行必须是表头
STEP 2 — 设置主键
用来匹配同一行的字段。上面的例子就是"订单号"。如果一个订单号不够(比如还要区分 SKU),就点"+ 主键"加第二个。
左边选 A 表的列名,右边选 B 表对应的列名。
STEP 3 — 添加对比规则
你想检查是否一致的字段。
· 数值对比:比较两边的数字,可以设"误差"(比如 0.01 表示差 0.01 以内算一致)
· 文本对比:比较两边的文字是否相同,可以勾选"忽略大小写"和"忽略空格"
上面的例子:A.金额 vs B.发货金额(数值),A.数量 vs B.发货数量(数值)
STEP 4 — 点"开始对账"
结果会自动标出:✓一致、≠不一致、A独有(B表没有的)、B独有(A表没有的)、重复主键。
可以按标签筛选,也可以导出 Excel 或复制到剪贴板。
什么时候用? 一张是汇总表(每行一个总数),另一张是明细表(同一个单号有很多行),要核对明细加起来是不是等于汇总。
举例:入仓汇总表(每个作业单号一行总体积)和 入仓明细表(每个作业单号有多行,每行一个款号)。
▎汇总表 S(入仓汇总)
作业单号总体积总件数
1IN-0013.20100
2IN-0025.80200
每个作业单号只有 1行
▎明细表 D(入仓明细)
作业单号款号体积件数
1IN-001A012.0060
2IN-001A021.2040
3IN-002B013.50120
4IN-002B022.3080
同一个作业单号有 多行(按款号拆分)
设置方法:
· 主键选 作业单号↔作业单号
· 聚合规则(3a):明细列选 体积,聚合选 SUM → 得到"体积_sum"
· 对比规则(3b):汇总表列选 总体积,聚合结果选 体积_sum
· 工具会算:IN-001 的体积 2.00+1.20=3.20 ✓ 等于汇总表的 3.20
STEP 1 — 导入数据
上传或粘贴两张表。选"汇总 vs 明细"模式后,左边会变成汇总表 S,右边变成明细表 D
STEP 2 — 设置主键
用来关联两张表的字段。上面的例子就是"作业单号"。
STEP 3a — 聚合规则
告诉工具怎么汇总明细表:选一个明细表的列,选一个聚合方式。
· SUM(求和) — 最常用,把同一作业单号的体积加起来
· COUNT(计数) — 数有多少行
· MAX / MIN — 取最大/最小值
上面的例子:明细列选"体积",聚合选 SUM → 得到"体积_sum"
STEP 3b — 对比规则
把汇总表的列和聚合结果一一对应
上面的例子:汇总表列选"总体积",聚合结果选"体积_sum",误差设 0.01。
意思是:每个作业单号的"总体积"应该等于所有明细体积的总和。
STEP 4 — 点"开始对账"
工具会自动按主键汇总明细表,然后和汇总表逐行比对。结果和模式一一样,会标出一致/不一致/独有。
什么时候用? 两张表用相同的主键,但粒度不同——一张按月汇总,另一张按日明细;或者一张按订单,另一张按订单+SKU。想把细的那张聚合后再和粗的那张对比。
举例:财务月报表(每月一行)和 每日流水表(每天一行),按"月份"核对收入是否对得上。
▎A表(财务月报)
月份收入支出
12025-0150,00032,000
22025-0248,00029,000
每月 1行(粗粒度)
▎B表(每日流水)
月份日期收入支出
12025-0101-0512,0008,000
22025-0101-1218,00011,000
32025-0101-2020,00013,000
42025-0202-0825,00015,000
52025-0202-1823,00014,000
同一月份有 多行(细粒度)
工具会自动检测到 B表 粒度更细(主键重复更多),把 B表 按"月份"聚合后再和 A表 逐行对比。
STEP 1 — 导入数据
上传两个文件,不用管谁粗谁细,工具会自动判断。
STEP 2 — 设置主键
两张表共有的关联字段(就是对账维度)。上面的例子是"月份"。
STEP 3 — 设置聚合+对比规则
告诉工具:细粒度侧的哪些列需要汇总(如 SUM 求和),以及粗粒度侧的哪个列和它对比。
上面的例子:细侧"收入" SUM → 对比粗侧"收入",细侧"支出" SUM → 对比粗侧"支出"。
STEP 4 — 点"开始对账"
工具先聚合细粒度表,然后和粗粒度表逐行对比。结果标出一致/不一致/独有。
◆ 选择对账模式
行对行匹配
A表每行和B表按主键一一匹配,对比指定字段是否一致。
适用:两张结构相似的表互相核对。
汇总 vs 明细(聚合对账)
明细表按维度汇总后,和汇总表对比数值是否一致。
适用:账单汇总核对运单明细、收货汇总核对收货明细。
不同粒度对账
两张表同一主键、不同粒度(如月报vs日报),自动检测细粒度侧并聚合后对比。
适用:月报核对日流水、订单汇总核对SKU明细。
◆ STEP 1 — 导入数据
上传 Excel / CSV 文件(点击选择或直接拖文件进来),或切换到"粘贴数据"从 Excel 直接复制粘贴。第一行必须是表头(列名)
⚠️ 当前是汇总 vs 明细模式,请注意上传位置:左边 = 汇总表 S(每个单号1行总数)  |  右边 = 明细表 D(同一单号有多行明细)。上传反了会导致对账结果不正确。
📊 汇总表 S(每单号1行)
📄
TABLE A — 主表
点击选择或拖入 .xlsx / .csv
📋 明细表 D(每单号多行)
📄
TABLE B — 查找表
点击选择或拖入 .xlsx / .csv
TABLE A
TABLE B
◆ 筛选范围(可选,不筛选则对账全部数据)
导入后可以按条件筛选,比如只对某个客户、某种作业类型的数据做对账。选 A 表和 B 表中对应的列,勾选的值会同时过滤两张表。不添加条件则对账全部数据。
◆ STEP 2 — 匹配主键(可多键组合)
主键 = 用来匹配两张表"同一行"的字段,比如订单号、供应商编号。如果单个字段不够区分(如订单号+SKU),点"+ 主键"添加组合键。
◆ STEP 3 — 对比规则
选你要检查的字段。数值对比:比较数字大小,"误差"是允许的偏差范围(如 0.01)。文本对比:比较文字是否一样。
◆ RESULT
↑ 按上面的步骤操作:选模式 → 导入数据 → 设主键和规则 → 点"开始对账"
第一次用?展开顶部的使用说明看看 👆

两张 Excel 对不上?数据对账的 3 种典型场景

财务月结、仓库盘点、电商对账——只要涉及两份数据源的核对,就绕不开"对账"。手动逐行比对不仅慢,还极易遗漏差异。数据对账工具提供 3 种专业对账模式,覆盖从简单到复杂的全部场景,纯前端处理,数据不上传服务器

场景一:行对行匹配——两份出货清单逐行核对

典型问题

仓库导出一份出货记录,物流方也有一份签收记录,需要逐行核对数量、金额是否完全一致。两边的数据排列顺序可能不同,某些行可能只存在于一侧。

解决方案

使用行对行匹配模式。设置订单编号为主键,工具自动按主键配对两张表,逐字段比对差异。支持多主键匹配(如"订单号+SKU"组合),数值字段可设误差容忍范围。

结果分为 4 类:一致 不一致(标红差异字段) A有B无 B有A无,支持一键导出差异报告。

场景二:汇总 vs 明细——总账和流水账交叉验证

典型问题

财务月报是按部门汇总的总金额,而银行流水是一笔一笔的明细。你需要验证:把流水按部门汇总后,和月报的数字是否对得上。

解决方案

使用汇总 vs 明细模式。指定汇总表(A)和明细表(B),设置分组主键(如部门编号),选择对比字段和聚合函数(SUM / COUNT / MAX / MIN)。工具自动将明细表按主键聚合,再与汇总表逐行比对。

典型应用:电商平台结算单 vs 订单明细、仓库库存汇总 vs 进出库流水、部门预算 vs 实际支出明细。

场景三:不同粒度对账——入仓单 vs 分款明细

典型问题

A 表是入仓单级别(每个入仓单号一行),B 表是款号级别(同一入仓单号拆成多个款号多行)。你需要验证 B 表各款号汇总后是否等于 A 表的入仓总量。但事先不知道哪张表粒度更粗、哪张更细。

解决方案

使用不同粒度模式(Grain Mismatch)。工具自动扫描两张表的主键重复情况:如果 A 表主键唯一而 B 表有重复,说明 B 是细粒度,自动对 B 聚合后与 A 比对。支持 SUM、COUNT、MAX、MIN 聚合函数,也支持手动指定聚合方向。

这个模式解决了传统对账工具最头疼的问题:两张表粒度不同时不需要手动预处理数据

数据对账工具 vs 传统 Excel 对账方法

✓ 在线对账工具(纳米工房)

优点:自动主键匹配、支持多主键、数值容忍、3 种模式覆盖不同粒度

适合:财务对账、仓储核对、电商结算、跨系统数据比对

数据安全:纯前端 JavaScript 处理,Excel 文件不经过服务器

Excel VLOOKUP / Power Query

优点:灵活度极高、可处理超大数据集

适合:需要自定义复杂逻辑、数据量超过 10 万行

缺点:公式复杂易出错、不同粒度需手动建透视表预处理

对于日常对账(万行以内),在线工具更快更直观;涉及超大数据集或极度定制化的对账逻辑时,Excel Power Query 更合适。两者的核心区别在于:在线工具把"主键匹配 + 粒度对齐 + 差异分类"自动化了,而 Excel 需要您自己用公式或透视表一步步实现。

对账过程中常见的数据问题

主键重复:两张表中同一主键出现多次。行对行模式下会导致一对多匹配。解决方法:检查数据源是否有重复录入,或切换到"不同粒度"模式让工具自动聚合。

数值精度差异:A 表金额 100.00,B 表金额 99.995,是系统四舍五入导致的。解决方法:设置误差容忍值(如 0.01),工具会在容忍范围内视为一致。

文本格式不一致:同一个编号在 A 表是文本格式 "001",B 表是数字格式 1。解决方法:勾选"忽略前导零"或在 Excel 中统一格式后再导入。工具的智能匹配会尝试自动处理常见的格式差异。

日期格式混乱:A 表日期是 2026/3/1,B 表是 03-01-2026。不同系统导出的日期格式五花八门。解决方法:对账前在 Excel 中统一日期列格式,或将日期列转为文本格式进行精确匹配。

3 种对账模式怎么选

选择对账模式的核心判断依据是两张表的数据粒度是否相同。如果两张表每行代表同一层级的数据(比如都是订单级),选行对行匹配;如果一张是汇总表一张是明细表,且您明确知道哪边是汇总、哪边是明细,选汇总 vs 明细;如果两张表粒度不同但不确定谁粗谁细,选不同粒度模式让工具自动判断。

三种模式底层共用同一个对账引擎:粒度标准化 → 主键匹配 → 规则比对。不同粒度模式本质上是先自动做一步聚合预处理,然后走和行对行相同的比对逻辑。所以如果您不确定选哪个,可以先试行对行——如果发现主键大量重复导致结果异常,再切换到不同粒度模式。

FAQ
两张 Excel 表怎么自动对比差异?
上传或粘贴两张表,设置主键(如订单号),工具自动按主键匹配并逐字段比对,高亮显示差异。支持 Excel、CSV、粘贴文本三种导入方式。
Excel 对账数据会上传到服务器吗?
不会。所有数据处理都在您的浏览器本地完成,数据不会发送到任何服务器。关闭页面后数据自动清除。
两张表行数不一样能对账吗?
可以。工具按主键匹配而非按行号匹配,行数不同、顺序不同都不影响。未匹配的行会分别标记为"A有B无"或"B有A无"。
对账结果可以导出 Excel 吗?
可以。对账完成后点击"导出"按钮即可下载 Excel 格式的差异报告,包含匹配结果、差异明细和统计汇总。
ESC