先决定要核对订单,还是分配到每条明细
本例只问“每张订单的收款与订单金额能否核对”,不问“每笔款该分给哪个商品”。因此订单表允许一单多明细,收款表也允许一单多笔;两边金额可以按订单号相加,但不能凭金额相等推断款项真实归属。币种、税费、退款和日期范围必须先采用同一口径。
若目的是给明细补负责人,使用唯一的资料键;若目的是跨文件追加同类交易,先读按列名合表。三种操作解决不同问题。Microsoft的关联说明也区分按键匹配与关联方式;本文的行数与金额推导来自下方自编输入。
两份CSV与逐订单参考答案
以下是同一金额单位、同一已确认结算范围的教学数据,不含真实客户。分别复制保存为orders.csv和payments.csv。两表均保留Order与Amount,避免在核对入口把不同金额列误认为同一字段;Line与Payment只是来源记录标识。
订单来源5行、总额300;收款来源4行、总额295.01。总差额−4.99只能作为核对结果之和,不能据此说每单都已收齐:一笔25的待查收款可能抵消另一笔30的未收订单。
Order,Line,Amount
O-17,1,120
O-17,2,80
O-18,1,50
O-18,2,20
O-20,1,30Order,Payment,Amount
O-17,P-1,100
O-17,P-2,100
O-18,P-3,70.01
O-19,P-4,25| Order | 订单 / 收款(行数) | 差额 | 应如何解释 |
|---|---|---|---|
| O-17 | 200(2) / 200(2) | 0 | 一致;仍不代表两笔款与两条明细逐笔对应 |
| O-18 | 70(2) / 70.01(1) | 0.01 | 金额在容差内,行数不同,需要结算依据 |
| O-20 | 30(1) / 无记录(0) | -30 | 仅左表;没有记录不等于已确认收款为零 |
| O-19 | 无记录(0) / 25(1) | 25 | 仅右表;排查遗漏订单或错误归属 |
两边各两条记录,为什么会得到四条
自编数据:订单 O-17 有两条明细,金额分别为 120 和 80;同一订单有两笔收款,金额分别为 100 和 100。两边按订单号关联时,每条明细都能匹配两笔收款,得到 2×2=4 行。结果里明细金额合计为 120+120+80+80=400,收款合计也变成 100+100+100+100=400。两边仍相等,却都比来源的 200 多了一倍。
修复取决于问题。如果要看每张订单是否收齐,应先各自按订单号汇总成一行:O-17,订单金额 200;O-17,收款金额 200,再比较。如果要看每条明细的收款分配,就需要另一个经确认的分配规则或明细键,不能把订单总收款直接复制到每条明细。差异比较模式要求唯一键,关联模式则会展开重复匹配;不能为了绕过比较报错随便删掉合法明细。
| 阶段 | 行数 | 订单金额合计 | 收款金额合计 |
|---|---|---|---|
| 原始订单明细 / 原始收款 | 2 / 2 | 200 | 200 |
| 仅按订单号逐行匹配 | 4 | 400 | 400 |
| 两边先按订单号汇总再比较 | 1 | 200 | 200 |
在本站跟做:先核对来源,再运行对应操作
数据工作台的“关联与差异”使用所选两张原始表,“分组汇总”使用当前工作数据。修改清洗规则并采用结果,并不会自动替换那两张原始表。若要比较清洗后的版本,应导出后重新导入,并检查文件名、行数与字段;不要以为屏幕上清洗过,就一定比较了新结果。
本站差异比较要求键唯一,关联可展开重复匹配,金额核对可按键聚合;遇到重复键提示时先确认自己是否选错模式。只有证据表明重复记录应删除,才参考组合键去重,不能把合法分次收款去重成一笔。
本例只需核对与关联两条路线。其他材料出现解析、字段或交付问题时,再按下列用途选择入口,不必把每个工具都运行一遍。
- 在表格核对入口导入orders.csv与payments.csv,分别设为左表和右表,关联键选Order、金额列选Amount、绝对容差填0.02。生成结果,逐行对照上表。
- 若想观察为什么金额放大,在表格关联入口导入相同两表,选Order和左关联。预期7行:O-17四行、O-18两行、O-20一行;O-19不会出现在左关联中。改全关联应为8行。
- 只查看O-17的四条匹配记录:两边金额各变成400。这是关联展开带来的重复展示,不能直接作为订单或收款汇总。核对原始两表时仍应是200对200。
- 查看CSV表:变换前检查分隔符、引号内换行、表头位置及已知首尾记录。
- 将CSV转为Excel:确认导入后标识和日期未被改写,再重新打开工作簿检查实际单元格。
- 建立字段字典:将别名映射至标准表头,注明单位与必填项,导出前检查校验报告。
- 按规则清洗字段:先在样本上标准化和去重,保留所选键与来源供核查。
- 去除精确重复行:仅在一行已代表目标记录时按行去重;它不能解决同一标识对应冲突记录的问题。
- 关联并对比表格:选择关联前检查键是否唯一,再检查一对多展开与未匹配键。
- 核对金额与异常:明确聚合键与数值容差,调查差异,不要为强行对齐而删除异常。
- 汇总已检查数据:按目标维度分组,区分空白与零,并比较来源和输出合计。
- 查找表格公式:选择实际使用的表格软件,用正常行、空值、重复键和边界值测试公式。
容差只处理金额差,不能抹去行数问题
在表格核对工具中,差额按“右表合计 − 左表合计”计算,容差是所选金额单位的绝对值。自编左表 O-18 两行分别 50 和 20,右表一行 70.01;差额为 0.01。容差设为 0.02 时,金额在容差内,但左边两行、右边一行,结果仍提示行数不同。容差设为 0 时,结果优先提示数值差异。
是否接受这两行对一行,需要依据业务说明:它们可能是两条合法明细结成一笔款,也可能重复导入了其中一条。先回到来源行,而不是把容差扩大到不再显示问题。同样,右表独有的 O-19 应列为仅右表;金额为空或“待定”应处理为数值无效,不要用零代填后假装已对齐。
让清洗记录能解释每一处总量变化
一份有用的处理记录不必很长,但应覆盖造成结果变化的步骤。例如:导入 6 行,移除已核实重复的 1 行,保留 5 行;其中一行金额缺失,列入异常;其余 4 行参与汇总。不能把“有 5 行”写成“5 行全部核对通过”。同时保留源文件名、源行号和实际使用的键,让被移除或暂不计算的记录仍能找到。
如果清洗前后金额合计不同,先逐步比较去空白、类型转换、去重和过滤后的结果,定位第一个发生变化的阶段。只有明确某一行为什么需要剔除后,才更新可计算合计。格式化后的表格更整齐不是删除异常的依据,异常表也是交付的一部分。
交付一份能解释异常的对账结果
这份练习可以交付四条订单级结果和两项待查:O-20为何没有收款,O-19为何没有订单;O-18另附两行对一笔的结算说明。原始文件、核对参数和来源记录一起保留。若关键金额为空,先列为数值无效,不能用0让结果变绿。
CSV格式说明允许引号内换行;实际导入其他材料时应数解析后的记录。对账通过的条件是可解释的记录归属、金额与异常处理,不是两列总额相等或一张整齐的截图。
本例可复查的交付依据
- 5条订单明细合计300,4笔收款合计295.01。
- 4个订单键都可追到来源,差额之和−4.99。
- O-18的容差与行数差分别解释。
- O-19、O-20保留待查,没有为对平而删除。
常见问题
能用客户姓名作为关联键吗?
只有在本数据中已确认唯一性与含义时才可使用,否则应采用已确认的稳定键。
空白等于零吗?
不等于,计算和聚合前先定义缺失值规则。
关联为什么增加了行?
重复键可能产生多个匹配,应检查两边键数量并选择预期记录粒度。
参考资料与延伸阅读
按步骤开始处理
进入对应工具,预览处理结果,检查导出的文件。

