Excel函数、公式、图表、数据处理从新手到高手
上QQ阅读APP看书,第一时间看更新

3.1 公式和函数基础

在开始介绍具体的函数之前,首先介绍公式和函数的基本概念和相关操作。本节内容是独立于特定函数之外的,也就是说,对于任何类型的函数,本节内容都具有通用性。

3.1.1 公式的组成

Excel中的公式由等号、常量、运算符、单元格引用、函数、定义的名称等内容组成。公式可以包括以上这些内容中一部分或全部,具体包括哪些由公式的复杂程度决定。无论哪个公式,都必须以等号开头,只有这样才会被Excel认为当前输入的是公式而不是文本或数字。

简单的公式可以只包含一个单元格引用或一个函数,如“=B1”和“=NOW()”。稍复杂一点的公式可能会包含常量、单元格引用、运算符和函数,如“=SUM(A1:A6)/2”。更复杂的公式会包含多个函数的嵌套使用。

常量就是字面量,可以是文本、数值或日期,如666、Office、2019年5月1日。单元格引用就是单元格地址,可以是单个单元格地址,也可以是单元格区域的地址,如A1、A3:D6。函数可以是Excel内置的函数,如SUM、LEFT、LOOKUP,也可以是用户通过编写VBA代码创建的自定义函数。名称是由用户在Excel中创建的,其中可以包含常量、单元格引用或公式,使用名称即可引用它所代表的内容,通常可以简化输入量,并使公式更易读。

运算符用于连接公式中的各个部分,并执行不同类型的运算,如“+”(加法运算符)用于计算运算符两侧的数字之和,“*”(乘法运算符)用于计算运算符两侧的数字乘积。不同类型的运算符具有不同的计算顺序,可以将这种顺序称为运算符的优先级。

Excel中的运算符包括引用运算符、算术运算符、文本连接运算符、比较运算符4种类型,表3-1列出了按优先级从高到低的顺序排列的运算符。

表3-1 Excel中的运算符及其说明

如果一个公式中包含多个不同类型的运算符,Excel将按照这些运算符的优先级对公式中的各部分进行计算。如果一个公式中包含多个具有相同优先级的同一类型的运算符,Excel将按照运算符在公式中出现的位置,从左到右对各部分进行计算。

例如,下面的公式的计算结果为11,由于*和/这两个运算符的优先级高于+运算符,因此先计算10*3,再将得到的结果30除以6,最后将得到的结果5加6,最终得到11。

如果想要先计算处于低优先级的加法,即6+10部分,那么可以使用小括号提升运算符的优先级,使低优先级的运算符先进行计算。下面的公式将“6+10”放到一对小括号中,使其在*和/之前先计算,因此该公式的计算结果为8,即6+10=16,16*3=48,48/6=8。

当公式中包含嵌套的小括号时,即一对小括号位于另一对小括号中。在这种情况下,嵌套小括号的计算顺序是从最内层的小括号逐级向外层小括号进行计算。

3.1.2 输入和修改公式

输入公式的方法与第1章介绍的输入普通数据的方法类似,除了包含“输入”和“编辑”两种模式之外,输入公式时还多了一种“点”模式。该模式出现在输入一个运算符之后,如果此时按下方向键或单击任意一个单元格,就会进入“点”模式,当前选中的单元格的边框变为虚线,该单元格的地址会被添加到运算符的右侧,如图3-1所示。

图3-1 “点”模式

输入公式时,可以在“输入”“编辑”和“点”3种模式之间随意切换。输入好公式中的所有内容后,按Enter键结束输入,如果没有错误,则会得到正确的计算结果。

如果要输入新的公式来代替单元格中的现有公式,选择包含公式的单元格,然后输入新的公式并按Enter键。如果要修改公式中的部分内容,则可以选择包含公式的单元格,然后使用以下几种方法进入“编辑”模式:

  •  按F2键。
  •  双击单元格。
  •  单击编辑栏。

完成修改后,按Enter键确认并保存修改结果。如果在修改时按Esc键,则会放弃当前所做的所有修改并退出“编辑”模式。

3.1.3 移动和复制公式

用户可以将单元格中的公式移动或复制到其他位置,方法类似于移动和复制普通数据,具体内容已在第1章详细介绍过。填充数据的方法也同样适用于公式,通过拖动包含公式的单元格右下角的填充柄,可以在一行或一列中复制公式。也可以双击填充柄,将公式快速复制到与相邻的行或列中最后一个连续数据相同的位置上。

如果在复制的公式中包含单元格引用,那么单元格引用的类型将会影响复制后的公式。Excel中的单元格引用类型分为相对引用、绝对引用、混合引用3种,可以通过单元格地址中是否包含$符号,来从外观上区分这3种引用类型。

如果同时在行号和列标左侧添加$符号,则该单元格的引用类型是绝对引用,如$A$1。如果行号和列标左侧都没有$符号,则该单元格的引用类型是相对引用,如A1。如果只在单元格地址的行号左侧添加$符号,则该单元格的引用类型是混合引用,即列相对引用、行绝对引用,如A$1。如果只在单元格地址的列标左侧添加$符号,则该单元格的引用类型也是混合引用,即列绝对引用、行相对引用,如$A1。

用户可以在单元格地址中手动输入$符号来改变单元格的引用类型。更便捷的方法是在单元格或编辑栏中选中单元格地址,然后使用F4键在不同的引用类型之间快速切换。假设A1单元格最初为相对引用,使用下面的方法将在不同的引用类型之间切换:

  •  按1次F4键,将相对引用转换为绝对引用,即A1→$A$1。
  •  按2次F4键:将相对引用转换为行绝对引用、列相对引用,即A1→A$1。
  •  按3次F4键:将相对引用转换为行相对引用、列绝对引用,即A1→$A1。
  •  按4次F4键:单元格的引用类型恢复为最初状态。

在将公式从一个单元格复制到另一个单元格时,公式中的绝对引用的单元格地址不会改变,而相对引用的单元格地址则会根据复制前、复制后的位置关系动态改变。将复制前的单元格地址看作起点,根据公式复制到的目标单元格与原始单元格之间的相对位置,改变复制公式后的单元格地址。

例如,如果B1单元格中的公式为“=A1+6”,将公式复制到C3单元格后,公式变为“=B3+6”,原来的A1自动变为B3,如图3-2所示。公式由B1复制到C3,相当于从B1向下移动2行,向右移动1列,从而到达C3。由于公式中的A1是相对引用,因此,该单元格也要向下移动2行,向右移动1列,从而到达B3。

图3-2 相对引用对复制公式的影响

如果单元格的引用类型是混合引用,则在复制公式时,只改变相对引用的部分,绝对引用的部分保持不变。仍使用上面的示例进行说明,如果B1单元格中的公式为“=A$1+6”,将该公式复制到C3单元格后,公式将变为“=B$1+6”,如图3-3所示。由于原来的A$1是行绝对引用、列相对引用,因此复制后只改变列的位置。

图3-3 混合引用对复制公式的影响

3.1.4 改变公式的计算方式

在修改公式中的内容后,按Enter键会得到最新的计算结果。如果工作表中包含使用随机数函数的公式,则在编辑其他单元格并结束编辑后,随机数函数的值会自动更新。这是因为Excel的计算方式默认设置为“自动”。

如果工作表中包含大量的公式,那么这种自动重算功能会严重影响Excel的整体性能。此时,可以将计算方式改为“手动”,在功能区“公式”|“计算”组中单击“计算选项”按钮,然后在下拉菜单中单击“手动”命令,如图3-4所示。

图3-4 改变公式的计算方式

提示:如果将计算方式设置为“除模拟运算表外,自动重算”,则在Excel重新计算公式时会自动忽略模拟运算表的相关公式。

将计算方式设置为“手动”后,如果工作表中存在任何未计算的公式,则会在状态栏中显示“计算”字样,此时可以使用以下几种方法对公式执行计算:

  •  在功能区“公式”|“计算”组中单击“开始计算”按钮,或按F9键,将重新计算所有打开工作簿中的所有工作表中未计算的公式。
  •  在功能区“公式”|“计算”组中单击“计算工作表”按钮,或按Shift+F9组合键,将重新计算当前工作表中的公式。
  •  按Ctrl+Alt+F9组合键,将重新计算所有打开工作簿中的所有工作表中的公式,无论这些公式是否需要重新计算。
  •  按Ctrl+Shift+Alt+F9组合键,将重新检查相关的公式,并重新计算所有打开工作簿中的所有工作表中的公式,无论这些公式是否需要重新计算。

3.1.5 函数的类型

Excel提供了几百个内置函数,用于执行不同类型的计算,表3-2列出了Excel中的函数类别及其说明。为了使函数名可以更准确地描述函数的功能,从Excel 2010开始微软对Excel早期版本中的一些函数进行了重命名,同时改进了一些函数的性能和计算精度。后来的Excel版本仍然沿用Excel 2010中的函数命名方式。

表3-2 Excel中的函数类别及其说明

为了保持与Excel早期版本的兼容性,Excel 2010及Excel更高版本中保留了重命名前的函数,它们位于功能区中的“公式”|“函数库”|“其他函数”|“兼容性”下拉列表中,如图3-5所示。重命名后的函数名称通常是在原有函数名称中间的某个位置添加了一个英文句点“.”,有的函数会在其原有名称的结尾添加包含英文句点在内的扩展名。例如,NORMSDIST是Excel 2003中的标准正态累积分布函数,在Excel 2010及Excel更高版本中,将该函数重命名为NORM.S.DIST。

图3-5 兼容性函数

在关闭一些工作簿时,可能会显示用户是否保存工作簿的提示信息。即使在打开工作簿后未进行任何修改,关闭工作簿时仍然会显示这类提示信息。出现这种情况通常是由于在工作簿中使用了易失性函数。

在工作表中的任意一个单元格中输入或编辑数据,甚至只是打开工作簿这样的简单操作,工作表中的易失性函数都会自动重新计算,此时关闭工作簿,工作簿就成为了未保存状态,因此会显示是否保存的提示信息。常见的易失性函数有TODAY、NOW、RAND、RANDBETWEEN、OFFSET、INDIRECT、CELL、INFO等。

下面的操作不会触发易失性函数的自动重算:

  •  将计算方式设置为“手动计算”。
  •  设置单元格格式或其他显示方面的属性。
  •  输入或编辑单元格时,按Esc键取消本次输入或编辑操作。
  •  使用除鼠标双击外的其他方法来调整单元格的行高和列宽。

3.1.6 在公式中输入函数及其参数

用户可以使用以下几种方法在公式中输入函数:

  •  手动输入函数。
  •  使用功能区中的函数命令。
  •  使用“插入函数”对话框。
1.手动输入函数

如果知道要使用的函数,那么手动输入函数是简单直接的方法。当用户在公式中输入函数的首字母或前几个字母时,Excel会自动显示包含与用户输入相匹配的函数和名称的列表,该列表由“公式记忆式键入”功能控制,用户可以从列表中选择某个函数,或继续输入更多的字母以缩小匹配范围。

例如,要使用SUM函数计算数字之和,首先在单元格中输入一个等号,然后输入SUM函数的首字母S,此时会显示以字母S开头的所有函数和名称的列表,如图3-6所示。继续输入SUM函数的第2个字母U,列表被自动筛选一次,此时显示以字母SU开头的函数和名称的列表。滚动鼠标滚轮或使用键盘上的方向键选择所需的函数(如SUM),按Tab键即可将该函数添加到公式中,如图3-7所示。

图3-6 输入函数的首字母会显示匹配的函数名

图3-7 输入更多字母缩小匹配范围

Excel会自动在函数名的右侧添加一个左括号,并在函数名的下方显示当前需要输入的参数信息,参数名显示为粗体,以中括号包围的参数是可选参数,如图3-8所示。输入参数后,需要输入一个右括号作为当前函数的结束标志。

提示:无论用户在输入函数时使用的是大写字母还是小写字母,只要函数名的拼写正确,按下Enter键后,函数名会自动转换为大写字母形式。

2.使用功能区中的函数命令

在功能区“公式”|“函数库”组中列出了不同的函数类别,用户可以从特定的函数类别中选择所需使用的函数。如图3-9所示为从“数学和三角函数”类别中选择的SUM函数,当光标指向某个函数时,会自动显示该函数的功能及其包含的参数。

图3-8 将函数输入到公式中

图3-9 在功能区中选择要使用的函数

选择一个函数后,将打开“函数参数”对话框,其中显示了函数包含的各个参数,用户需要在相应的文本框中输入参数的值,可以单击文本框右侧的按钮在工作表中使用鼠标选择单元格或区域,每个参数的值会显示在文本框的右侧,下方会显示使用当前函数对各个参数计算后的结果,如图3-10所示。确认无误后,单击“确定”按钮,将包含参数的函数输入到公式中。

图3-10 设置函数的参数值

3.使用“插入函数”对话框

除了使用功能区中的函数命令之外,还可以使用“插入函数”对话框来输入函数。单击编辑栏左侧的按钮,打开“插入函数”对话框。在“搜索函数”文本框中输入有关计算目的或函数功能的描述信息,然后单击“转到”按钮,Excel会显示与输入的功能相匹配的函数,如图3-11所示。

图3-11 通过输入描述信息找到匹配的函数

在“选择函数”列表框中选择所需的函数,然后单击“确定”按钮,在打开的“函数参数”对话框中输入参数的值即可。

上面介绍输入函数时,都涉及函数的参数。每个函数都由函数名、一对小括号以及位于小括号中的一个或多个参数组成,各个参数之间使用英文逗号分隔,形式如下:

参数是函数要进行计算的数据,用户只有根据函数语法中的参数位置,按照正确顺序输入相应类型的数据,才能使函数得到正确的计算结果,否则会返回错误值。个别函数不包含任何参数,输入这些函数时,输入函数名和一对小括号即可得到计算结果。

图3-12 使用中括号标记可选参数

参数的值可以有多种形式,包括以常量形式输入的数值或文本、单元格引用、数组、名称或另一个函数的计算结果。将一个函数的计算结果作为另一个函数的参数的形式称为嵌套函数。

在为某些函数指定参数值时,并非必须提供函数语法中列出的所有参数,这是因为参数分为必选参数和可选参考两种:

  •  必选参数:必须明确指定必选参数的值。
  •  可选参数:可以省略可选参数,函数语法中使用中括号标记的参数就是可选参数,如图3-12所示。例如,SUM函数最多有255个参数,只有第一个参数是必选参数,其他参数都是可选参数,因此只指定第一个参数,而省略其他254个参数。

对于包含可选参数的函数来说,如果在可选参数之后还有参数。则当不指定前一个可选参数而直接指定其后的可选参数时,必须保留前一个可选参数的逗号占位符。例如,OFFSET函数包含5个参数,前3个参数是必选参数,后2个参数是可选参数,当不指定该函数的第4个参数而需要指定第5个参数时,必须保留第4个参数与第5个参数之间的英文逗号,此时Excel会为第4个参数指定默认值。

3.1.7 在公式中引用其他工作表或工作簿中的数据

公式中引用的数据可以来自于公式所在的工作表,这种情况是最容易处理的。Excel也支持在公式中引用来自于同一个工作簿的其他工作表或其他工作簿中的数据,此时就需要使用特定的格式在公式中输入所引用的数据。

1.在公式中引用其他工作表中的数据

如果要在公式中引用同一个工作簿的其他工作表中的数据,则需要在单元格地址的左侧添加工作表名称和一个英文感叹号,格式如下:

例如,在Sheet2工作表的A1单元格中包含数值111,如图3-13所示。如果要在该工作簿的Sheet1工作表的A1单元格中输入一个公式,来计算Sheet2工作表的A1单元格中的数值与6的乘积,则需要在Sheet1工作表的A1单元格中输入下面的公式,如图3-14所示。

图3-13 Sheet2工作表中的数据

图3-14 Sheet1工作表中的公式

注意:如果工作表的名称以数字开头,或其中包含空格、特殊字符(如$、%、#等),则在公式中需要使用一对单引号将工作表名称包围起来,如“='Sheet 2'!A1*6”。如果修改工作表的名称,公式中工作表名称会同步更新。

2.在公式中引用其他工作簿中的数据

如果要在公式中引用其他工作簿中的数据,则需要在单元格地址的左侧添加使用中括号括起的工作簿名称、工作表名称和一个英文感叹号,格式如下:

如果工作簿名称或工作表名称以数字开头,或其中包含空格、特殊字符,则需要使用一对单引号同时将工作簿名称和工作表名称包围起来,格式如下:

如果公式中引用的数据所在的工作簿已经打开,则按照上面的格式输入工作簿的名称,否则必须在公式中输入工作簿的完整路径。为了简化输入,通常在打开工作簿的情况下创建这类公式。

提示:如果在工作簿打开的情况下设置好公式,在关闭工作簿后,其路径会被自动添加到公式中。

如图3-15所示,下面的公式引用“销售数据”工作簿Sheet2工作表中的A1单元格中的数据,并计算它与5的乘积。

图3-15 在公式中引用其他工作簿中的数据

3.在公式中引用多个工作表中的相同区域

如果要引用多个相邻工作表中的相同区域,则可以使用工作表的三维引用,从而简化对每一个工作表的单独引用,格式如下:

用下面的公式来计算Sheet1、Sheet2和Sheet3这3个工作表A1:A6单元格区域中的数值总和:

如果不使用三维引用,则需要在公式中重复引用每一个工作表中的单元格区域:

下面列出的这些函数支持工作表的三维引用:

SUM、AVERAGE、AVERAGEA、COUNT、COUNTA、MAX、MAXA、MIN、MINA、PRODUCT、STDEV.P、STDEV.S、STDEVA、STDEVPA、VAR.P、VAR.S、VARA和VARPA。

如果改变公式中引用的多个工作表的起始工作表或终止工作表,或在所引用的多个工作表的范围内添加或删除工作表,那么Excel会自动调整公式中所引用的多个工作表的范围及其中包含的工作表。

技巧:如果要引用除了当前工作表之外的其他所有工作表,则可以使用通配符“*”代表公式所在的工作表之外的所有其他工作表的名称,类似于如下形式:

3.1.8 创建和使用名称

在Excel中可以为常量、单元格、公式等内容创建名称,之后可以使用名称代替这些内容,这样做不但可以简化输入,还可以让公式更具可读性。用户可以使用名称框、“新建名称”对话框和“根据所选内容创建”命令3种方法创建名称。

1.使用名称框

在工作表中选择要创建名称的单元格或区域,然后单击名称框,输入一个名称后按Enter键,即可为选中的单元格或区域创建名称,如图3-16所示。

使用名称框创建的名称默认为工作簿级名称,在名称所在工作簿的任意一个工作表中,可以直接使用工作簿级的名称,而不需要添加对工作表名称的引用。

如果想要创建工作表级名称,则要在名称框中输入名称前,先输入当前工作表的名称,然后输入一个感叹号,再输入名称,格式类似于在公式中引用其他工作表中的数据。输入公式如下:

2.使用“新建名称”对话框

使用“新建名称”对话框是创建名称最灵活的方法。该方法不但可以为单元格或区域创建名称,还可以为常量或公式创建名称。

在工作表中选择要创建名称的单元格或区域,然后在功能区“公式”|“定义的名称”组中单击“定义名称”按钮,打开如图3-17所示的“新建名称”对话框,进行以下设置:

  •  在“名称”文本框中输入名称,如“销量”。
  •  在“范围”下拉列表中选择名称的级别,选择“工作簿”将创建工作簿级名称,选择特定的工作表名将创建工作表级名称。
  •  在“引用位置”文本框中自动填入了事先选中的单元格或区域。可以单击按钮,在工作表中重新选择区域。
  •  在“备注”文本框中可以输入简要的说明信息。

图3-16 使用名称框创建名称

图3-17 “新建名称”对话框

完成以上设置后,单击“确定”按钮,即可创建名称。

为常量或公式创建名称的方法与此类似,在“引用位置”文本框中输入所需的常量或公式即可。在“引用位置”文本框中输入内容时,也分为输入、编辑、点3种输入模式,可以按F2键在“输入”和“编辑”模式之间切换。

3.使用“根据所选内容创建”命令

如果在数据区域的边界包含标题,则可以使用“根据所选内容创建”命令为与标题对应的数据区域创建名称,此方法适用于快速为多行或多列中的每一行或每一列数据创建名称。

如图3-18所示,数据区域的第一行是各列数据的标题,如果要将每列顶部的标题创建为相应列的名称,最快的方法是使用“根据所选内容创建”命令,操作步骤如下:

(1)选择包含列标题在内的数据区域,本例为A1:C6。

(2)在功能区“公式”|“定义的名称”组中单击“根据所选内容创建”按钮,打开“根据所选内容创建名称”对话框,只选中“首行”复选框,如图3-19所示。

(3)单击“确定”按钮,将为每一列数据创建一个名称,名称就是各列顶部的标题。选择不包含标题的任意一列数据,名称框中将显示该列的名称,如图3-20所示。

图3-18 包含标题的数据区域

图3-19 选中“首行”复选框

图3-20 批量为各列创建名称

创建好名称后就可以在公式中使用它了。在公式中输入名称的方法与输入函数类似,Excel也会自动显示与用户输入相匹配的包含名称和函数的列表,用户可以从中选择所需的名称,然后按Tab键,即可将名称添加到公式中。

还有一种输入名称的方法是在功能区“公式”|“定义的名称”组中单击“用于公式”按钮,然后在下拉菜单中选择所需的名称,如图3-21所示。

如果在输入好公式之后为公式中的单元格或区域创建了名称,那么可以让Excel自动使用名称替换公式中与名称对应的单元格或区域。

在功能区“公式”|“定义的名称”组中单击“定义名称”按钮上的下拉按钮,然后在下拉菜单中单击“应用名称”命令。打开如图3-22所示的“应用名称”对话框,在列表框中选择要进行替换的名称,最后单击“确定”按钮。

图3-21 从名称列表中选择所需的名称

图3-22 选择要进行替换的名称

如果要查看和修改已创建的名称,则可以在功能区“公式”|“定义的名称”组中单击“名称管理器”按钮,打开“名称管理器”对话框,如图3-23所示。在该对话框中可以创建、编辑和删除名称,具体如下:

  •  创建名称:单击“新建”按钮,在打开的“新建名称”对话框中创建名称。
  •  修改名称:单击“编辑”按钮,在打开的“编辑名称”对话框中修改名称,不能修改名称的范围。如果只修改名称的引用位置,则可以在“名称管理器”对话框底部的“引用位置”文本框中进行编辑。
  •  删除名称:单击“删除”按钮删除选中的名称。可以在“名称管理器”对话框中拖动鼠标选择多个名称,或者使用Shift键或Ctrl键配合鼠标单击来选择多个相邻或不相邻的名称,方法类似于在Windows文件资源管理器中选择文件和文件夹。
  •  查看名称:单击“筛选”按钮,在下拉菜单中选择筛选条件,将只显示符合特定条件的名称。

图3-23 “名称管理器”对话框

3.1.9 创建数组公式

Excel中的数组是指排列在一行、一列或多行多列中的一组数据的集合。数组中的每一个数据称为数组元素,数组元素的数据类型可以是Excel支持的任意数据类型。按数组的维数(维数即不同维度的个数,维度是指数组的行列方向)划分,可以将Excel中的数组分为以下两类:

  •  一维数组:数组元素排列在一行或一列的数组是一维数组。数组元素排列在一行的数组是水平数组(或横向数组),数组元素排列在一列的数组是垂直数组(或纵向数组)。
  •  二维数组:数组元素同时排列在多行多列的数组是二维数组。

数组的尺寸是指数组各行各列的元素个数。一行N列的一维水平数组的尺寸为1×N,一列N行的一维垂直数组的尺寸为N×1,MN列的二维数组的尺寸为M×N

按数组的存在形式划分,可以将Excel中的数组分为以下3类:

  •  常量数组:常量数组是直接在公式中输入数组元素,并使用一对大括号将这些元素包围起来。如果数组元素是文本型数据,则需要使用英文双引号包围数组元素。常量数组不依赖于单元格区域。
  •  区域数组:区域数组是公式中的单元格区域引用,如“=SUM(A1:B6)”中的A1:B6就是区域数组。
  •  内存数组:内存数组是在公式的计算过程中,由中间步骤返回的多个结果临时构成的数组,通常作为一个整体继续参与下一步计算。内存数组存在于内存中,因此不依赖于单元格区域。

无论哪种类型的数组,数组中的元素都遵循以下格式:水平数组中的各个元素之间使用英文逗号分隔,垂直数组中的各个元素之间使用英文分号分隔。如图3-24所示,A1:F1单元格区域中包含一个一维水平的常量数组,输入公式如下:

如图3-25所示,A1:A6单元格区域中包含一个一维垂直的常量数组,输入公式如下:

图3-24 一维水平数组

图3-25 一维垂直数组

在输入上面两个常量数组时,需要先选择与数组方向及元素个数完全一致的单元格区域,然后输入数组公式并按Ctrl+Shift+Enter组合键,Excel会自动添加一对大括号将整个公式包围起来。

根据数组公式占据的单元格数量,可以分为单个单元格数组公式和多个单元格数组公式(或称多单元格数组公式)。如果要修改多单元格数组公式,则需要选择数组公式占据的整个单元格区域,然后按F2键进入“编辑”模式后进行修改,完成后需要按Ctrl+Shift+Enter组合键结束。如果单独对多单元格数组公式的某个单元格进行修改,则会弹出如图3-26所示的对话框。

删除多单元格数组公式的方法与此类似,需要选择数组公式占据的整个单元格区域,然后按Delete键将数组公式删除。

如图3-27所示,使用下面的数组公式计算出所有商品的总销售额。如果按照常规方法则需要两步,首先分别计算每种商品的销售额,然后使用SUM函数对计算出的各个销售额求和。需要注意的是,公式两侧的大括号是按Ctrl+Shift+Enter组合键之后由Excel自动添加的,如果用户手动输入则会出错。

图3-26 禁止修改多单元格数组公式中的部分单元格

图3-27 使用数组公式计算所有商品的总销售额

3.1.10  处理公式中的错误

当单元格中的公式发生可被Excel识别的错误时,将在单元格中显示Excel内置的错误值,它们都以#符号开头,每个错误值表示特定的错误类型和产生原因。表3-3列出了Excel内置的7种错误值及其说明。

表3-3 Excel内置的7种错误值及其说明

除了表3-3中列出的7种错误值之外,Excel实际应用中经常出现的另一种错误是单元格被#符号填满,出现这种错误的原因主要有以下两个:

  •  单元格的列宽过小,导致不能完全显示其中的内容。
  •  在单元格中输入了负的日期或时间,而默认的1900日期,系统不支持负的日期和时间。

当Excel检测到单元格中包含错误时,将在该单元格的左上角显示一个绿色的三角,单击这个单元格会显示按钮,单击该按钮将弹出如图3-28所示的菜单,其中包含错误检查和处理的相关命令。

图3-28 包含错误检查和处理命令的菜单

菜单顶部的文字说明了错误的类型,如图3-28中的“数字错误”,其他命令的功能如下:

  •  关于此错误的帮助:打开帮助窗口并显示相应的错误帮助主题。
  •  显示计算步骤:通过分步计算检查发生错误的位置。
  •  忽略错误:保留当前值,并忽略单元格中的错误。
  •  在编辑栏中编辑:进入单元格的“编辑”模式,用户可以在编辑栏中修改单元格中的内容。
  •  错误检查选项:打开“Excel选项”对话框中的“公式”选项卡,在该选项卡中设置错误的检查规则,如图3-29所示。只有选中“允许后台错误检查”复选框,才会启用Excel错误检查功能。

如果公式比较复杂,则在查找出错原因时可能会比较费时。使用Excel中的分步计算功能,可以将复杂的计算过程分解为单步计算,提高错误排查的效率。

图3-29 设置错误检查选项

选择公式所在的单元格,然后在功能区“公式”|“公式审核”组中单击“公式求值”按钮,打开“公式求值”对话框,如图3-30所示。带有下画线的内容表示当前准备计算的公式,单击“求值”按钮将得到下画线部分的计算结果,如图3-31所示。继续单击“求值”按钮依次计算公式中的其他部分,直到得出整个公式的最终结果。完成整个公式的计算后,可以单击“重新启动”按钮,重新对公式执行分步计算。

图3-30 “公式求值”对话框

图3-31 计算公式中的每个部分

“公式求值”对话框中还有“步入”和“步出”两个按钮。当公式中包含多个计算项且其中含有单元格引用时,“步入”按钮将变为可用状态,单击该按钮会显示分步计算中当前显示下画线部分的值。如果下画线部分包含公式,则会显示具体的公式。单击“步出”按钮,可以从“步入”的下画线部分返回到整个公式中。