常用公式示例 Permalink

AI 翻译
· 查看英文版

本指南提供实际应用的公式示例,帮助你在 Quire 中计算费用、合并数值、度量时间、应用条件逻辑以及整理任务数据。每个示例都展示了公式如何将原始任务数据转化为有价值的信息。

费用计算

要计算一个任务及其所有子任务的总费用,需要创建两个自订字段:

  1. 创建 Cost 自订字段。
    • 字段类型:Number
    • 小数位数:2
  2. 创建 Total Cost 自订字段。
    • 字段类型:Formula
  3. 输入以下公式:
SUM(subtasks.{Total Cost}, Cost)

此公式将任务本身的费用与所有子任务的总费用相加。

查看 Quire 公式中所有可用的函数

在单个字段中显示多个值

你可以使用数组公式一次性显示或计算多个值。数组是由任务、数字或文本值等项目组成的集合。

示例: 在单个字段中显示指定任务

[#2, #23]

这会以列表形式返回指定的任务。

提示: 在公式中,你可以使用任务标识符 #task_ID 来指定任务。

数组计算

数组公式允许你同时对多个项目执行相同的操作。

示例: 获取多个任务的到期日期

[#2, #23].due

等价于:

[#2.due, #23.due]

使用数组可以减少重复内容,提升公式的可读性。

了解更多关于 Quire 数组公式的内容,它能让你列举或计算一组数据。

持续时间计算

你可以用不同的单位计算两个日期之间的持续时间。

示例: 以天为单位计算持续时间

(due - start).days

这会返回开始与到期日期之间的天数。

注意: 结果会向上取整到最近的整数(即不小于实际值的最小整数)。例如,一小时的持续时间会被计为一天。

精确持续时间

若需更精确的结果,可以调整公式。

示例: 将小时数转换为天数

(due - start).hours / 24

提取日期信息

你可以从日期字段中提取各个组成部分,例如:

  • 星期


示例: 获取到期日期对应的星期

due.weekday

注意: 星期值采用数字格式,其中 1 = 周一,2 = 周二,以此类推。

工作日计算

使用 WORKDAYS 函数计算两个日期之间的工作日数。

WORKDAYS(start, due)

若开始与到期日期相同,结果为 1 天

使用今天的日期

示例:

WORKDAYS(<today>, <tomorrow>)

返回结果为 2 天

自定义周末配置

你可以定义哪些天算作周末。

WORKDAYS(start, due, weekend)

weekend 替换为以下值之一:

周末代码 视为周末的日期
1 周六、周日
2 周日、周一
7 周五、周六
9 周五、周日
11 周日
16 周五

条件逻辑

使用条件运算符 ?: 可以根据条件返回不同的结果,其作用类似于 IF 语句。

你可以设置两个结果:条件为真时显示第一个结果,条件为假时显示第二个结果。

示例:根据花费时间显示状态指示符(当任务的总花费时间超过 5 小时时)

timeSpent > 5h ? "🔴" : "🟢"
  • 条件:timeSpent > 5h
  • 为真时的结果:🔴
  • 为假时的结果:🟢

排序与整理值

使用 SORT 函数将值按升序排列。

例如,若有 4 个子任务,其到期日期分别为 9月1日、8月23日、9月1日、7月30日:

SORT(subtasks.due)

结果:将子任务的到期日期从最早到最晚排序,并在字段中列出所有到期日期。

Jul 30, Aug 23, Sep 1, Sep 1

去除重复项

将 SORT 与 DISTINCT 函数结合使用。

从结果中可以看到,有两个子任务具有相同的到期日期(9月1日)。 尝试:

DISTINCT(SORT(subtasks.due))

结果:

Jul 30, Aug 23, Sep 1

按到期日期排序

使用 order by 运算符。

subtasks order by any.due

这会找到所有子任务并按其到期日期排序。

注意: 你可以将 any 标识符与 order by 运算符配合使用,指定排序所依据的字段。

了解 Quire 公式中所有可用的运算符和函数


常见问题

如何在 Quire 的单个公式字段中显示多个任务的值?

使用数组语法 — [#2, #23].due 以列表形式获取任务 #2 和 #23 的到期日期。详见 Quire 数组公式

如何在 Quire 中计算一个任务(含其所有子任务)的总费用?

创建名为「Cost」的数字字段和名为「Total Cost」的公式字段,然后输入 SUM(subtasks.{Total Cost}, Cost)

如何在 Quire 中计算任务从开始到到期日期之间的天数?

使用 (due - start).days 获取向上取整的整天数,或使用 (due - start).hours / 24 获取更精确的结果。

如何在 Quire 中计算两个日期之间的工作日数?

使用 WORKDAYS(start, due)。可在第三个参数传入周末代码来自定义哪些天算作周末 — 例如,WORKDAYS(start, due, 7) 将周五和周六视为周末。

如何在 Quire 公式中提取日期的特定组成部分(如星期几或月份)?

使用点表示法 — due.weekday 返回星期数字(1 = 周一,7 = 周日)。同样的方式也适用于年、月、日、时、分、秒。

如何在 Quire 中编写条件公式?

使用 ?: 运算符 — timeSpent > 5h ? "🔴" : "🟢" 在花费时间超过 5 小时时显示红色指示符,否则显示绿色。

如何在 Quire 公式中对子任务的值进行排序?

使用 SORT(subtasks.due) 从最早到最晚排序。用 DISTINCT() 包裹可去除重复项:DISTINCT(SORT(subtasks.due))

最后更新时间:

如需更多协助,请联系我们