EP09. “公式 Formulas 详解”
🔒 登录后可标记已读这篇笔记讲 Notion 公式功能——公式能用在哪些地方、怎么建立和编辑、公式的组成部分,以及几个实用的公式范例(项目管理、评分、任务自动化)。 前置知识:先看过 EP05、EP08,熟悉数据库属性和自动化按钮的基本概念。
重点内容
公式能用在哪里
- 作为数据库属性(最常见的用法)
- 页面按钮和数据库按钮内部
- 数据库自动化里定义变量或逻辑
每个公式都会评估并返回一个动态结果——文字、数字、布尔值(true/false)、或日期,取决于其他属性或函数。
建立与编辑公式
建立公式属性:
- 打开数据库 → 点
•• → Properties - 点 New property → Formula
- 命名公式(比如「Priority Score」或「Overdue?」)
- 点 Edit formula 打开公式编辑器
公式编辑器界面:
- 输入公式的文字栏
- 左侧面板列出可用的数据库属性和内建函数
- 右侧面板显示语法说明和实时提示
- 从数据库某一行编辑时会有实时预览结果
[截图:公式编辑器全貌,标出文字栏、左侧属性/函数面板、右侧语法说明面板]
公式组成部分
公式由以下几部分组成:
- 属性(Properties):当前数据库里的数据(比如 Status、Due Date、Priority)
- 内建符号(Built-ins):运算符和逻辑值,比如
+、-、or、false、!= - 函数(Functions):具体动作,比如
replace()、sum()、length()、now()、dateAdd()
Notion 也支持公式内的样式格式化,以及逻辑运算符 if()、and()、or(),还有三元运算符 X ? Y : Z。
公式范例
项目管理场景:
| 目标 | 公式 |
|---|---|
| 设定开始后两周为截止日 | dateAdd(Start Date, 2, "week") |
| 超过截止日且未完成,标记为逾期 | if(and(now() > Due Date, Status != "Done"), "Overdue", "") |
| 加粗红色的「逾期」标签 | if(and(now() > Due Date, Status != "Done"), style("Overdue", "red", "b"), "") |
| 统计未完成任务数 | length(Tasks.map(current.Status != "Done")) |
用到的函数:dateAdd()、if()、and()、now()、style()、map()、length()
项目脑暴评分(RICE):
| 目标 | 公式 |
|---|---|
| RICE 评分(触达 × 影响 × 信心 ÷ 成本) | Reach * Impact * Confidence / Effort |
| 统计总赞成票数 | length(Upvoted by) |
用这个方法能依据量化影响力排定项目优先级,靠赞成票数追踪关注度。
任务管理自动化: 当所有子任务都标记为「完成」时,触发自动化更新母任务状态:
- 触发条件:当 Status = Done
- 定义母任务:
Trigger page.Parent item.first() - 检查子任务是否全部完成:
Parent Task.Sub-item ? Parent Task.Sub-item.every(current.Status == "Done") : false - 更新母任务状态:
All subtasks done? ? "Done" : Parent Task.Status
用到的函数:first()、every()、三元运算符 X ? Y : Z
📌 这套设定很适合项目层级结构——子任务的完成状态会驱动母任务的完成状态。
在自动化与按钮里用公式
公式能直接嵌入:页面按钮、数据库按钮、数据库自动化。
用公式能动态:插入人名、页面标题、日期;为邮件生成计算过的标题或内容;用样式或条件式格式化内容;用布尔值判断控制分支逻辑。
常见错误
- ❌ 想判断任务是否逾期,手动逐一检查日期——用
if(and(now() > Due Date, Status != "Done"), "Overdue", "")让公式自动判断 - ❌ 母任务的完成状态要手动根据子任务逐一更新——用
every()函数检查所有子任务状态,配合三元运算符自动更新母任务 - ❌ 不知道某个函数怎么用,反复试错——公式编辑器右侧面板有语法说明和实时提示,遇到不熟悉的函数先看这里
- 💡 公式支持样式格式化(比如
style()),善用它能让重要状态(比如「逾期」)用红色加粗醒目呈现,不用额外手动改格式
Sources
Blog / Website:
- The Ultimate Notion Guide — https://www.morgen.so/blog-posts/notion-tips-and-tricks