|
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”这一列。
注释
- 不能引用当前行以外的行中的值。
- 不能引用其他列表或库中的值。
- 不能通过行>
- 不能在为某列创建默认值的公式中引用其他列。
在公式中使用常量
常量是不用计算的值。例如,日期 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)=B) |
|