公式概述
公式是對列表或庫中的值進行計算的等式。公式以等號 (=) 開頭。例如,在下面的公式中,結果等於 2 乘以 3 再加 5。
=5+2*3
可以在計算列中使用公式,也可以使用公式計算某一列的默認值。公式中可以包含函數 (函數:函數是預先編寫的公式,可以對一個或多個值執行運算,並返回一個或多個值。函數可以簡化和縮短工作表中的公式,尤其在用公式執行很長或複雜的計算時。)、列引用、運算符 (運算符:一個標記或符號,指定表達式內執行的計算的類型。有數學、比較、邏輯和引用運算符等。)和常量 (常量:不進行計算的值,因此也不會發生變化。例如,數字 210 以及文本“每季度收入”都是常量。表達式以及表達式產生的值都不是常量。),如下例所示。
=PI()*[Result]^2
元素 | 說明 |
---|---|
函數 | PI() 函數返回圓周率 pi 的值 3.141592654。 |
引用(或列名) | [Result] 表示當前行的“Result”列中的值。 |
常量 | 直接輸入到公式中的數字或文本值,如 2。 |
運算符 | *(星號)運算符執行乘法運算,^(插入符號)運算符表示將數字乘冪。 |
公式可以使用上表中的一個或多個元素。下面是一些按照複雜程度排序的公式的示例。
簡單公式(如 =128+345)
下列公式包含常量和運算符。
示例 | 說明 |
---|---|
=128+345 | 將 128 與 345 相加 |
=5^2 | 計算 5 的平方 |
包含列引用的公式(如 =[Revenue] >[Cost])
下列公式引用同一個列表或庫中的其他列。
示例 | 說明 |
---|---|
=[Revenue] | 使用“Revenue”列中的值。 |
=[Revenue]*10/100 | “Revenue”列中的值的 10%。 |
=[Revenue] > [Cost] | 如果“Revenue”列中的值大於“Cost”列中的值,則返回“Yes”。 |
調用函數的公式(如 =AVERAGE(1, 2, 3, 4, 5))
下列公式調用內置函數。
示例 | 說明 |
---|---|
=AVERAGE(1, 2, 3, 4, 5) | 返回一組數值的平均值。 |
=MAX([Q1], [Q2], [Q3], [Q4]) | 返回一組數值中的最大值。 |
=IF([Cost]>[Revenue], "Not OK", "OK") | 如果成本大於收入,則返回“Not OK”。否則,返回“OK”。 |
=DAY("15-Apr-2008") | 返回日期中的天。此公式返回數字 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 函數實例可將“Cost”列的數字四捨五入爲小數點後兩位。
=ROUND([Cost], 2)
學習函數和公式時,下列詞彙很有幫助:
結構 函數的結構以等號 (=) 開始,後跟函數名、左括號、以逗號分隔的函數參數,以右括號結束。
函數名 列表或庫支持的函數的名稱。每個函數都引用特定個數的參數,並對這些參數進行處理,然後返回一個值。
參數 參數可以是數字、文本、邏輯值(如 True 或 False)或列引用。指定的參數必須是該參數的有效值。參數也可以是常量、公式或其他函數。
在某些情況下,可能需要將一個函數作爲另一個函數的一個參數使用。例如,下面的公式使用了嵌套的 AVERAGE 函數,將結果與兩列的值之和進行比較。
=AVERAGE([Cost1], SUM([Cost2]+[Discount]))
有效返回值 當函數作爲參數使用時,其返回值的類型必須與參數所用值的類型相同。例如,如果參數使用“Yes”或“No”,則嵌套函數必須返回“Yes”或“No”;否則,列表或庫將顯示 #VALUE! 錯誤值。
嵌套層限制 一個公式最多可以含有八層嵌套函數。當函數 B 作爲函數 A 中的參數使用時,函數 B 是第二層函數。例如,在上面的示例中,SUM 函數是第二層函數,因爲它是 AVERAGE 函數的參數。在 SUM 函數中嵌套的函數是第三層函數,依此類推。
註釋
在公式中使用列引用
引用標識當前行中的一個單元格,並向列表或庫指示在何處搜索要在公式中使用的值或數據。例如,[Cost] 引用當前行中“Cost”列中的值。如果當前行中“Cost”列的值爲 100,則 =[Cost]*3 返回 300。
通過引用,可以在一個或多個公式中使用列表或庫的不同列中所包含的數據。可以在公式中引用下列數據類型的列:單行文本、數字、貨幣、日期和時間、選擇、是/否以及計算列。
可以使用列的顯示名稱在公式中引用該列。如果名稱中包含空格或特殊字符,則必須將名稱括在方括號 ([ ]) 中。引用不區分大小寫。例如,可以在公式中使用 [Unit Price] 或 [unit price] 來引用“Unit Price”這一列。
註釋
在公式中使用常量
常量是不用計算的值。例如,日期 10/9/2008、數字 210 以及文本“季度收入”都是常量。常量可以是下列數據類型:
- String(示例:=[Last Name] = "Smith")
String 常量括在引號中,最多可以包含 255 個字符。
- Number(示例:=[Cost] >= 29.99)
Numeric 常量可以包含小數位數,可以是正數或負數。
- Date(示例:=[Date] > DATE(2007,7,1))
Date 常量要求使用 DATE(year,month,day) 函數。
- Boolean(示例:=IF([Cost]>[Revenue], "Loss", "No Loss")
“Yes”和“No”是 Boolean 常量。可以在條件表達中使用 Boolean 常量。在上面的示例中,如果“Cost”大於“Revenue”,則 IF 函數返回“Yes”,該公式返回字符串“Loss”。如果“Cost”等於或小於“Revenue”,則該函數返回“No”,並且該公式返回字符串“No Loss”。
在公式中使用運算符
運算符指定要對公式中的元素執行的運算的類型。列表和庫支持三種不同類型的運算符:算術運算符、比較運算符和文本運算符。
算術運算符
可使用下列算術運算符來執行加法、減法或乘法等基本數學運算,組合數字或者產生數字結果。
算術運算符 | 含義(示例) |
---|---|
+(加號) | 加法運算 (3+3) |
–(減號) | 減法運算 (3–1) 負數 (–1) |
*(星號) | 乘法運算 (3*3) |
/(正斜槓) | 除法運算 (3/3) |
%(百分號) | 百分比 (20%) |
^(插入符號) | 乘冪運算 (3^2) |
比較運算符
可以使用下列運算符對兩個值進行比較。使用這些運算符對兩個值進行比較時,結果是一個邏輯值“Yes”或“No”。
比較運算符 | 含義(示例) |
---|---|
=(等號) | 等於 (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])
--------------------------------------------
SharePoint:在計算字段中使用Today, Me之類的函數的方法,有點搞笑,但是有效
提出問題:
我在wss3.0有一個自定義列表,裏面要根據一個存在的列[出生日期],來計算[年齡],本來想用公式 =DATEDIF([出生日期],Today,"Y")來計算,但是保存時發現,today或者Me這種函數無法用在計算列。 |
這個問題一直困擾了很多朋友吧,但解決辦法非常搞笑,好像是騙了一下SharePoint就行了。
具體步驟:
第一步,建立一個字段叫做Today ,(類型爲文本都行)
第二步,建立你想要計算字段年齡,公式=DATEDIF([出生日期],Today,"Y"),類型是數字吧
第三步,刪除掉第一步建立的Today字段。
----------------------------------------------------------------------------------------------------