编辑 | blame | 历史 | 原始文档

汇总大表:软件输出 与 手工定稿 差异清单(2026-08)

比对日期:2026-09-21 比对方式:openpyxl 逐格读取(同时读公式与缓存值),按「块 + 行标签 + 列头」语义对齐后逐格比对
- 程序(软件输出):D:\桌面\生成数据\生成_道路运输量汇总表_2026-08 (2).xlsx(2026-09-21 16:49,1,204,461 字节)
- 手工(手工计算/定稿):D:\05_数据分类\汇总表\8月汇总定稿\2026年8月客运量、货运量定稿.xlsx(2026-09-13,1,276,005 字节)
- 两份文件均 19 个页签、页签名一致,但**多处行/列布局不同**。本清单已先做列偏移(+1 列等)与行错位抵消,只保留实质差异。
- 明细全量见同目录 汇总大表_差异明细_2026-08.csv(943 条)。
- 判定口径:相对差 ≤1e-12 视为同值;1e-12~1e-6 记为「取整差异」;>1e-6 记为「数值差异」。

结论速览

类别 条数 是否需要处理
数值差异(>1e-6) 315 需关注,其中 304 条是同一个母版问题(U 列)
文本型数字(格式差异,值相同) 286 建议统一为数值格式
取整差异(≤1e-6) 207 可不处理(手工取整/浮点残差)
仅程序有值 129 需确认(程序多出的列/块)
错误值差异(#REF!/#DIV/0!) 4 需确认
文本不同 2 按手工措辞改
合计 943

完全一致(逐格比对 0 差异)的页签/区域:公路总客运、2025年城市客运量、中口径客运量、中口径计算过程、城市分市州(共有部分)、中口径分析(共有部分)、中口径排名(数据)、道路运输周转量(数值)、货运量排名/货运周转量排名(数值)、城市汇总(共有部分)、公交/出租/网约车(除 U 列)、轨道、轮渡(数值)、中口径明细(除 U 列)、城市客运(数值)、货运(除下文所列)。


一、数值差异(需要关注)

1.1 「去年累计」列口径不一致 —— 304 格(母版自身前后矛盾)

页签 单元格范围 程序(软件输出) 手工定稿 程序公式 手工公式
公交 U5:U76(72 格) U5 = 88908.91 U5 = 114285.68 =V5+X5+Z5+AB5+AD5+AF5(2025 年 1-6 月) =V5+X5+Z5+AB5+AD5+AF5+AH5+AJ5(1-8 月)
出租 U5:U76(72 格) U5 = 39797.94 U5 = 52461.16 同构 同构
网约车 U5:U76(72 格) U5 = 16384.07 U5 = 22474.11 同构 同构
中口径明细 U99:U188 区间内 88 格 U99 = 1102278.385724 U99 = 1256684.215724 =V99+…+AH99(到 7 月) =V99+…+AH99+AJ99(到 8 月)
  • 根因:程序沿用母版公式,只累加到 6 月(公交/出租/网约车)或 7 月(中口径明细);手工补足到 8 月。
  • 该列在母版里与同页「累计同比」的分母口径自相矛盾(母版 T5 的分母是 1-8 月)。
  • 业务口径已确认:该列可清空、留空白 → 程序侧按清空处理即可,无需补 7、8 月。

1.2 货运 2022 年累计同比(4 个市州)—— 10 格

位置(程序 → 手工) 行 程序 手工
EA92 → EB64 仙桃|规上+规下周转量 -0.014716890 +0.086175944
EA94 → EB66 仙桃|规下货物周转量 -0.014716890 +0.086175944
EA96 → EB67 潜江|规上货运量 +0.179275525 +0.282164376
EA98 → EB68 潜江|规上+规下周转量 -0.058086590 +0.024805503
EA100 → EB70 潜江|规下货物周转量 -0.113561229 -0.036970886
EA102 → EB71 天门|规上货运量 +0.076149971 +0.197304029
EA104 → EB72 天门|规上+规下周转量 -0.042328172 +0.059261693
EA106 → EB74 天门|规下货物周转量 -0.062562255 +0.035500853
EA110 → EB76 林区|规上+规下周转量 -0.047784436 +0.095158141
EA112 → EB78 林区|规下货物周转量 -0.222848165 -0.106185416

另有 2 格:EA93→EB65(仙桃|规上货物周转量)、EA111→EB77(林区|规上货物周转量)——程序留空,手工为 #DIV/0!。

→ 此前业务已确认「软件对」,以程序为准。

1.3 货运「2021 年累计」列 —— 74 格(程序有值,手工全空)

  • 范围:程序 EO5:EO112(全省 6 行 + 17 市州 × 4 行 = 74 行),手工对应列 EP 全空。
  • 示例:全省货运量 EO5 = 161309.53(= 2021 年 1-12 月合计),手工 EP5 为空。
  • 注:手工该列的**表头「累计」在 EP4 是有的**,只是数据区为空;同页 2021 年 12 个月的数据两边一致。

1.4 班线包车 IL 列(2019 年累计同比)—— 34 格

情况 条数 示例
程序有值、手工为 #REF! 2 IL4 程序 -0.016421275,手工 #REF!(手工公式 =(IK4-#REF!)/#REF!)
程序有值、手工空白 31 IL8 程序 -0.089568043,手工空
手工为杂字符 1 IL50(仙桃|客运量)程序 0.007785888,手工为「`」

→ 手工定稿该列引用已断(#REF!),程序计算正常。

1.5 货运 历史月份数值的小数尾数差异 —— 139 格(手工取整)

  • 范围:BA5:EF15,集中在**全省 6 行**的 2021-2024 年各月值/同比/环比列(另有 2 格在武汉行)。
  • 相对偏差最大 7.7e-7、中位 2.7e-9,即手工把值取整到约 12 位有效数字。
  • 示例:
单元格 含义 程序 手工
BA5→BB5 全省货运量 2 月与去年同比 -0.3259271574 -0.3259269996
CA5→CB5 全省货运量 2023 年 2 月 11992.2900 11992.2872
CE5→CF5 全省货运量 2023 年 4 月 14303.6000 14303.6042
DM5→DN5 全省货运量 2022 年 1 月 10709.5234 10709.5265
DZ5→EA5 全省货运量 2022 年累计 144979.2825 144979.2854

→ 数量级在 1e-7 以下,**不影响结论**。

1.6 货运 尾部核算块 —— 63 格(全是浮点残差)

  • 程序 114-118 行 / 手工 80-84 行(因上文行数差而整体下移)。
  • 两边都是 ±1e-10 量级的浮点残差(相当于 0),仅是残差不等于 0 的写法不同 → 无实质差异。

1.7 其他单点

位置 程序 手工 说明
中口径明细 S1/S2/AT1 2.9e-11 / -2.3e-10 0 页内「校验行」残差,无意义
城市客运 S1 -9.3e-12 5.2e-12 页内校验行残差
货运周转量排名 J5→J26 0.0141585262850 0.0141585262863 全省规下增速,相对差 8.7e-11
轨道、轮渡 M7/M9/E14/E15/E16 数值 文本型数字,值相同 见 2.13

二、结构/版式差异(非数值,但影响逐格对齐)

2.1 货运

  • 行:程序每市州 6 行,手工 4 行 → 程序多 34 行(17 市州 × 「规上+规下货运量」「规下货运量」2 行)。
  • 列:从 V 列起手工整体右移 1 列——手工在 V 列多一个**无表头**的辅助列,内容是「2025 年 1-8 月累计」(74 格,如 V5=127907.75);程序没有这一列,直接用公式求和。
  • 尾部历史核算块位置随之不同(程序 114-118 行 / 手工 80-84 行)。

2.2 货运量排名 / 货运周转量排名

  • 两个块的**顺序相反**:程序先「1-8 月累计」后「8 月」;手工先「8 月」后「1-8 月累计」。
  • 手工的「8 月」块市州名带「市」后缀,程序的「8 月」块不带。
  • 手工 货运周转量排名 44-51 行为空行。

2.3 城市汇总

  • 程序多一个「2026 年 8 月全省完成城市客运量情况」块(A12:E20,共 41 格:标题 1 + 表头 5 + 数据 35);手工该页只有 1-8 月累计块 + G12:O20 的 2025 年 1-12 月块。

2.4 城市分市州

  • 程序多两个「8 月」块(第 45-89 行);手工只到第 44 行(两个 1-8 月累计块)。程序 89 行 / 手工 44 行。

2.5 中口径分析

  • 程序多「8 月中口径客运量及周转量」块(第 9-16 行);手工只到第 7 行(1-8 月累计块)。程序 16 行 / 手工 7 行。

2.6 中口径排名

  • 布局完全不同:程序把「1-8 月累计」和「8 月」两个块**纵向排列**在 J:R(第 1-20 行 / 22-41 行);手工把「8 月」放在 A:H(**没有市州名列**)+「1-8 月累计」放在 J:R,同一行区间(第 1-20 行)。
  • 数据完全一致(按块对齐后 0 差异)。

2.7 城市客运

  • 手工多一列 AJ「2025 年 1-7 月累计」(37 格,公式 =V+X+Z+AB+AD+AF+AH);程序没有该列 → 从 AJ 起手工整体右移 1 列。

2.8 班线包车

  • 手工多 1 列(共 288 列 vs 程序 287 列)。
  • 2015/2016 历史区列布局不同:程序 JL/JM = 「累计」/「同比」(有值);手工 JL = 「2015 全年」、「JY」= 「2015 年全年」、「JZ」= 「预估2016 年全年」(JZ4=88020、JZ5=4896760),且手工 JY/KA/KB 为 #REF!。

2.9 道路运输周转量

  • 手工多 2 列(AA/AB,内容为空);表头与数值一致。

2.10 错误值统计对比

页签 程序 手工
货运 #DIV/0! 38、#REF! 3 #DIV/0! 40、#REF! 1
班线包车 #DIV/0! 228、#REF! 8 #DIV/0! 228、#REF! 14
中口径明细 #REF! 2、#DIV/0! 64 同程序
中口径客运量 #DIV/0! 26 同程序

2.11 文本型数字(值相同,存储为文本)

页签 程序 手工 备注
班线包车 0 196(FV8:IX57,FV/FW/FX/FY/GA/GC/IT/IV/IX 列) 形如 '374.0000'、'33,437.0000'
公交 68(AF 列) 153(M 68 + G 17 + AF 68) 手工多 M、G 两处
轨道、轮渡 0 5(M7、M9、E14、E15、E16) 形如 '227.80'

→ 与「班线包车页签文本格式数值改数值格式」的整改方向一致,建议手工定稿也一并清理。


三、纯文字差异

位置 程序(软件输出) 手工定稿
道路运输周转量!A23 2026年8月全省完成交通周转量情况 2026年8月全省**累计**完成交通周转量情况
轨道、轮渡!R2、R11 8月与去年同比 同比
货运量排名!A22←→A1(8 月块标题) 2026年8月全省分市州完成公路货运量情况 2026年8月各市州货运量排名
货运量排名 8 月块表头 B/G/L 完成(万吨) 规上货运量(万吨)/规下货运量(万吨)/合计货运量(万吨)
货运周转量排名!A24←→A1(8 月块标题) 2026年8月全省分市州完成公路货物运输周转量情况 2026年8月各市州货物周转量明细表
货运周转量排名 8 月块表头 B/G/L 完成(万吨公里) 规上周转量(万吨公里)等
市州名后缀 武汉 / 黄石 / 恩施 / 天门(无后缀) 武汉市 / 黄石市 …;且「恩施**市**」(应为恩施州)、「天门」(无后缀)
班线包车 2015 区表头 2015全年 2015年全年 / 预估2016年全年

四、按页签汇总

页签 数值差异 取整差异 文本型数字 仅程序有值 错误值差异 文本不同 合计
货运 10 202 0 74 2 0 288
公交 72 0 85 0 0 0 157
出租 72 0 0 0 0 0 72
网约车 72 0 0 0 0 0 72
中口径明细 88 3 0 0 0 0 91
班线包车 1 0 196 31 2 0 230
城市汇总 0 0 0 24 0 0 24
轨道、轮渡 0 0 5 0 0 2 7
城市客运 0 1 0 0 0 0 1
货运周转量排名 0 1 0 0 0 0 1
其余 9 个页签 0 0 0 0 0 0 0
合计 315 207 286 129 4 2 943

另:城市汇总、城市分市州、中口径分析、中口径排名 存在块级结构差异(见第二节),未计入本表的逐格数。


五、比对方法(可复现)

  1. 用 openpyxl 分别读 data_only=True(缓存值)与 data_only=False(公式)。
  2. 逐页签确定「行标签列 / 表头行」,按块标题(累计 / 当月)切块。
  3. 列对齐:以表头文本序列做序列比对求列偏移(货运 从 V 列起 +1、城市客运 从 AJ 起 +1、班线包车 尾部 2015/2016 区 −3 等),货运/班线包车/城市客运 表头校验 0 处不一致。
  4. 行对齐:按「市州(列 A 前向填充)+ 指标(列 B)」匹配;市州名去除「市/州」后缀后比对。
  5. 逐格判定:数值按相对容差分档,文本/错误值/文本型数字单独分类。
  6. 标签列(A/B)单独做文字差异核对,避免合并单元格造成的假差异。