常用公式範例 Permalink
本指南提供實際應用的公式範例,協助你在 Quire 中計算成本、合併值、量度時間、套用條件,以及整理任務資料。每個範例均示範公式如何將原始任務資料轉化為有意義的洞察。
成本計算
要計算一個任務連同其所有子任務的總成本,你需要兩個自訂欄位:
- 建立 Cost 自訂欄位。
- 欄位類型:Number
- 小數位數:2
- 建立 Total Cost 自訂欄位。
- 欄位類型:公式
- 輸入以下公式:
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
這會找出子任務並按其到期日期排序。
注意: 你可以搭配 order by 運算子使用 any 識別碼,以指定排序所依據的欄位。
了解 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))。