第一条:一行代表什么,用哪几列识别
示例中,两家门店都交“订单明细”,但甲店一行是一张订单,乙店一行是一种商品。同一个订单号出现两行,可能是重复,也可能是买了两种商品。先统一为“一行是一张订单的一条商品明细”,再把门店编号、订单号、明细序号组合成唯一键。
例如S01+000123+02表示S01门店订单000123的第2条明细。若没有稳定明细序号,应向来源补充;不能把当前Excel行号当作长期业务编号,因为排序或插行后它会改变。
第二条:编号按文本保存,金额和数量才参与计算
订单号000123是标识,不应变成123;16位以上的纯数字编号也不应按数值存储。Microsoft说明,Excel数值精度最多15位有效数字,超过部分可能丢失。应在输入或导入前将编号列按文本处理;之后再改格式,不能还原已经失去的数字。
已经收到的编号与原系统不一致时,回到来源重新导出。只有业务规则明确“固定6位且前面全是补零”时,才可按该规则修复123;不能对所有短编号猜测补零。保留修复前值与规则,便于回查。
第三、四条:日期不猜,空值不冒充零
| 输入 | 可能含义 | 本例规则 |
|---|---|---|
| 03/04 | 3月4日或4月3日,且缺年份 | 待核对;来源统一提供年、月、日 |
| 2026-04-03 | 完整业务日期 | 校验为有效日历日期后纳入 |
| 退款额为空 | 没填、未知或没有退款 | 本例定义为未报,不能按0汇总 |
| 退款额为0 | 已确认无退款 | 参与统计,保留确认来源 |
| 退款额为“-” | 习惯性占位或不适用 | 不自动转0;要求提供状态 |
日期显示看起来一样,不代表底层内容一致。规则要同时限定允许的输入形式与业务含义,例如统计使用“订单发生日期”,不是“录入日期”。含时分的记录还要约定所在时区和截止点。未知、不适用和已确认零值,必要时用单独状态列表示。
第五条:数值必须带着单位理解
甲店数量10代表“件”,乙店数量2代表“箱”,不能直接相加为12。需要商品、来源单位、目标单位和换算关系;没有可靠换算规则的行先暂停合并。金额还需约定币种、是否含税、折扣及退款的统计方式,不能仅因为列名都叫“金额”就求和。
本例可以先只合并单位为“件”的明细,并把箱装数据列入待确认清单。明确缩小结果范围,比在表尾用一句“数据仅供参考”掩盖混算更有帮助。
第六条:区分完全重复和同号冲突
同一唯一键且所有业务字段相同,按既定规则保留一条,重复来源仍登记在处理记录里。同一键的数量分别为2和3,则是冲突;将该键对应的记录一并隔离,交给来源负责人确认。不能默认“最后一个文件更新”或“较大的数字正确”。
输出应有可用明细、异常明细、处理说明三部分,并保留源文件、工作表与原行号。用“有效+重复+异常=已读取记录数”核对处理去向,同时单独显示未成功读取的文件。能对齐这些信息,合并结果才可以进入下一步报表。