OpenOffice.org Calc 函数,第 1 部分:理解函数
函数是在单元格中输入的预定义计算,旨在帮助您分析或操作电子表格中的数据。您只需添加参数,即可自动完成计算。初学者可能满足于使用 Calc 制作列表,但对于高级用户来说,函数是使用电子表格的主要原因。如果您理解函数,那么您就可以开始使用电子表格的真正威力。
在本文的第 1 部分中,我将简要概述函数及其工作原理。然后在第 2 部分中,我将讨论如何使用函数,并举例说明它们可以做什么。
理解函数
Calc 包含 350 多个函数,可帮助您分析和引用数据。这些函数中有许多用于数字,但也有许多用于日期和时间,甚至文本。函数可以像将两个数字相加一样简单,也可以像查找数字列表的平均值一样简单。或者,它可能像计算样本的标准差或数字的双曲正切一样复杂。
通常,函数的名称是对函数功能的简要描述。例如,FV
函数给出投资的未来值,而 BIN2HEX
函数将二进制数转换为十六进制数。按照惯例,函数完全以大写字母输入,尽管 Calc 也可以正确读取小写或混合大小写的函数。
一些基本函数也用符号表示。例如,SUM
(将参数相加)也可以输入为 +
,而 PRODUCTION
(将参数相乘)也可以输入为 *
。
每个函数都有许多用于计算的参数。这些参数可能有也可能没有自己的名称。作为用户,您的工作是输入运行函数所需的参数。在某些情况下,参数将具有预定义的选项,您可能需要参考在线帮助来理解它们。但是,更常见的情况是,参数是您手动输入的值,或者是在电子表格上的单元格或单元格区域中已输入的值。在 Calc 中,您可以通过键入单元格的名称或区域来输入其他单元格中的值,或者——与某些电子表格不同——通过使用鼠标选择单元格来输入。如果单元格中的值发生更改,则函数的结果会自动更新。
严格来说,当所有参数都输入并且函数准备好运行时,它就变成了一个公式。这些术语有时可以互换使用,但区分它们是值得的,因为公式可以使用函数作为参数。
为了兼容性,Calc 中的函数及其参数的名称与其在 MS Excel 中的对应项几乎相同。但是,Excel 和 Calc 都有对方所缺乏的函数。有时,Calc 和 Excel 中名称相同的函数也具有不同的参数,或者同一参数的名称略有不同——这两种情况都无法导入到对方。但是,大约十分之九的函数可以在 Calc 和 Excel 之间无任何问题地导入。
理解函数的结构
除了诸如 +
或 *
之类的简单函数之外,所有公式都具有相似的结构。如果您使用正确的工具输入公式(第 2 部分的主题),您可以避免学习这种结构,但为了进行故障排除,了解它仍然很有价值。
举一个典型的例子,查找与输入的搜索条件匹配的单元格的公式结构是
= DCOUNT (数据库;数据库字段;搜索条件)
与大多数公式一样,这个公式以等号开头。后面是 DCOUNT
,即函数的名称。
函数名称之后是其参数。除非明确列为可选,否则所有参数都是必需的。
参数在方括号内添加,并用分号分隔,参数和分号之间没有空格。许多参数都是数字。一个 Calc 函数最多可以接受三十个数字作为参数。乍一看这似乎不多。但是,当您意识到数字不仅可以是数字或单个单元格,还可以是包含多个甚至数百个单元格的数组或单元格区域时,明显的限制就消失了。
其他参数可以是列标签、数学常数或该函数特有的值。
根据函数,参数可能必须用直引号输入。但是,此要求并不一致。其他类似的公式可能仅在此要求上有所不同,并且没有简单的规则告诉您哪个是哪个。您只需知道或查看在线帮助中的要求即可。
这些结构规则的唯一例外是使用符号输入的基本算术函数。例如,您可以输入 =2+3
而不是输入 =SUM(2;3)
。
高级结构
除了单独使用外,函数还可以是较大公式中的参数。但是,公式受到限制,因为它一次只能执行一个函数。这意味着如果公式要正常工作,您需要确保函数以正确的顺序执行。
为了帮助设置多函数公式中函数的顺序,您可以在括号内使用括号。当公式运行时,Calc 首先执行最内层的函数,然后向外执行。例如,在简单的计算 =2+(5*7)
中,Calc 首先将 5
乘以 7
。然后才将 2
加到结果中,得到 37
。
在括号组中放置函数称为嵌套。基本上,它将可以单独运行的函数简化为公式中的参数。例如,在 =2+(5*7)
中,公式 (5*7)
嵌套在 =2+(5*7)
的较大公式中。
换句话说,嵌套函数成为另一个函数的参数。
当使用带有名称的函数进行计算时,这种关系更加明显。对于所有目的,
=SUM(2;PRODUCT(5;7))
与 =2+(5*7)
是相同的公式。但是,当使用 SUM
和 PRODUCT
时,这种关系更加清晰。PRODUCT
函数位于分号之后,并且在 SUM
函数的一组括号中这一事实清楚地表明 PRODUCT
是 SUM
的参数。此外,内括号对 (5;7)
的事实清楚地表明,此操作在由外括号对定义的操作之前完成。
为了了解嵌套函数可以做什么,想象一下您正在设计一个自学模块。在模块期间,学生进行三次测验,并将结果输入单元格 A1、A2 和 A3。在 A4 中,您可以创建一个嵌套公式,首先使用公式 =AVERAGE(A1:A3)
对测验结果求平均值。然后,该公式使用 IF 函数根据测验的平均成绩向学生提供反馈。整个公式将读作
=IF(AVERAGE(A1:A3) >85; "恭喜!您已准备好进入下一个模块"; "未通过。请再次复习材料。如有必要,请联系您的指导老师寻求帮助")
根据平均值,学生将收到祝贺或失败的消息。
请注意,平均值的嵌套公式不需要自己的等号。方程开头的那个等号对于两个公式都足够了。
结论
如果您是电子表格新手,那么将函数视为脚本语言的最佳方式。我使用了简单的示例来更清楚地解释,但是,通过函数的嵌套,Calc 公式可以很快变得复杂。
例如,几年前,当我考虑写一本关于 OpenOffice,org 的书时,Kohei Yoshida 向我提供了以下示例,说明公式可以做什么
=6367.5*ACOS(COS(E3*2*PI()/360)*COS(E8*2*PI()/360)*COS((E9-E4)*2*PI()/360)+SIN(E3*2*PI()/360)*SIN(E8*2*PI()/360))
这是一个用于计算两个地点之间距离(以公里为单位)的公式,基于它们的经度和纬度。在公式中,单元格 E3 和 E4 分别给出其中一个地点的经度和纬度,而单元格 E8 和 E9 给出另一个地点的相同信息。
如果您检查这个公式,您很快就会明白将函数与脚本语言进行比较并没有太大的夸张。这就是为什么一位专业的公式编写者可以赚取与经验丰富的程序员相当的薪水。
当然,您可能没有如此精细的目的。但是,在第 2 部分中,我将讨论如何使用函数以及任何用户都可能找到的一些简单用途。
Bruce Byfield 是一位计算机记者,定期为 Linux.com 和 Linux Journal 网站撰稿。