 設計手冊
    設計手冊
  
  
  可以使用子表格公式來取得子表格欄位相關資料,例如傳回子表格第幾筆資料、取得不重複或是非空值的子表格列數等等。
以下列出所有支援的公式。公式請一律用大寫表示!
| 公式 | 敘述 | 
|---|---|
| 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() | 列出參照子表格欄位中所有不重複的欄位值。查看詳細內容。 | 
| UNIQUE().length | 計算參照子表格欄位中不重複的值的數量。查看詳細內容。 | 
| VLOOKUP() | 回傳子表格中符合指定條件的值。查看詳細內容。 | 
Ragic 的公式是直接參照欄位標頭的,讓公式套用更為簡單。特別是在子表格就不需要撰寫複雜的公式。
下列為「銷售訂單」的演算範例。子表格列出商品的售價(C9)與數量(D9),透過乘法運算可以得知顧客每項商品所需要付的總額(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](選填):此參數表示是否要精準比對,預設是關閉,如果你希望系統精準比對,請在此參數輸入 false。
[findMultiple=false](選填):此參數表示是否要列出多個符合條件的值,預設是關閉,如果你需要回傳的條件值可能不只一個,請在此參數輸入 true。
例如:想在子表格中查詢星期三的教師名稱。
 
 
可以新增一個自由輸入欄位給使用者輸入查詢日期,並於另外一個欄位中套用「VLOOKUP(A9, A4, B4, false, false)」或是「VLOOKUP(A9, A4, B4)」,系統即可依據使用者輸入的查詢日期自動回傳「王老師」。
 
 
如果你希望是模糊比對而且可以回傳多個符合條件的值的話可以套用「VLOOKUP(A9, A4, B4, true, true)」。