SharePoint中计算值公式函数简介

SharePoint中计算值公式函数简介
 
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])

--------------------------------------------

SharePoint:在计算字段中使用Today, Me之类的函数的方法,有点搞笑,但是有效

提出问题:

我在wss3.0有一个自定义列表,里面要根据一个存在的列[出生日期],来计算[年龄],本来想用公式 =DATEDIF([出生日期],Today,"Y")来计算,但是保存时发现,today或者Me这种函数无法用在计算列。

不知道有什么方法可以计算当前的年龄呢?

 

这个问题一直困扰了很多朋友吧,但解决办法非常搞笑,好像是骗了一下SharePoint就行了。

 

具体步骤:

第一步,建立一个字段叫做Today ,(类型为文本都行)

第二步,建立你想要计算字段年龄,公式=DATEDIF([出生日期],Today,"Y"),类型是数字吧

第三步,删除掉第一步建立的Today字段。

----------------------------------------------------------------------------------------------------

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章