夜雨聆风学习资料网

ARTICLE · 1189603

用Excel制作一个能自动汇总的项目工程量进度跟踪表

用Excel制作一个能自动汇总的项目工程量进度跟踪表
做工程项目的都知道,每周的项目例会上,都需要想上汇报"现在到底干完多少了",而你翻着十几份清单对不上数,顿时一阵头大。下面介绍一个用Excel制作的工程量进度跟踪表,使用这套表,用 1 个工作簿、3 张表、3 个函数,把进度做成"填一处、全线自动算"的机制。照着做,20 分钟内你能完整搭出来。

一、整体设计:进度总览、工程量明细、填报说明,3 张表各管什么

为了能整体把控总体进度,我先设计一个进度总览表,用于统计整个项目各个子项的进度百分比;工程量明细表是所有工程量的数据清单,每一个子项一条记录,填报说明是一个使用这套表的使用说明书,发给团队成员后,让他们按照填报说明,即可完成工程量的进度跟踪统计。三张表分工如下

表名
角色
怎么用
工程量明细
底层数据"仓库":每一项工程一条记录
你日常只改这一张
进度总览
自动汇总"驾驶舱":按子项、按区域统计完成率
公式自动算,禁手填
填报说明
操作手册:口径、注意事项白纸黑字
建一次,长期参考

二、建"工程量明细"表

1. 新建工作簿,把 Sheet1 改名为 工程量明细(双击标签即可改名)。

2. 在 A1:I1 输入 9 列表头:

序号
改造子项
区域
站点/项目
工程量
完成状态
完成日期
负责人
备注
1
泵站改造
城北
XX 泵站
1
未完成
张三

第 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,勿覆盖。动这三处,整套自动机制就废了。

六、常见问题排查

现象
原因
对策
汇总结果全是 0
条件区域与求和区域大小不一致;或文本条件漏英文引号;或跨表漏写 工程量明细!
核对三区域行数一致;条件加 " ";表名后补 !
状态不变色
条件格式"应用于"范围没选对;或公式误写 $F$2 锁死行
范围改 A2:I397;公式改回 $F2
改了明细,总览没动
工作簿被设成"手动计算"
公式 → 计算选项 → 选"自动"
完成率显示 0.27 而非 27%
没设百分比格式
单元格右键 → 设置单元格格式 → 百分比

至此,这个项目工程量进度跟踪表就做好了,通过这个进度跟踪表,你交付的不是一张表,而是一套可持续运转的进度机制:数据一次录入、汇总永远自动、状态永远可视。把这套模板存好,下一个项目你可以直接套,省下的是反复对账的人力和被追问时的心虚。

照着上面的方式做完,我建议你再花 2 分钟:① 把六类区域、九类子项按你实际项目替换;② 在"填报说明"里补一条你们自己的口径约定。改完,它就是你的专属进度跟踪系统。

喜欢的朋友,欢迎点赞、关注加收藏!

相关学习资料