SharePoint中计算值公式函数简介

来自: http://blog.csdn.net/xuwenwu/archive/2008/06/01/2501006.aspx 

  SPS中您可以使用列表或库中的公式和函数以多种方式计算数据。通过向列表或库中添加计算列,可以为来自其他列的数据创建公式,并可执行函数以计算日期和时间、运行数学方程或处理文字。例如,在任务列表中,可以使用一个列根据“开始日期”和“完成日期”列来计算完成每项任务所需的天数。
公式概述

公式是对列表或库中的值进行计算的等式。公式以等号 (=) 开头。例如,在下面的公式中,结果等于 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 函数中嵌套的函数是第三层函数,依此类推。

 注释 
列表和库不支持 RAND 和 NOW 函数。
计算列中不支持 TODAY 和 ME 函数,但在某一列的默认值设置中支持这两个函数。

在公式中使用列引用

引用标识当前行中的一个单元格,并向列表或库指示在何处搜索要在公式中使用的值或数据。例如,[Cost] 引用当前行中“Cost”列中的值。如果当前行中“Cost”列的值为 100,则 =[Cost]*3 返回 300。

通过引用,可以在一个或多个公式中使用列表或库的不同列中所包含的数据。可以在公式中引用下列数据类型的列:单行文本、数字、货币、日期和时间、选择、是/否以及计算列。

可以使用列的显示名称在公式中引用该列。如果名称中包含空格或特殊字符,则必须将名称括在方括号 ([ ]) 中。引用不区分大小写。例如,可以在公式中使用 [Unit Price] 或 [unit price] 来引用“Unit Price”这一列。

 注释 
不能引用当前行以外的行中的值。
不能引用其他列表或库中的值。
不能通过行 ID 引用新插入的行。因为执行计算时该 ID 尚不存在。
不能在为某列创建默认值的公式中引用其他列。

在公式中使用常量

常量是不用计算的值。例如,日期 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])

本篇文章来源于 魏宝辉 个人博客  | http://blog.weibaohui.com/
原文链接:http://www.weibaohui.com/article.asp?id=146

posted on 2009-04-20 11:35  山 前  阅读(1864)  评论(1编辑  收藏  举报