ARTICLE · 1189603
用Excel制作一个能自动汇总的项目工程量进度跟踪表
一、整体设计:进度总览、工程量明细、填报说明,3 张表各管什么
为了能整体把控总体进度,我先设计一个进度总览表,用于统计整个项目各个子项的进度百分比;工程量明细表是所有工程量的数据清单,每一个子项一条记录,填报说明是一个使用这套表的使用说明书,发给团队成员后,让他们按照填报说明,即可完成工程量的进度跟踪统计。三张表分工如下
| 工程量明细 | ||
| 进度总览 | ||
| 填报说明 |
二、建"工程量明细"表
1. 新建工作簿,把 Sheet1 改名为 工程量明细(双击标签即可改名)。
2. 在 A1:I1 输入 9 列表头:
第 2 行起就是数据。本例共 396 条,覆盖 9 类子项:泵站改造 40、变压器室监控 16(工程量计 17)、温控-风扇 37、双联路 25、UPS 支架 34、触摸屏 37、PLC 程序 179、格栅阀门接入 25、小程序优化 3。
3. 给 F 列(完成状态)做下拉,把"状态"变成选择题,杜绝手打错字:
选中 F2:F397 → 菜单数据 → 数据验证(WPS 中是"有效性");

允许选 序列 → 来源填 已完成,未完成(半角逗号);

确定后,这一列每个格子都有下拉箭头,只能二选一。

原理:下拉列表在这里的本质是"字段约束"。后面汇总公式靠精确匹配"已完成"三个字来计数;一旦手打成"完成""已做完",公式就认不出、统计归零。所以,这里使用下拉列表来从源头防止用户随意输入,造成错误。
4. 让"已完成"的行整行自动变绿,进度一眼可见:
选中 A2:I397 → 开始 → 条件格式 → 新建规则 → 选"使用公式确定要设置格式的单元格";

公式填 =$F2="已完成";

点"格式" →“图案”→ “其它颜色”→ “自定义”→ HEX输入 #C6EFCE → 确定。

原理:公式里的 $F2 是"锁列不锁行"——$ 锁住 F 列,行号 2 不锁。这样规则套用到第 50 行时,自动变成比对本行自己的 F50。若误写成 $F$2,所有行都会去比对第 2 行,整表要么全绿要么全不绿。
设置完成后,效果如下


三、建"进度总览"表(自动汇总)
1. 新建 Sheet2 改名 进度总览。A1 写标题。
2. 左侧建子项统计区:A4:G4 表头为 序号 / 改造子项 / 总工程量 / 已完成 / 剩余 / 完成率 / 状态;B5:B13 依次填 9 个子项名称(与明细 B 列完全一致,字不能错)。

3.C5 写"总工程量"——把该子项全部工程量加起来:
总工程量(C5):按"子项"把明细 E 列求和=SUMIFS(工程量明细!$E:$E,工程量明细!$B:$B,$B5)


原理 · SUMIFS:语法是 SUMIFS(求和区域, 条件区域1, 条件1, [条件区域2, 条件2]…)——"在满足某条件的行里,把求和区域的值相加"。这里:求和区域 工程量明细!$E:$E(工程量列),条件区域 工程量明细!$B:$B(子项列),条件 $B5(本行子项名)。
三个易错点:① ! 是"跨表引用"符号,表名后必须带它;② $E:$E 写整列,以后明细增删行不用改公式;③ 条件 $B5 用 $ 锁列,下拉时列不变、行自动顺延。
4.D5 写"已完成"——在上面的基础上加第二道条件:
已完成(D5):再加"状态=已完成"这道筛子=SUMIFS(工程量明细!$E:$E,工程量明细!$B:$B,$B5,工程量明细!$F:$F,"已完成")

原理:和 C5 只差最后一对参数 工程量明细!$F:$F, "已完成"——这就是 SUMIFS 的"多条件"能力:既要子项匹配,又要状态是"已完成"。注意文本条件 "已完成" 必须包英文双引号,而单元格引用 $B5 不加引号,这是最常漏的一点。
5.E5 剩余工程量、F5 完成率:
剩余工程量(E5)=C5-D5

完成率(F5):先防"除以0",再算比例=IF(C5=0,0,D5/C5)

原理 · IF:IF(判断, 真时结果, 假时结果) 做二选一。这里用 C5=0 先挡住"总工程量还是 0 就别除",否则 Excel 会报 #DIV/0!。F5 记得设为"百分比"格式(右键单元格→设置单元格格式→百分比)。

6.G5 状态——用嵌套 IF 把完成率翻译成三态:
状态(G5):先判满100%,再判是否开工,顺序不能反=IF(F5>=1,"已完工",IF(D5>0,"进行中","未开始"))

原理:嵌套 IF 像"剥洋葱",从最严格的条件往里判。必须先判满 100%(F5>=1)再判是否开工——若反过来先判"D5>0 就进行中",那 100% 完成的也会被归成"进行中"。用 >=1 而非 =1,是为防浮点误差(如 0.9999999 不算满);D5>0 表示"开工了但没满"。
完成后,效果如下图
7. 选中 C5:G5,下拉填充到 C13:G13。然后在合计行:C14=SUM(C5:C13)、F14=D14/C14。

8. 右侧建区域统计区:
I5:M5 表头为 区域 / 总工程量 / 已完成 / 剩余 / 完成率;I6:I11 填 6 个区域(城区/城北/城西/城东/城南/软件项)。

以"城北"为例:
区域总工程量(J6)=SUMIFS(工程量明细!$E:$E,工程量明细!$C:$C,"城北")

区域已完成(K6):多一道状态条件=SUMIFS(工程量明细!$E:$E,工程量明细!$C:$C,"城北",工程量明细!$F:$F,"已完成")

区域完成率(M6)=IF(J6=0,0,K6/J6)

这里条件直接写死区域名 "城北"(文本常量),不需要像子项那样用 $B5 引用;L6 同 E 列写 =J6-K6。合计 J12=SUM(J6:J11)。
9. 整体完成率:A16 写标签"项目整体完成率",C16 填 =F14(即合计完成率),设为百分比格式。

10. 给总览上色,进度可视化:
选中 F5:F14 → 首页 → 条件格式 → 数据条 → 选绿色(#63BE7B),完成率高低一眼可比;


选中 G5:G14 首页 → 条件格式 → 新建规则 =$G5="已完工" 填绿、=$G5="进行中" 填黄(#FFEB9C);



选中 M6:M12 → 首页 → 条件格式 → 数据条 → 蓝色(#5B9BD5)。


四、建"填报说明"表
1. 新建 Sheet3 改名 填报说明,写清除操作方式,数据口径,注意事项等使用说明:
- 填报方式:
只维护"工程量明细",状态用下拉选,其余自动算; - 自动统计:
总览靠 SUMIFS/IF 从明细取数,禁手填; - 数据口径:
工程量合计 397(396 条记录,监控有一处计 2),各子项数量白纸黑字; - 注意事项:
子项/区域名称必须与明细完全一致,否则公式匹配不到。
五、日常怎么用
1. 进度有更新时,只在"工程量明细"的 F 列改下拉(未完成→已完成)。
2. 切到"进度总览",子项完成率、区域完成率、整体完成率全部自动刷新,该变绿的行自动变绿。
3. 会上被问进度,直接把总览截图发过去——数字自己算的,错不了。
禁改清单:① 明细 F 列只能选下拉,禁止手打字;② 总览 C/D/E/F/G 与 J/K/L/M 全是公式,禁止手填数字;③ C16 整体完成率公式 =F14,勿覆盖。动这三处,整套自动机制就废了。
六、常见问题排查
至此,这个项目工程量进度跟踪表就做好了,通过这个进度跟踪表,你交付的不是一张表,而是一套可持续运转的进度机制:数据一次录入、汇总永远自动、状态永远可视。把这套模板存好,下一个项目你可以直接套,省下的是反复对账的人力和被追问时的心虚。
照着上面的方式做完,我建议你再花 2 分钟:① 把六类区域、九类子项按你实际项目替换;② 在"填报说明"里补一条你们自己的口径约定。改完,它就是你的专属进度跟踪系统。















































































