features · Aug 29, 2023

成功方程式:Quire 陣列公式

✦
AI 翻譯
· 查看英文版

最後更新:2026 年 10 月 14 日

TL;DR

陣列公式能一次針對整組資料進行運算,而不是一次只計一個數值:每個子任務的耗用時間、每個任務的成本都適用。在任何描述或留言裏用雙大括號寫下公式,再配合 sort、limit、where 和 order by 調整結果。所有訂閲方案均可使用。

想像一下這個畫面:你正看着自己的專案管理軟件,心裏卻冒出一句:「等等,陣列公式真的用得着嗎?」我是說,我們通常都覺得公式不過是用來加加減減數字的東西,對吧?先別急着下定論。

因為事情是這樣的:當你的專案裏有一大堆任務,各自忙着自己的事時,你得成為掌控各項指標的高手才能成功。而這正是陣列公式登場救亡的時刻。

在這篇文章裏,我會告訴你這些厲害的公式如何讓你的數據分析功力大躍進。準備好以前所未有的方式,深入你專案的世界吧!

陣列公式適用於所有訂閲方案。更多資訊請參閱我們的定價頁面。

甚麼是陣列公式?

陣列就是一組資料的集合,例如任務、負責人、工時長度和數字。陣列公式則讓你能針對選定的資料集合(即陣列)進行多項運算。

舉例來說,如果你想計算某個任務的進度差異,可以寫出這樣的公式:

timeSpent - estimated

接着,如果你想計算所有子任務的進度差異,可以寫出這樣的公式:

subtasks.timeSpent - subtasks.estimated

這對你來說或許像外星文,稍後我會解釋。在這裏你只需要知道,在上面這條公式裏,subtasks 是一組子任務的集合;有了陣列公式,你就能像處理簡單數值一樣,輕鬆把一組陣列減去另一組陣列。

子任務沿用同一套巢狀任務結構,而這正是這類彙總計算得以實現的原因。

你可以直接在任務描述裏輸入公式,並用 {{ 和 }} 把它包住,隨意試驗公式的運作方式。更多資訊請參閱我們的指南。

Quire 支援哪些基本的陣列運算?

在 Quire 的公式裏,你可以用 [ 和 ] 準備任意陣列。舉例來說,你可以這樣建立一組由 1、2、3 組成的集合:

[1, 2, 3]

接着,如果你想把它乘以某個數值,可以這樣做:

[1, 2, 3] * 5

結果會是

[5, 10, 15]

此外,你也可以對兩組陣列進行運算:

[1, 2, 3] - [2, 1, 3]

結果會是

[-1, 1, 0]

好,現在我們可以解釋前面提到的那條公式了:

subtasks.timeSpent - subtasks.estimated

假設我們有三個子任務,它們的耗用時間分別是 1h、2h 和 3h,預估時間則是 2h、1h、3h。那麼,subtasks.timeSpent 實際上會計算成 [1h, 2h, 3h],而 subtasks.estimated 則會計算成 [2h, 1h, 3h]。於是,結果就是 [-1h, 1h, 0h]。

1h 代表 1 小時的時長。更多資訊請參閱我們的指南。

在 Quire 裏該如何排序和篩選陣列?

sort 函數是怎樣運作的?

要排序一組資料集合,只要使用 sort 函數就可以:

sort([3, 1, 5, 2, 4]) * 2

它會傳回以下結果:

[2, 4, 6, 8, 10]

這等同於 sort(3, 1, 5, 2, 4) * 2

limit 運算子是怎樣運作的?

如果你只想篩選出前三個元素,可以這樣使用 limit 運算子:

sort([3, 1, 5, 2, 4]) * 2 limit 3

where 運算子是怎樣運作的?

如果你想篩走較小的數值,可以這樣使用 where 運算子:

[3, 1, 5, 2, 4] where any > 4

它會傳回以下結果:

[3, 5]

any 是一個關鍵字,代表 where 運算子左邊陣列中的每個數值。

order by 運算子是怎樣運作的?

讓我們回到那條計算進度差異的公式,玩玩看:subtasks.timeSpent - subtasks.estimated.

它會傳回所有子任務的時間差異。現在假設我們想取得的是任務本身,而不是進度差異,那就可以這樣使用 order by 運算子:

subtasks order by any.timeSpent - any.estimated

預設的排序方式是遞增。你可以這樣加上 desc 關鍵字,改為遞減:

subtasks order by desc any.timeSpent - any.estimated

這裏有一條更進階、更複雜的公式。試試看你能否說出它想做甚麼:

subtasks where any.timeSpent > 1d and any.due < tomorrow and any.priority >= high order by desc any.timeSpent - any.estimated limit 3

陣列公式如何揭示你的專案動態?

該如何在自訂欄位裏使用陣列公式?

要應用這招簡直易如反掌,只要建立一個帶公式的自訂欄位就行。假設你很在意每個任務到底花了你多少錢。首先,你可以定義一個自訂欄位,例如叫 Cost,用來記錄每個任務的成本。

Quire 自訂欄位設定畫面,建立貨幣欄位以追蹤任務成本

接着,你可以再定義一個欄位,例如 Total Cost,用來計算每個任務(連同其子任務)的總成本,做法如下。建立了幾個這類欄位後,表格檢視模式就是把它們並排成欄、一次看清的最快方法。

動畫 GIF 展示陣列公式如何加總子任務成本欄位以計出總成本

有幾點值得留意:

  1. 公式不分大小寫。也就是說,Cost 和 cost 是等同的。SUBTASKS 和 subtasks 也一樣。
  2. 如果欄位名稱含有空格或其他非英數字元,你就必須用 { 和 } 把它包起來。這就是為甚麼你會在上面的公式裏看到 {Total Cost}。

讓我們再深入一點,看看 Total Cost 是怎樣計出來的。首先,假設我們有三個任務:A、B 和 C,而 B 和 C 是 A 的子任務。另外,你為 A、B、C 輸入的 Cost 分別是 50、30、10。那麼,

  1. B 和 C 的總成本會是 30 和 10,因為它們沒有任何子任務。
  2. A 的總成本會是 SUM(30, 10, 50),即 90。

公式有多可靠,取決於它讀取的欄位。把輸入欄位(例如每個任務的成本)鎖定,公式照常運算,也不會有人不小心改動。請參閱如何鎖定自訂欄位。

該如何把陣列公式放進專案描述裏?

專案描述動態顯示陣列公式計出的總成本與最花錢的前 5 個任務

這裏還有一招很酷的公式用法:你可以把它們直接放進專案描述裏。想像你想顯示專案的總成本,只要在專案描述裏寫下這樣的內容:

Total cost: {{SUM(tasks.{Total Cost})}}

其中:

  1. 描述採用 Quire 風格 markdown。要指定公式,你必須用 {{ 和 }} 把它包起來。此外,一輸入 {{,自動完成對話框就會幫你完成公式。
  2. tasks 是一個內置識別字,代表專案中的所有任務。同樣地,它也不分大小寫。

如果我們想知道最花錢的前 5 個任務,可以這樣做:

{{tasks order by desc any.{Total Cost} limit 5}}

又或者,你想列出耗時過多的任務:

{{tasks where any.timeSpent - any.estimated > 1d order by desc any.timeSpent - any.estimated limit 5}}

只要支援 markdown,你就能把公式放進任何描述裏,包括任務和留言。你甚至可以在同事的個人檔案描述裏寫下合適的公式,彙整他們的工作表現。

想學習並探索 Quire 陣列公式如何助你一臂之力,可以先在任務描述裏試試。這樣反覆嘗試會更方便。

加入超過 10 萬支使用 Quire 專案管理軟件的團隊,免費註冊

常見問題

Quire 的陣列公式是甚麼?

陣列公式讓你能針對成組的資料(任務、子任務、自訂欄位)進行運算,而不只是單一數值。舉例來說,subtasks.timeSpent - subtasks.estimated 能在一行內傳回每個子任務的進度差異。

我該如何在 Quire 寫下第一條陣列公式?

打開任何一個任務的描述,把公式用兩組大括號包起來,你一邊輸入,自動完成對話框就會彈出來。同樣的方式也適用於留言、專案描述和自訂欄位。

sort、limit 和 where 有甚麼分別?

sort 會重新排列一組陣列,limit 會傳回前 N 個元素,where 則用 any 關鍵字進行篩選。它們可以串連使用,所以你可以先按耗用時間遞減排序子任務,再限制只取前 3 名。

我可以在任務和專案描述裏使用陣列公式嗎?

可以。任何支援 Quire 風格 markdown 的欄位,都能在雙大括號裏使用公式,包括任務描述、專案描述和留言。

Quire 支援哪些陣列公式運算子?

橫跨陣列的算術運算、比較運算、sort/limit/where/order by,以及 SUM 和 AVG 等聚合函數。完整參考資料都收錄在 Quire 公式指南裏。

一起在 Quire 寫下你的第一條公式吧!

好了,這就是 Quire 陣列公式的全部精華,你最強的專案管理好幫手。Quire 不只是搭上陣列公式這班列車,它根本就是這班列車的司機!它是史上首個為你帶來陣列公式的專案管理軟件,至今依然領先群倫。

在 Quire 裏,陣列公式不只是一項功能,而是一種精雕細琢到極致的體驗。所以,如果你一心想大大提升自己的專案洞察力,Quire 的陣列公式就是為你而來的。

準備好大展身手地運算數字、發掘洞察,用 Quire 的進階陣列公式把你的專案管理推上全新境界吧。你的專案會感謝你,你那條理分明、熱愛數據的另一面也會感謝你!

Tom Yeh
CEO at Quire.