进度猫用户手册
用户手册 / 项目管理 / 进度计算方式

进度计算方式

最后更新 · 内容随产品迭代同步,界面差异以实际为准

进度数字有两种口径:按任务平均(默认,每个任务不论大小都算一票)和按任务权重(重要任务的一票更重)。本页把两种算法的计算过程逐步拆开讲清楚——看完你能自己手工验算任何项目的进度。

先分清三个量

量谁说了算举例
任务进度你自己填:勾完成 = 100%,取消 = 0%,或手动选 0~100%支付模块做到 60%
任务权重你自己设(默认 1):表达「这个任务是普通任务的几倍重要」支付模块设 5 = 抵 5 个普通任务
占比系统自动算 = 任务权重 ÷ 总权重,不需要你维护权重 5、总权重 7 → 占比 5/7 ≈ 71.4%
ℹ️

权重不会改变任务自身的进度(做到 60% 就是 60%),它只决定这个进度对父任务「有多大的话语权」。两件事互不干扰。

方式一:按任务平均(默认)

父任务进度 = 直接子任务进度的算术平均——每个子任务一票,不论重要程度:

步骤计算
① 把子任务进度相加60 + 100 = 160
② 除以子任务个数160 ÷ 2 = 80%

优点是简单直观;缺点是「一个核心模块」和「一份文档」各占一票——9 个琐碎任务完成而核心没动,进度也会显示 90%,数字偏乐观。

方式二:按任务权重计算

父任务进度 = 子任务进度的加权平均——每个子任务按权重投票。以下用三个子任务(A 权重 5、B 权重 1、C 权重 1;A 已完成 100%,B、C 还是 0%)完整拆一遍:

第 1 步:算总权重(分母)

子任务权重
A·支付模块5
B·接口联调1
C·上线文档1
总权重 Σ5 + 1 + 1 = 7

分母 7 就是「这三个任务的重要程度总合」,它也正是甘特图里父任务行权重列显示的数字(标着 Σ子)。它由系统自动求和,不需要任何人把它凑成 100。

第 2 步:算每个任务的占比

占比 = 自己的权重 ÷ 总权重。一句话理解本质:按权重计算,就是按「所有权百分比」分配进度——把总权重想成公司总股本、每个任务的权重想成持股数,占比就是持股比例;父任务进度 = 所有股东按持股比例汇报各自完成度后的汇总结果。

子任务计算占比含义
A(权重 5)5 ÷ 7≈ 71.4%对父进度有七成话语权
B(权重 1)1 ÷ 7≈ 14.3%一成半话语权
C(权重 1)1 ÷ 7≈ 14.3%一成半话语权
合计7 ÷ 7 = 100%话语权永远恰好分完

第 3 步:进度 × 占比,再相加

子任务自身进度占比贡献给父任务的进度
A100%5/75/7 × 100 = 71.43
B0%1/71/7 × 0 = 0
C0%1/71/7 × 0 = 0
父任务进度71.43 → 四舍五入 71%

这就是公式 父任务进度 = 5/7×100 + 1/7×0 + 1/7×0 = 71% 的全部含义:分母 7 是总权重,分子是「每个任务的进度 × 它的话语权」。写成一行等价公式就是 (5×100 + 1×0 + 1×0) ÷ 7 = 500 ÷ 7 ≈ 71。

换几个数字再练一次(两兄弟 5:2)

子任务进度权重贡献
支付模块60%55×60 = 300
UI 模块100%22×100 = 200
父任务「核心开发」(300+200) ÷ (5+2) = 500 ÷ 7 ≈ 71%

多层任务怎么算:父任务带着「子树总权重」上楼

上面的例子只算了一层。任务有多层嵌套时,规则是:父任务先在自己的子任务里算出进度,再以「子树总权重」作为自己的权重,参与更上一层的计算(与 Microsoft Project、Jira 的汇总方式一致)。完整两层算例:

任务层数进度权重说明
需求调研1100%1叶子任务
核心开发171%7(=5+2)父任务:进度、权重都由上表算出
上线文档10%1叶子任务
项目总进度(1×100 + 7×71 + 1×0) ÷ (1+7+1) = 597 ÷ 9 ≈ 66%

注意「核心开发」的权重不再是 1 而是 7——它肚子里装着 5+2 的重要程度,上楼投票时按整个子树的分量投。这就是加权模式能体现「一个大阶段比一件小事重要」的原理。

ℹ️

同一棵树在平均模式下的结果:核心开发 = (60+100)÷2 = 80%,项目 = (100+80+0)÷3 = 60%。对比加权模式的 71% / 66%:次要的上线文档在平均模式占 1/3 话语权,在加权模式只占 1/9——这正是两种口径的差别。

开启与切换

  1. 进入 项目设置 → 其他设置,找到进度计算;
  2. 选择「按任务数量平均(默认)」或「按任务权重计算」,保存;
  3. 切换保存后系统立即按新方式重新计算全项目进度,并提示计算结果;随时可切回,切回即还原(已设置的权重会保留,下次再切回加权模式继续生效);
  4. 选择权重方式后,甘特图表格在「工作日.」与「进度%」之间出现权重列,任务弹窗与侧滑详情也会出现权重输入框。
项目设置:进度计算方式(按任务平均 / 按任务权重计算)
项目设置:进度计算方式开关(图为权重模式选中态)

在哪里设置权重

  • 甘特图权重列:直接点单元格输入数字(和改进度的方式完全一样),支持小数(如 0.5、2.5);
  • 任务弹窗 / 侧滑详情:进度输入旁的权重输入框(数字输入带上下箭头,可 0.5 一档微调或直接输入);
  • 父任务行不可编辑:显示灰色「Σ子」数字,由子任务权重自动合计——想改父任务的分量,去改它的子任务。

权重取值 0~100:1 = 普通任务(默认,全部为 1 时结果与平均模式相同);3~10 = 核心任务;0 = 不参与进度计算(适合纯跟踪型任务,它再没完成也不拖累父进度,父进度满 100% 时它也不会被自动完成)。

甘特图权重列:工作日.与进度%之间,叶子可编辑、父行只读Σ子
甘特图权重列:叶子任务可编辑,父任务只读显示子树合计(图为核心开发 Σ子=5、支付模块权重 3)

常见疑问

✅

全部子任务完成后,父任务会正好 100% 吗?会,精确等于 100%。因为分母就是总权重:全部完成时分子 = 5×100 + 2×100 = 700,分母 = 5+2 = 7,700÷7 = 100。无论权重怎么设(99:1 也一样),占比合计恒为 100%,全部完成必然归满——这也是权重不用凑成 100 的原因。

✅

改了一个任务的权重,别的任务的权重数字会变吗?不会。你只改了那一个任务的数字,兄弟任务的权重值原样不动;系统会自动重新分配「话语权」:把 A 从 1 改成 5 后,三人占比自动从各 1/3 变为 5/7、1/7、1/7——不需要逐个调整,新增/删除任务同理。

ℹ️

切换计算方式后进度数字会变吗?任务没有嵌套(全是一层子任务)且都没设过权重:数字不变。有嵌套:数字会变为「所有叶子任务等权」的口径(每层内部先加权,再按子树分量向上汇总)——保存时的提示会展示重算后的新进度,切回平均模式即还原。

⚠️

权重不是百分比:设 100 不代表「完成了 100%」,只代表「顶 100 个普通任务的重要程度」。日常用 1/2/3/5/8 这类小数字就足够表达轻重了。也请注意:父任务进度到 100% 的条件是所有权重 > 0 的子任务全部完成——权重再高也不能一票决定完成。

✅

该用哪种方式?任务轻重差不多(日常协作、流程性工作)→ 默认平均即可。项目里核心模块与琐碎任务混杂、进度数字要用来向上汇报或判断风险 → 开启权重,让「重要的没做完」如实压低进度,而不是被杂事灌水。