公式 #

在Notion数据库中,你可以添加一个公式属性,让你根据其他属性来运行各种计算和函数。就像在Excel或Google Sheets中一样,你可以在Notion中使用公式来寻找总和并得出许多其他有用的值⚗️。

我们知道这可能很复杂,所以如果我们能提供帮助,请不要犹豫联系我们

公式术语 #

写公式最难的事情是理解所有的术语! 😅 以下是你在Notion中使用公式时最常见的词汇以及它们的含义。

  • Function 函数: 从一组输入到一组可能的输出的关系,其中每个输入正好与一个输出有关。
  • Syntax 语法: 指的是公式中的字母和术语的顺序,以返回正确的值。
  • **Argument 参数:**指函数中的任何输入,如一个属性。
  • String 字符串: 最常指的是文本(即一串彼此相邻的字母)。在公式中,字符串总是被包裹在引号内。
    • 子字符串指的是一个较大的字符串的一个片段。"No "是 "Notion "的一个字符串。
  • Boolean 布尔值: 布尔值是真或假。
  • Concatenate 拼合: 将两个字符串合并在一起。
    • 例如: concat("add", "text")将产生"addtext"

术语的应用 #

下面是一个将上述所有内容联系起来的例子。concat("add", "text").

  • concatfunction 函数。它将某种计算或动作应用于其括号中的输入。
  • "add""text"是该函数的arguments 参数
  • 每个参数都是文本(也被称为**字符串)。
  • 函数可以使用各种不同的参数,比如复选框(也被称为booleans 布尔)、数字或日期。
  • 函数的syntax 语法要求字符串用引号包裹,其参数则包含在圆括号内。

编写一个公式 #

  • 首先,在你的数据库中,添加一个新的属性,给它一个名字,然后从 Property Type 属性类型菜单中选择 Formula 公式
  • 要告诉公式要对一个属性做什么,请输入一个将使用该属性的函数。
  • 属性的操作很像公式中的变量。使用你给它们起的名字。
  • 你可以像在数字计算器中那样键入函数(还记得吗)。注意你的属性周围的括号和引号。
  • 例子:到21岁有多少年?
    • 假设你的数据库中有一个叫做 Age的数字属性,你想让你的公式属性显示人们的年龄离21岁还有多少年。
    • 输入21 - prop("Age")以返回数据库中每个人的年龄属性中的21减去的结果。

公式菜单 #

每当你编辑一个公式属性时,公式窗口就会弹出。其左边的侧边栏菜单有几个部分。

  • 属性 Property。列出所有在你的数据库中使用的属性。点击其中任何一个,就可以将其插入到你的公式中,并进行适当的格式化。
  • Constants 常数。常见的常数,如π。点击任何一个就可以将其添加到你的公式中。
  • Operators 操作符: 你可以运行的简单计算。它们左边的图标显示了它们的工作属性类型。例如,减法和加法适用于数字属性。
  • Functions 函数。你可以在Notion中运行更复杂、预定义的公式。它们左边的图标也会显示它们所处理的属性类型。
  • 在窗口顶部的文本框中开始输入任何这些内容来搜索你需要的东西。
  • 你也可以用你的方向键向上和向下滚动。

🎒 提示

将鼠标悬停在侧边栏的任何一个术语上,以获得它们如何工作的完整定义和如何使用它们的例子。

  • 例子:截止日期前的剩余天数
    • 在这里,我们有一个带有最后期限的任务数据库。我们的目标是计算出从现在到这些不同的最后期限之间还剩下多少天。
    • 对于数据库中的每个任务,在你的日期属性中输入一个截止日期。
    • 然后添加一个新的属性,从 Property Type 属性类型菜单中选择 Formula 公式。给它命名为 "剩余天数"。
    • 在你的表格中,点击公式栏中的任何单元格,就会弹出公式窗口。

  • 在提供的文本框中,键入date,以调出与日期有关的命令。dateBetween()看起来很有帮助 - 它应该返回两个日期之间的时间,以我们想要的时间单位。

  • 根据这个函数的说明,你需要给它两个日期和一些文本:你的截止日期,现在的日期,以及你希望这两个日期之间的范围用什么单位表示(年、月、日,等等)。

  • dateBetween()函数中插入你的截止日期,方法是点击你的公式侧边栏顶部的属性 Property,或者输入它。prop("Deadline").

  • 现在我们的公式看起来像dateBetween(prop("Deadline"))'。让我们寻找一种方法来提及今天的日期。now()`看起来很有用,因为它应该返回当前日期。
  • 下面是如何完成这个函数。
    • 首先,添加一个逗号,告诉函数我们要找到截止日期和现在之间的时间。dateBetween(prop("Deadline"), now())
    • 接下来,根据函数的指示,定义我们希望显示结果的时间单位。dateBetween(prop("Deadline"), now(), "day")
    • 最后,点击Done,将函数应用到你的数据库。
    • 完成了! 现在你知道离最后期限还有多少天了 🙌

常见的例子 #

我们在这里汇总了一些常见的公式例子以及如何编写它们👇

自动复选框 #

你可以写一个公式,使你数据库中的一个复选框根据另一个属性的值被选中或不被选中。

  • 目标: 如果Priority是空的或包含 "Important" 这个词,则选中该复选框。
    • 公式: or(empty(prop("Priority")), prop("Priority") == "Important")

这个也适用于数据库中的Select属性。在这个例子中,如果在Select属性中放入 "Option 1",就会选中一个方框。

  • equal(prop("Select"), "Option 1").

日期计算 #

在你的数据库中使用一个日期属性,你可以计算出各种范围。

  • 目标: 在 "Years Employed 受雇年限" 下显示 Doug 迄今为止受雇的年限。

    • 公式: dateBetween(now(), prop("Start Date"), "year")
  • 目标: 在 "Years Remaining 剩余年数" 下显示 Doug 还能工作的年数。

    • 公式: dateBetween(prop("End Date"), now(), "years")
  • 目标: 在 "Formatted Text 格式化文本" 下显示 Doug 还剩下多少年和多少月的工作。

    • 公式: concat(format(prop("Years Employed")), " years, ", format(dateBetween(prop("End Date"), now(), "month"), " months")

四舍五入 #

这些公式可以用来以不同的方式对数字进行舍入。

  • 四舍五入到整数:round()包裹你的公式。
    • 例如:round(prop("One") / prop("Two"))
  • 四舍五入到小数点后:round(*10)/10包装你的公式。
    • 例如:round(prop("One") / prop("Two") * 10) / 10
  • 四舍五入到两位小数:round(*100)/100包裹你的公式。
    • 例如: round(prop("One") / prop("Two") * 100) / 100

在一个日期上添加工作日 #

取一个日期并在公式属性中自动识别星期。

  • formatDate(prop("Date"), "ddd, MMMM D, YYYY")

逾期警报 #

如果你已经过了一个到期日,就会自动勾选一个方框。这对个人CRM很有帮助,当你设定了下次要联系某人的日期而你却超过了这个日期。

  • prop("Due Date") < now()

🎒 提示

我们将继续从我们的团队和社区收集有用的公式。敬请关注! 如果你有一个要分享的,请把它发送给我们 [email protected]

故障排除 #

在使用公式时,你可能会遇到一些常见的错误信息。

  • Type mismatch: prop("Number") is not a Text

    • 这意味着你所使用的公式只想使用文本属性。
    • 作为一种变通方法,尝试用format()来包装你的数字属性。
    • 例子。 prop("Number") + prop("Text")将返回错误。 把它改成: format(prop("Number")) + prop("Text")
  • Too few arguments in function if

    • 这意味着你可能缺少一个 "else "语句。
    • 试着在公式的末尾添加, "")以增加 "else empty"。
    • 例如: if(prop("1") == "this", "that")将返回错误。把它改成: if(prop("1") == "this", "that", "")会返回错误。

常见问题 #

  • 有办法对关系或公式属性进行分组吗?

    目前没有😓这是一个合法的用例,而且我们将来肯定会支持。