一、函数的概念
Excel的工作表函数通常简称为Excel函数,它是由Excel内部预先定义并按照特定的顺序和结构来执行计算、分析等数据处理任务的功能模块。因此,Excel函数也常被称为“特殊公式”。Excel函数只有唯一的名称且不区分大小写,每个函数都有特定的功能和用途。
1:函数的结构
在公式中使用函数时,通常由表示公式开始的等号、函数名称、左括号、以半角逗号相间隔的参数和右括号构成。此外,公式中允许使用多个函数或计算式,使用运算符进行连接。
部分函数允许多个参数,如“SUM(A1:A10,C1:C10)”使用了两个参数。另外也有一些函数没有参数或可省略参数,如NOW、RAND及PI等函数没有参数,由等号、函数名称和一对括号组成。
ROW和COLUMN函数可省略参数,如果参数省略则返回公式所在单元格行号、列标的数字。
函数的参数由数值、日期和文本等元素组成,可以使用常量、数组、单元格引用或其他函数。当使用函数作为另一个函数的参数时,称为嵌套函数。
2:可选参数与必需参数
一些函数可以仅使用其部分参数,例如,SUM函数可支持255个参数,其中第1个参数为必需参数,不能省略,而第2至255个参数都可以省略。在函数语法中,可选参数一般用一对中括号“[ ]”包含起来,当函数有多个可选参数时,可从右向左依次省略参数。除了SUM、COUNT等函数具有多个相似参数外,下表列出了常用函数省略具体参数和省略该参数后的默认处理方式。
函数名称 |
参数位置及名称 |
省略参数后的默认处理方式 |
IF函数 |
第三参数[value_if false] |
默认为FALSE |
LOOKUP函数 |
第三参数[result_vector] |
默认为数组语法 |
MATCH函数 |
第三参数[match_type] |
默认为1 |
VLOOKUP函数 |
第四参数[range_lookup] |
默认为TRUE |
HLOOKUP函数 |
第四参数[range_lookup] |
默认为TRUE |
INDIRECT函数 |
第二参数[a1] |
默认为A1引用样式 |
FIND(B)函数 |
第三参数[start_num] |
默认为1 |
SEARCH(B)函数 |
第三参数[start_num] |
默认为1 |
LEFT(B)函数 |
第二参数[num_chars] |
默认为1 |
RIGHT(B)函数 |
第二参数[num_chars] |
默认为1 |
SUBSTITUTE函数 |
第四参数[instance_num] |
默认为替换所有符合第2个参数的字符 |
SUMIF函数 |
第三参数[sum_range] |
默认对第1个参数range进行求和 |
此外,在公式中有些参数可以省略参数值,在前一参数后仅跟一个逗号,用以保留参数的位置,这种方式称为“省略参数的值”或“简写”,常用于代替逻辑值FALSE、数值0或空文本等参数值。
下表列出了常见的函数参数简写情况。
原公式 |
简写后的公式 |
=VLOOKUP(E1,A1:B10,2,FALSE) =VLOOKUP(E1,A1:B10,2,0) |
=VLOOKUP(E1,A1:B10,2,) |
=MAX(D2,0) |
=MAX(D2,) |
=OFFSET(A1,0,0,10,1) |
=OFFSET(A1,,,10,1) |
=SUBSTITUTE(A2,"A”,”") |
=SUBSTITUTE(A2,"A",) |
注:省略参数指的是将参数连同前面的逗号(如果有) 一同去除,仅适用于可选参数;省略参数的值(即简写) 指的是保留参数前面的逗号,但不输入参数的值,可以是可选参数,也可以是必需参数。
3:使用函数的原因
函数具有简化公式、提高编辑效率的特点,可以执行使用其他方式无法实现的数据汇总任务。
某些简单的计算可以通过自行设计的公式完成,例如,对A1:A3单元格求和,可以使用以下公式。
=A1 A2 A3
但如果要对A1~A100或更多单元格求和,逐个单元格相加的做法将变得无比繁杂、低效,并且容易出错。使用SUM函数则可以简化这些公式,使之更易于输入、查错和修改,例如,使用以下公式即可得到A1~A100单元格中的数值之和。
=SUM(A1:A100)
其中SUM是求和函数,A1:A100是需要求和的区域,表示对A1:A100单元格区域执行求和计算。可以根据实际数据情况,将求和区域写成多行多列的单元格引用。
此外,有些函数的功能是自编公式无法完成的,例如,使用RAND函数产生大于等于0小于1的随机值。
使用函数与公式对数据汇总,当数据源中的数据发生变化时,无须对函数与公式再次编辑,即可实时得到最新的计算结果。同时,可以将已有的函数与公式快速应用到具有相同样式和相同运算规则的新数据源中。
二、常用函数的分类
在Excel函数中,根据来源的不同可将函数分为以下4类。
1.内置函数
只要启动了Excel就可以使用的函数
2.扩展函数
必须通过加载宏才能正常使用的函数。例如EUROCONVERT函数必须安装并加载“欧元转换工具”加载项之后才能正常使用,否则将返回错误值#NAME?。
在Excel中,加载后的扩展函数在[插入函数]对话框中的类别为[用户定义]函数,如下图所示。
3.自定义函数
使用VBA代码进行编制并实现特定功能的函数,这类函数存放于VB编辑器的“模块”中。
4.宏表函数
该类函数是Excel 4.0版函数,需要通过定义名称或在宏表中使用,其中多数函数已逐步被内置函数和VBA功能所替代。
自Excel 2007版开始,需要将包含有自定义函数或宏表函数的文件保存为“启用宏的工作簿(.xlsm)”或“二进制工作簿(.xlsb)”,在首次打开文件后需要单击[宏已被禁用]安全警告对话框中的[启用内容]按钮,否则宏表函数将不可用。
根据函数的功能和应用领域,内置函数可分为以下几种类型,文本函数、信息函数、逻辑函数、查找和引用函数、日期和时间函数、统计函数、数学和三角函数、财务函数、工程函数、多维数据集函数、兼容性函数和Web函数。
其中,兼容性函数是对早期版本进行精确度改进或更改名称以更好地反映其用法而保留的旧版函数。虽然这些函数仍可向后兼容,但建议大家从现在开始使用新函数,因为旧版函数在Excel的未来版本中可能不再可用。
在实际应用中,函数的功能被不断开发挖掘,不同类型函数能够解决的问题也不仅仅局限于某个类型。函数的灵活性和多变性,也正是学习函数与公式的乐趣所在。Excel中的内置函数有400多个,但并不需要全部学习这些函数,掌握使用频率较高的几十个函数及这些函数的组合嵌套使用,就可以应对工作中的绝大部分任务。
三、认识函数的易失性
有时用户打开一个工作簿不做任何更改而直接关闭时,Excel会提示“是否保存对文档的更改”,这是因为该工作簿中用到了部分“易失性函数”。
在工作簿中使用了易失性函数,每激活一个单元格或在一个单元格输入数据,甚至只是打开工作簿,具有易失性的函数都会自动重新计算。
易失性函数在以下情形下不会引发自动重新计算。
(1)工作簿的重新计算模式设置为“手动”时。
(2)当手动设置列宽、行高而不是双击调整为合适列宽时,但隐藏行或设置行高值为0除外。
(3)当设置单元格格式或其他更改显示属性的设置时。
(4)激活单元格或编辑单元格内容但按
常见的易失性函数有以下几种。
(1)获取随机数的RAND和RANDBETWEEN函数,每次编辑会自动产生新的随机数。
(2)获取当前日期、时间的TODAY、NOW函数,每次返回当前系统的日期、时间。
(3)返回单元格引用的OFFSET、INDIRECT函数,每次编辑都会重新定位实际的引用区域。
(4)获取单元格信息的CELL函数和INFO函数,每次编辑都会刷新相关信息。
此外,如果SUMIF函数第三参数使用简写形式,也会引发重新计算。