可以使用子表格公式來取得子表格欄位相關資料,例如傳回子表格第幾筆資料、取得不重複或是非空值的子表格列數等等。
以下列出所有支援的公式。公式請一律用大寫表示!
| 公式 | 敘述 |
|---|---|
| FIRST(value) | 傳回子表格此欄位中的第一筆資料。查看詳細內容。 |
| FIRSTA(value) | 傳回子表格此欄位中非空值的第一筆資料。查看詳細內容。 |
| LAST(value) | 傳回子表格此欄位中的最後一筆資料。查看詳細內容。 |
| LASTA(value) | 傳回子表格此欄位中非空值的最後一筆資料。查看詳細內容。 |
| SUBTABLEROW(value,nth_row) | 只能套用在一般獨立欄位,回傳子表格中指定之第幾筆資料的值。查看詳細內容。 |
| COUNTA(value) | 回傳計算子表格中每列中指定欄位不是空值的總(次)數。當公式指定欄位非空值時即會計算,即使該列其他欄位有空值時也會計算,不需要整列都非空值。查看詳細內容。 |
| RUNNINGBALANCE(value, [allow_backend_formula_recalculation=false]) | 回傳子表格中指定欄位中該列與前面資料列加總的值,如果填 true 則該公式能被後端公式重算(子表格資料需照順序新增)。查看詳細內容。 |
| LARGE(arg, nth, [arg2]) | 依指定的序數(名次),回傳子表格中某數值欄位對應的值,或同列中指定欄位的內容。查看詳細內容。 |
| UNIQUE(value,[separator]) | 列出參照子表格欄位中所有不重複的欄位值。查看詳細內容。 |
| UNIQUE(value).length | 計算參照子表格欄位中不重複的值的數量。查看詳細內容。 |
| VLOOKUP(value, queryField, returnField, [approximateMatch=true], [findMultiple=false]) | 回傳子表格中符合指定條件的值。查看詳細內容。 |
Ragic 的公式是直接參照欄位標題的,讓公式套用更為簡單。特別是在子表格就不需要撰寫複雜的公式。
下列為「銷售訂單」的演算範例。子表格列出商品的售價(C9)與數量(D9),透過乘法運算可以得知顧客每項商品所需要付的總額(E9=C9*D9),小計(D13)的數值則是由 E9 加總而來。

除了上述的例子,也有其他能應用於子表格的公式。假設要計算子表格中有多少筆資料,可以新增一個欄位並利用子表格的欄位標題來寫 COUNT() 公式。

詳細的子表格公式說明與應用請參考下一章節;關於子表格的條件公式應用,請參考此章節。
以下公式可用來回傳子表格中特定列的指定欄位值,請參考下表:
| 公式 | 功能 | 範例 |
|---|---|---|
| FIRST(value) | 取得第一筆資料,用於抓最上方或最早的資料。獨立欄位及子表格欄位皆可套用。 | FIRST(A11) |
| FIRSTA(value) | 取得第一筆非空值資料,忽略空白列。獨立欄位及子表格欄位皆可套用。 | FIRSTA(A11) |
| LAST(value) | 取得最後一筆資料,用於抓最下方或最新的資料。獨立欄位及子表格欄位皆可套用。 | LAST(A11) |
| LASTA(value) | 取得最後一筆非空值資料,忽略空白列。獨立欄位及子表格欄位皆可套用。 | LASTA(A11) |
| SUBTABLEROW(value, nth_row) | 取得指定列資料,用於抓中間列或特定列的資料。只能套用在獨立欄位。 | SUBTABLEROW(A11, 3) |

用於計算欄位中非空值的儲存格數量,不論內容是文字、數字或公式結果都會被計算。空白欄位則不計入。常用於統計、資料完整性檢查或報表分析。
備註:當公式指定欄位非空值時即會計算,即使該列其他欄位有空值時也會計算,不需要整列都非空值。
範例:
在子表格的檔案上傳欄位中,每列資料可能附有檔案,空白表示未上傳檔案。若在「檔案數量」欄位套用公式 COUNTA(「檔案上傳」欄位),即可快速統計出有附檔的子表格資料筆數。

用於在子表格中計算累計值,常用於金額、數量或其他需要逐列累加的欄位。
| 公式 | 語法 |
|---|---|
| RUNNINGBALANCE | RUNNINGBALANCE(value, [allow_backend_formula_recalculation=false]) |
參數說明:
value(必填):要累計的欄位。
allow_backend_formula_recalculation(選填):預設為 false。若設為 true,則該公式可由後端重新計算。
注意:子表格資料需照順序新增。
範例:計算累計交易金額
在子表格的「累計交易金額」欄位中套用公式:RUNNINGBALANCE(「當日交易金額」欄位, true),就可以依序累加每筆交易,逐列顯示累計金額,並可在後端自動重新計算。

依指定的序數(名次),回傳子表格中某數值欄位對應的值,或同列中指定欄位的內容。常用於統計分析、排行榜或績效評估等情境。若有相同的值,會依照順序排列,不會視為同一名次。
| 公式 | 語法 |
|---|---|
| LARGE | LARGE(arg, nth, [arg2]) |
參數說明:
arg(必填):要查詢的數值欄位。
nth(必填):要回傳的序數位置(例如 1 表示最大值,2 表示第二大值)。
arg2(選填):要回傳的同列欄位內容。
範例:找出季度業績前幾名的業務及其業績
假設子表格中記錄每位業務的季度業績,包含「業務姓名」與「季度業績」兩個欄位。
若要找出季度最高業績,可在欄位中套用公式:LARGE(「季度業績」欄位, 1),就可以得到季度最高的業績數值。

若要找出業績最高的業務姓名,可在欄位中套用公式:LARGE(「季度業績」欄位, 1, 「業務姓名」欄位),系統會回傳季度業績最高的業務姓名。
若要查詢第二高的業績者,則可套用:LARGE(「季度業績」欄位, 2, 「業務姓名」欄位)。

如需回傳子表格中的最小值,可搭配使用 COUNT() 函數。
例如:LARGE(「季度業績」欄位, COUNT(「季度業績」欄位), 「業務姓名」欄位)。
此公式會查詢子表格中「季度業績」欄位的最小值,並回傳對應的「業務姓名」。

在子表格中計算不重複的值,可以使用 UNIQUE() 以及 UNIQUE().length。
UNIQUE():列出參照欄位中所有不重複的欄位值。如沒有設定分隔符號的話預設分隔符號為 ",",結果如下圖的 UNIQUE() 欄位,也可以自訂分隔符號,寫法就必須改成 UNIQUE(欄位,"分隔符號")。例如 UNIQUE(A1,"/") 或 UNIQUE(A1,", ")。產出的結果分別就會是:Angie/Lillian/Amy/Rex 或 Angie, Lillian, Amy, Rex。
UNIQUE().length:計算參照欄位中不重複的值的數量。

用於回傳子表格中符合指定條件的值。
| 公式 | 語法 |
|---|---|
| VLOOKUP | VLOOKUP(value, queryField, returnField, [approximateMatch=true], [findMultiple=false]) |
參數說明:
value(必填):此為要查詢的值,可以為指定的值,也可以直接參照欄位。
queryField(必填):此為子表格中用於比對的欄位。
returnField(必填):此為子表格中當條件符合時回傳的欄位。
[approximateMatch=true](選填):此參數決定 VLOOKUP 要使用模糊比對還是精準比對。預設為 true(模糊比對),如果你希望精準比對,請輸入 false。
[findMultiple=false](選填):此參數決定 returnField 是否回傳多個值。預設為 false,如果可能有多個符合條件的值,請輸入 true。
範例:想在子表格中查詢星期三的教師名稱。

可以新增一個自由輸入欄位給使用者輸入查詢日期,並於另外一個欄位中套用 VLOOKUP(A9, A4, B4, false, false) 或是 VLOOKUP(A9, A4, B4),系統即可依據使用者輸入的查詢日期自動回傳「王老師」。

如果你希望使用模糊比對,並回傳多個符合條件的值,可以套用 VLOOKUP(A9, A4, B4, true, true)。