陣列公式 Permalink
Quire 中的陣列公式讓您可以一次處理一組值——例如任務、子任務、負責人、數字或時間段。與逐一計算值不同,陣列公式允許您執行批量計算,並返回多個結果或單一彙總結果。
了解陣列公式
陣列是值的列表,通常以逗號分隔。在 Quire 公式中,當您引用多個項目(例如子任務或任務欄位)時,通常會返回陣列。
例如,與其為單一任務計算行程安排差異:
timeSpent - estimated
您可以使用陣列公式一次計算所有子任務的行程安排差異:
subtasks.timeSpent - subtasks.estimated
由於 subtasks 返回一個列表,Quire 會逐一對每個子任務執行計算並返回結果列表。
使用陣列公式進行基本計算
算術運算符
陣列公式支援所有基本數值運算符:
- 加法(
+) - 減法(
-) - 乘法(
*) - 除法(
/)
範例情境:
- 子任務花費時間:
3h, 2h, 1h - 子任務預估時間:
1h, 2h, 3h
當您輸入:
subtasks.timeSpent
Quire 將其解讀為:
[3h, 2h, 1h]
使用陣列公式:
subtasks.timeSpent - subtasks.estimated
計算結果為:
[3h, 2h, 1h] - [1h, 2h, 3h]
結果為:
[2h, 0h, -2h]
陣列中的每個值代表一個子任務的計算結果。
將陣列公式與運算符和函數結合使用
與函數結合
陣列公式可以與 Quire 的內建運算符和函數結合使用,以進行更進階的分析。
使用相同的花費時間範例,您可以對值進行排序並執行計算:
SORT(subtasks.timeSpent) * 2
這會被解讀為:
SORT([3h, 2h, 1h]) * 2
並返回:
[2h, 4h, 6h]
這讓轉換和分析任務資料集合變得輕鬆。
使用陣列公式篩選資料
使用 where 進行篩選
您可以使用 where 運算符篩選陣列,只返回符合特定條件的項目。
範例:篩選花費時間大於或等於 2 小時的子任務:
subtasks where any.timeSpent >= 2h
計算結果為:
[3h, 2h]
並返回對應的任務:
subtask 1, subtask 2
此公式搜尋所有子任務,套用條件,並只返回符合的項目。
注意: 使用 where 搭配 any 識別符來指定條件應套用於哪個欄位。
在我們的部落格上閱讀更多關於 Quire 陣列公式 的內容。剛開始接觸 Quire 公式,或想查看完整的運算符和函數列表?請參閱 Quire 公式指南 或公式運算符與函數。
常見問題
Quire 中的陣列公式是什麼?
陣列公式一次處理一組值。例如,subtasks.timeSpent - subtasks.estimated 會計算每個子任務的行程安排差異,並返回結果列表。
如何在 Quire 中計算所有子任務的值?
在 subtasks 物件上引用欄位——例如,subtasks.timeSpent - subtasks.estimated 會計算每個子任務的差值並返回結果陣列。
如何在 Quire 公式中對子任務值陣列進行排序?
將陣列包裹在 SORT() 中——例如,SORT(subtasks.timeSpent) 會返回從小到大排序的子任務時間值。您可以串接操作,例如 SORT(subtasks.timeSpent) * 2。
如何在 Quire 陣列公式中依條件篩選子任務?
使用帶 any 的 where 運算符——例如,subtasks where any.timeSpent >= 2h 只返回花費時間大於或等於 2 小時的子任務。