先准备能说明问题的六行输入
本例两份表都按“一行一条订单商品明细”提交,以门店编号、订单号、明细号组成唯一键,数量单位都是件。为简化展示,表中明细号均为01。订单号按文本保存,避免把0001改成1。
| 来源行 | 唯一键 | 数量 | 处理结果 |
|---|---|---|---|
| 甲表第2行 | S01 / 0001 / 01 | 2 | 可用,保留 |
| 甲表第3行 | S01 / 0002 / 01 | 1 | 可用,保留 |
| 甲表第4行 | S01 / 0003 / 01 | 3 | 与乙表冲突,待核对 |
| 乙表第2行 | S01 / 0001 / 01 | 2 | 与甲表完全重复 |
| 乙表第3行 | S01 / 0003 / 01 | 4 | 与甲表冲突,待核对 |
| 乙表第4行 | S02 / 0004 / 01 | 空 | 数量未报,待核对 |
“完全重复”在本例指同一键的全部业务字段均相同。实际还有商品、金额或日期时,应把它们一并比较,不能只比数量。
读取与校验完成后,再决定哪些行能合并
工具先检查必需列、编号类型和数量规则,给每行附上源文件、工作表与原行号。空数量不自动变成0,因为0表示确认没有数量,而空值在本例表示未报。
当 Excel 将纯数字编号按数值读入时,可能去掉前导零,并受到15位有效数字的精度限制。此类编号应在输入或导入前按文本处理。若原文件已损失数字,工具应标出异常并回查来源,不能仅改显示格式后宣称修复。
冲突按业务键成组处理
0001的两行内容一致,保留一条,并把另一条登记为重复来源。0003的数量分别是3与4,工具把两行放进同一冲突组,可用结果中暂不包含该键。操作员看到两边原值及来源后,向提交人确认正确数量。
确认结果另作记录,写明选用值、确认人和依据,再生成新批次。不要直接把异常表里的3改成4却不留下原因,也不要因为乙表较晚收到就认定4正确。
交付三份能彼此核对的结果
本批共读取6行,得到可用2行、完全重复1行、待核对3行;待核对包含冲突2行和缺值1行。可用明细的数量合计为3件,明确不包含未确认的0003和0004。这是部分可用结果,不是全部业务总量。
输出包含可用明细、异常清单和批次摘要。摘要显示处理规则版本、来源文件清单、6=2+1+3的核对关系,以及是否还有无法读取的文件。原始文件留存,不随合并操作修改。
验收用原六行反向追查
逐行确认去向,再从可用明细回查原行,从冲突组找到两个来源。重复执行同一批输入,应得到相同分类;补齐0004后重跑,应记录新批次与变化原因。若只交付总数而无法解释0003为何没计入,这个方案就没有完成差异核对。