您可以在清單或文件庫中使用公式和函數,以各種方式計算資料。 藉由將計算結果欄新增至清單或文件庫,您可以建立包含來自其他欄資料的公式,並執行計算日期和時間、執行數學方程式或操作文字的函數。 例如,在工作清單上,您可以使用欄來根據 [開始日期] 和 [完成日期] 欄來計算完成每項工作所需的天數。
注意
本文說明與使用公式和函數相關的基本概念。 如需特定函數的詳細資訊,請參閱有關該函數的文章。
本文內容
公式概觀
公式是執行清單或文件庫中值計算的方程式。 公式是以等號 (=) 開頭。 例如,下列公式是將 2 乘以 3,然後將 5 相加得到結果。
=5+2*3
您可以在計算資料行中使用公式,並計算資料行的預設值。 公式可以包含函數、欄參照、運算子和常數,如下列範例所示。
=PI()*[Result]^2
| 元素 | 描述 |
|---|---|
| 函數 | PI () 函數會傳回 pi 的值:3.141592654。 |
| 參照 (或資料行名稱) | [Result] 代表目前資料列的 [結果] 資料行中的值。 |
| 常數 | 直接輸入公式的數字或文字值,例如 2。 |
| 運算子 | * (星號) 運算子相乘,而 ^ (插入號) 運算子會進行乘冪運算。 |
公式可能會使用上一個表格中的一個或多個元素。 以下是依複雜度) 順序 (的一些公式範例。
簡單的公式 (例如 =128+345)
下列公式包含常數和運算子。
| 範例 | 描述 |
|---|---|
| =128+345 | 加上 128 和 345 |
| =5^2 | 方塊 5 |
包含欄參照的公式 (例如 =[收入] >[成本])
下列公式參照相同清單或文件庫中的其他資料行。
| 範例 | 描述 |
|---|---|
| =[收入] | 使用 [收入] 資料欄位中的值。 |
| =[收入]*10/100 | 收入資料欄位價值的 10%。 |
| =[收入] > [成本] | 如果 [收入] 欄中的值大於 [成本] 欄中的值,則傳回 [是]。 |
呼叫函數的公式 (例如 =AVERAGE (1、2、3、4、5) )
下列公式會呼叫內建函數。
| 範例 | 描述 |
|---|---|
| =AVERAGE (1、2、3、4、5) | 傳回一組值的平均值。 |
| =MAX ([Q1], [Q2], [Q3], [Q4]) | 會傳回一組數值中的最大值。 |
| =IF ([成本]>[收入], “不正常”, “確定”) | 如果成本大於收入,則傳回 [不正常]。 否則,傳回 [確定]。 |
| =DAY (“2008 年 4 月 15 日”) | 傳回日期的日部分。 此公式會傳回數字 15。 |
包含巢狀函數的公式 (例如 =SUM (IF ([A]>[B], [A]-[B], 10) , [C]) )
下列公式會指定一或多個函數做為函數引數。
| 範例 | 描述 |
|---|---|
| =SUM (IF ([A]>[B], [A]-[B], 10) , [C]) | IF 函數會傳回欄 A 和 B 或 10 中值的差異。 SUM 函數會將 IF 函數的傳回值和 C 欄中的值相加。 |
| =DEGREES(PI()) | PI 函數會傳回數字 3.141592654。 DEGREES 函數會將以弧度指定的值轉換為度數。 此公式會傳回值 180。 |
| =ISNUMBER (FIND (“BD”,[Column1]) ) | FIND 函數會搜尋 Column1 中的字串 BD,並傳回字串的起始位置。 如果找不到字串,則會傳回錯誤值。 如果 FIND 函數傳回數值,則 ISNUMBER 函數會傳回 Yes。 否則,它傳回 No。 |
函數概觀
函數是預先定義的公式,會使用稱為引數的特定值以特定的順序或結構來執行計算。 函數可以用於執行簡單或複雜的計算。 例如,下列 ROUND 函數的執行個體會將 [成本] 資料行中的數字四捨五入至兩位小數字數。
=ROUND([Cost], 2)
學習函數和公式時,下列詞彙會很有幫助:
結構 函數的結構以等號 (=) 開頭,後面接著函數名稱、左括弧、函數的引數(以逗號分隔)和右括弧。
函數名稱 這是清單或程式庫支援的函數名稱。 每個函數都接受特定數量的引數、處理它們,並傳回一個值。
引數 引數可以是數字、文字、True 或 False 等邏輯值,或欄參照。 您指定的引數必須產生該引數的有效值。 引數也可以是常數、公式或其他函數。
在某些情況下,您可能需要將某函數做為另一函數的引數使用。 例如,下列公式使用巢狀 AVERAGE 函數,並將結果與兩個欄值的總和做比較。
=AVERAGE([Cost1], SUM([Cost2]+[Discount]))
有效退貨 當函數做為引數使用時,它必須傳回引數所使用的相同類型的值。 例如,如果引數使用 Yes 或 No,則巢狀函數必須傳回 Yes 或 No。 如果沒有,清單或文件庫會顯示 #VALUE! 的錯誤值。
巢狀層級限制 一個公式最多可以包含八層巢狀函數。 當函數 B 在函數 A 中用作引數時,函數 B 是第二層函數。 例如,在上述範例中,SUM 函數是第二層函數,因為它是 AVERAGE 函數的引數。 巢狀函數於 SUM 函數中的函數會是第三層函數,依此類推。
注意
- 清單和文件庫不支援 RAND 和 NOW 函數。
- 計算資料行不支援 TODAY 和 ME 函數,但資料行的預設值設定支援。
在公式中使用欄參照
參照可識別目前列中的儲存格,並向清單或文件庫指出要搜尋要在公式中使用的值或資料的位置。 例如,[Cost] 是指目前資料列中 Cost 資料行中的值。 如果目前資料列的 [成本] 欄值為 100,則 =[Cost]*3 會傳回 300。
有了參照,您就可以在一或多個公式中使用清單或文件庫不同欄中包含的資料。 您可以在公式中參照下列資料類型的欄:單行文字、數字、貨幣、日期和時間、選擇、是/否和計算。
您可以使用資料行的顯示名稱在公式中參考它。 如果名稱包含空格或特殊字元,則必須以方括弧 ([ ]) 括住名稱。 參照不區分大小寫。 例如,您可以在公式中將單價欄參照為 [Unit Price] 或 [Unit price]。
注意
- 您無法參考目前列以外列中的值。
- 您不能參考其他清單或文件庫中的值。
- 您無法為新插入的資料列參考資料列的 ID。 執行計算時,該 ID 尚不存在。
- 您無法參考公式中的其他資料行,以建立資料行的預設值。
在公式中使用常數
常數是未計算的值。 例如日期 10/9/2008、數字 210 與文字 "季收入" 都是常數。 常數可以是下列資料類型:
- 字串 (範例:=[姓氏] = “smith”)
字串常數會以引號括住,最多可以包含 255 個字元。 - 數字 (範例:=[Cost] >= 29.99)
數值常數可以包含小數位數,並且可以是正數或負數。 - 日期 (範例:=[Date] > DATE (2007,7,1) )
日期常數需要使用 DATE (year,month,day) 函數。 - 布林值 (範例:=IF ([Cost]>[Revenue], “Loss”, “No Loss”)
Yes 和 No 都是布林值常數。 您可以在條件運算式中使用它們。 在上述範例中,如果 Cost 大於 Revenue,IF 函數會傳回 Yes,公式會傳回字串 “Loss”。 如果 Cost 等於或小於 Revenue,函數會傳回 No,而公式會傳回字串 “No Loss”。
在公式中使用計算運算子
運算子會指定您要在公式元素上執行的計算類型。 清單和文件庫支援三種不同類型的計算運算子:算術運算子、比較運算子和文字運算子。
算術運算子
使用下列算術運算子來執行基本的數學運算,例如加法、減法或乘法;合併數字;或產生數值結果。
| 算術運算子 | 範例 () 意義 |
|---|---|
| + (加號) | 加法 (3+3) |
| - (減號) | 減 (3–1) 負 (–1) |
| * (星號) | 乘法 (3*3) |
| / (斜線) | 分區 (3/3) |
| % (百分比符號) | 百分比 (20%) |
| ^ (插入號) | 乘冪 (3^2) |
比較運算子
您可以使用下列運算子來比較兩個值。 當使用這些運算子來比較兩個值時,結果會是邏輯值 [是] 或 [否]。
| 比較運算子 | 範例 () 意義 |
|---|---|
| = (等號) | 等於 (A=B) |
| > (大於符號) | 大於 (A>B) |
| < (小於號) | 小於 (A<B) |
| >= (大於或等於符號) | 大於或等於 (A>=B) |
| <= (小於或等於符號) | 小於或等於 (A<=B) |
| <> (不等於符號) | 不等於 (A<>B) |
文字運算子
使用 [符號] (&) 來連接或串連一或多個文字字串,以產生單一文字片段。
| 文字運算子 | 範例 () 意義 |
|---|---|
| & (& 符號) | 連接或串連兩個值,產生一個連續的文字值 (“North”&“wind”) |
清單或文件庫在公式中執行運算的順序
公式會依照特定的順序來計算值。 公式的開頭可能為等號 (=) 。 等號後面是要 (運算元) 計算的元素,這些運算元由計算運算子分隔。 清單和文件庫會依照公式中每個運算子的特定順序,從左到右計算公式。
運算子優先順序
如果您在單一公式中結合數個運算子,清單和文件庫會依照下表所示的順序執行運算。 如果公式包含具有相同優先順序的運算子 (例如,公式同時包含乘法運算子和除法運算子) - 清單和文件庫會從左至右評估運算子。
| 運算子 | 描述 |
|---|---|
| – | 負 (如在 -1 中) |
| % | 百分比 |
| ^ | 乘冪 |
| * 和 / | 乘和除 |
| + 和 - | 加和減 |
| & | 串連 (連接兩個文字字串) |
| = <><= = ><> | 比較 |
括號的使用
若要變更評估順序,請以括弧括住公式中最先計算的部分。 例如,下列公式會產生 11,因為清單或文件庫在加法之前會先計算乘法。 公式先將 2 乘以 3,然後與 5 相加來得到結果。
=5+2*3
相反地,如果您使用括弧變更語法,清單或文件庫會將 5 和 2 相加,然後將結果乘以 3 得到 21。
=(5+2)*3
在下列範例中,公式第一部分周圍的括弧會強制清單或文件庫先計算 [Cost]+25,然後將結果除以 EC1 和 EC2 欄中值的總和。
=([Cost]+25)/SUM([EC1]+[EC2])