你可以使用列表或库中的公式和函数以多种方式计算数据。 通过将计算列添加到列表或库中,您可以创建一个包含其他列中数据的公式,并执行计算日期和时间、执行数学公式或操作文本的功能。 例如,在任务列表中,可以使用列根据“开始日期”和“完成日期”列计算完成每个任务所需的天数。
注意
本文介绍与使用公式和函数相关的基本概念。 有关特定函数的具体信息,请参阅有关该函数的文章。
本文内容
公式概述
公式是对列表或库中的值执行计算的公式。 公式以等号 (=) 开头。 例如,以下公式将 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])