常用公式範例 Permalink
本指南提供實用的公式範例,協助您在 Quire 中計算成本、合併數值、測量時間、套用條件邏輯,以及整理任務資料。每個範例都展示了公式如何將原始任務資料轉化為有意義的洞察。
成本計算
若要計算一個任務及其所有子任務的總費用,您需要兩個自訂欄位:
- 建立 Cost 自訂欄位。
- 欄位類型:Number
- 小數位數:2
- 建立 Total Cost 自訂欄位。
- 欄位類型:Formula
- 輸入以下公式:
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))。