常用公式範例 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
它會找出子任務並按其到期日期排序。
注意: 您可以將 any 識別碼與 order by 運算子結合使用,用於指定希望依據哪個欄位進行排序。
了解您可以在 Quire 公式中使用的所有不同的運算子和函式。
常見問題
如何在單個 Quire 公式欄位中顯示多個任務的值?
使用陣列語法——[#2, #23].due 會以清單形式傳回任務 #2 和 #23 的到期日期。詳情請參閱 Quire 的陣列公式。
如何在 Quire 中計算一個任務及其子任務的總成本?
建立一個名為「Cost」的 Number 欄位和一個名為「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))。