WEBSITE
GitHub:
在进行项目管理时,清晰的进度追踪能够帮助团队保持高效运转。Notion作为一款强大的协作工具,不仅可以帮助你记录和管理任务,还能通过灵活的公式与进度条展示任务完成情况。本文将介绍如何在Notion中通过自定义公式设置进度条,自动化任务管理过程,提升工作效率。
设置基本的任务进度条
首先,我们来看看如何创建一个基本的进度条。Notion公式可以根据任务的子任务状态(例如“Done”和“Doing”)来计算主任务的完成度。你只需要根据以下步骤进行设置:
1.创建子任务列表:
为主任务创建一个子任务属性,并将每个子任务的状态设置为“Done”、“Doing”或“Not Started”。
2.编写进度公式:
使用以下公式计算完成度,并将其应用到主任务的进度栏中:
lets( completed, length(filter(prop("Sub-tasks"), current.prop("Status") == "Done")), total, prop("Sub-tasks").length(), progress, if( total > 0, completed / total, 0 // 若无子任务,默认进度为0 ), bars, floor(progress * 10), spaces, 10 - bars, join([ substring("■■■■■■■■■■", 0, bars), substring("░░░░░░░░░░", 0, spaces), " ", format(round(progress * 100)) + "%" ], "") )
这段公式会生成一个类似“■■■■■■░░░░░░”的进度条,表示当前任务的完成情况。
根据任务状态动态调整进度条
为了更智能地处理任务进度,我们可以根据任务的Status来调整进度条。例如,当任务处于“进行中”时,自动设置50%的进度;当任务完成时,进度显示为100%。这样,进度条将更加精准地反映当前任务的实际状态。
lets( // 通过状态来判断进度 status, prop("Status"), completed, length(filter(prop("Sub-tasks"), current.prop("Status") == "Done")), total, prop("Sub-tasks").length(), // 自身进度根据状态决定 selfProgress, if( status == "In Progress", 0.5, // 进行中时默认50% if( status == "Done", 1, // 完成时为100% 0 // 其他状态为0% ) ), // 优先判断是否有子任务 progress, if( total > 0, completed / total, // 有子任务时按子任务计算 selfProgress // 无子任务时用自身进度 ), bars, floor(progress * 10), spaces, 10 - bars, // 增强可视化效果 if( total == 0, "✦ " + format(round(progress * 100)) + "% (自主进度)", // 无子任务时的特殊标记 join([ substring("■■■■■■■■■■", 0, bars), substring("░░░░░░░░░░", 0, spaces), " ", format(round(progress * 100)) + "% (", completed + "/" + total, ")" ], "") ) )
在这个公式中,当任务状态为“进行中”时,进度条会自动显示50%,而在任务完成时,显示100%。
修改要点:
status变量:根据任务的Status来决定”自身进度”的值。
- 如果状态为”进行中”,则设置自身进度为50%
- 如果状态为”完成”,则设置为100%。
- 其他状态则默认0%。
🌰 使用示例:
场景 | 子任务数 | 状态 | 显示效果 |
进行中 | 0 | 进行中 | ✦ 50% (自主进度) |
完成 | 0 | 完成 | ✦ 100% (自主进度) |
混合状态(子任务0且未设自身进度) | 0 | 未开始 | ✦ 0% (自主进度) |
增强可视化效果
为了让进度条更加直观,我们可以在进度条旁边加上颜色标记,帮助用户快速识别任务状态。例如,使用绿色表示进度高于70%,黄色表示进度在50%-70%之间,红色表示进度低于50%。
if( total == 0, if(progress >= 0.7, "🟢", "🟠") + " " + format(round(progress * 100)) + "%", if(progress >= 0.8, "🟢", progress >= 0.5, "🟡", "🔴") + " " + format(round(progress * 100)) + "%" )
这种方式不仅能够让任务进度条更具可读性,还能帮助团队成员根据颜色迅速判断任务进展。
自动化任务进度更新
为了解决手动更新进度的问题,我们可以设置自动化规则,确保在子任务完成时,主任务的进度自动更新。这一自动化功能能够大大提高工作效率,并确保进度条始终反映任务的最新状态。
例如,当子任务的状态变为“Done”时,父任务的进度可以根据子任务的完成情况自动更新。
结语
通过在Notion中设置智能进度条,你可以更加高效地管理项目,实时追踪任务进度。无论是子任务驱动的进度计算,还是基于任务状态的自定义进度条,都能帮助你提升工作效率和任务透明度。希望这篇文章能够帮助你掌握Notion公式设置进度条的技巧,并优化你的任务管理流程。
Table of Contents