SharePoint 公式和函数简介

应用对象
SharePoint Server 2019 SharePoint Server 2016 SharePoint Server 2013 SharePoint Server 2010 Windows SharePoint Services 3.0

你可以使用列表或库中的公式和函数以多种方式计算数据。 通过将计算列添加到列表或库中,您可以创建一个包含其他列中数据的公式,并执行计算日期和时间、执行数学公式或操作文本的功能。 例如,在任务列表中,可以使用列根据“开始日期”和“完成日期”列计算完成每个任务所需的天数。

注意

本文介绍与使用公式和函数相关的基本概念。 有关特定函数的具体信息,请参阅有关该函数的文章。

本文内容

公式概述

公式是对列表或库中的值执行计算的公式。 公式以等号 (=) 开头。 例如,以下公式将 2 乘以 3,然后将 5 加到结果中。

=5+2*3

可以在计算列中使用公式并计算列的默认值。 公式可以包含函数、列引用、运算符和常量,如以下示例所示。

=PI()*[Result]^2

元素 说明
函数 PI () 函数返回 pi 的值:3.141592654。
引用 (或列名) [Result] 表示当前行的“结果”列中的值。
常数 直接输入到公式中的数字或文本值,例如 2。
运算符 * (星号) 运算符相乘,^ (插入点) 运算符将数字升到幂。

公式可能使用上表中的一个或多个元素。 下面是一些按复杂性) 顺序 (的公式示例。

简单公式 (,如 =128+345)

以下公式包含常量和运算符。

示例 说明
=128+345 将 128 和 345 加起来
=5^2 方格 5

包含列引用 (的公式,例如 =[Revenue] >[Cost])

以下公式引用同一列表或库中的其他列。

示例 说明
=[Revenue] 使用“收入”列中的值。
=[收入]*10/100 收入列中值的 10%。
=[收入] > [成本] 如果“收入”列中的值大于“成本”列中的值,则返回“是”。

调用 (函数的公式,例如 =AVERAGE (1、2、3、4、5) )

以下公式调用内置函数。

示例 说明
=AVERAGE (1, 2, 3, 4, 5) 返回一组值的平均值。
=MAX ([Q1], [Q2], [Q3], [Q4]) 返回一组值中的最大值。
=IF ([Cost]>[Revenue], “Not OK”, “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 函数将返回“是”。 否则,它将返回“否”。

返回页首

函数概述

函数是预定义的公式,通过使用一些称为参数的特定数值来特定的顺序或结构执行计算。 函数可用于执行简单或复杂的计算。 例如,ROUND 函数的以下实例会将“成本”列中的数字四舍五入到小数点后两位。

=ROUND([Cost], 2)

以下词汇表在学习函数和公式时很有帮助:

结构 函数的结构以等号 (=) 开头,后跟函数名称、左括号、用逗号分隔的函数参数和右括号。

函数名称 这是列表或库支持的函数的名称。 每个函数接受特定数量的参数、处理它们并返回一个值。

参数 参数可以是数字、文本、逻辑值(例如 True 或 False)或列引用。 指定的参数必须为该参数生成有效值。 参数也可以是常量、公式或其他函数。

在某些情况下,您可能需要将相应函数作为另一函数的参数使用。 例如,以下公式使用嵌套 AVERAGE 函数,并将结果与两列值的总和进行比较。

=AVERAGE([Cost1], SUM([Cost2]+[Discount]))

有效退货 将函数用作参数时,它必须返回与参数使用的相同类型的值。 例如,如果参数使用 Yes 或 No,则嵌套函数必须返回 Yes 或 No。 如果没有,列表或库将显示 #VALUE! 错误值。

嵌套级别限制 公式最多可以包含八级嵌套函数。 在函数 A 中将函数 B 用作参数时,函数 B 是二级函数。 例如,在上面的示例中,SUM 函数是二级函数,因为它是 AVERAGE 函数的参数。 嵌套在 SUM 函数中的函数将是三级函数,以此类推。

注意

  • 列表和库不支持 RAND 和 NOW 函数。
  • 计算列不支持 TODAY 和 ME 函数,但在列的默认值设置中受支持。

返回页首

在公式中使用列引用

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

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

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

注意

  • 不能引用当前行以外的行中的值。
  • 不能引用其他列表或库中的值。
  • 不能为新插入的行引用行的 ID。 执行计算时 ID 尚不存在。
  • 不能引用为列创建默认值的公式中的另一列。

返回页首

在公式中使用常量

常量是不计算的值。 例如,日期 10/9/2008、数字 210 以及文本“季度收入”都是常量。 常量可以有以下数据类型:

  • 字符串 (示例:=[Last Name] = “Smith”)
    字符串常量用引号括起来,最多可包含 255 个字符。
  • 数字 (示例:=[Cost] >= 29.99)
    数值常量可以包括小数位数,并且可以是正数或负数。
  • 日期 (示例: =[Date] > DATE (2007,7,1) )
    日期常量需要使用 DATE (年、月、日) 函数。
  • 布尔值 (示例:=IF ([成本]>[收入], “Loss”, “No Loss”)
    Yes 和 No 是布尔常数。 可以在条件表达式中使用它们。 在上述示例中,如果成本大于收入,IF 函数返回 Yes,公式返回字符串“Loss”。 如果成本等于或小于收入,则函数返回 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)

文本运算符

使用与号 (&) 联接或串联一个或多个文本字符串以生成一段文本。

文本运算符 示例) (含义
&(与号) 连接或串联两个值以生成一个连续的文本值 (“北”&“风”)

列表或库在公式中执行操作的顺序

公式按特定顺序计算值。 公式可能以等号 (=) 开头。 等号后面是要计算的元素 (操作数) ,由计算运算符分隔。 列表和库根据公式中每个运算符的特定顺序,从左到右计算公式。

运算符优先级

如果将多个运算符组合在单个公式中,则列表和库将按下表所示的顺序执行操作。 如果公式包含具有相同优先级的运算符(例如,公式同时包含乘法运算符和除法运算符),则列表和库将从左到右计算运算符。

运算符 说明
负数(如 –1)
% 百分比
^ 求幂
* 和 / 乘和除
+ 和 – 加和减
& 串联 (连接两个文本字符串)
= <><= = ><> 比较

使用括号

若要更改评估顺序,请先将公式中要计算的部分括起来。 例如,以下公式生成 11,因为列表或库在加法之前计算乘法。 该公式先将 2 与 3 相乘,然后再将 5 与结果相加。

=5+2*3

相反,如果使用括号更改语法,则列表或库会将 5 和 2 相加,然后将结果乘以 3 得到 21。

=(5+2)*3

在下面的示例中,公式第一部分周围的括号强制列表或库先计算 [Cost]+25,然后将结果除以列 EC1 和 EC2 中值之和。

=([Cost]+25)/SUM([EC1]+[EC2])

返回页首