应该使用什么函数来解决既有的问题呢?其实,这是一个没有固定答案的问题。同一个问题,用不同的思路,会有不同的解决方法。当你大脑里积累的函数越多,掌握的方法越多,解决的途径就越多。
当然,对职场人士而言,并不要求掌握所有的函数。但是,我们可以通过学习几个最常用的函数,掌握函数的普遍规律与学习方法,进而在职场中利用函数解决实际问题。在此对Excel函数知识进行梳理,从通用知识和专用知识两个维度,可以形成一个矩阵式的知识图谱,如图2-1所示。
图2-1 函数矩阵式知识图谱
通用知识:函数的输入、参数与引用、运算符、嵌套及解读,它们是每一个函数都具备的相同的知识点。
专用知识:函数的含义、语法、应用和要点,不同函数的专用知识都是不一样的,但将它们总结为这4个方面,就是想要说明学习方法是类似的。
提示 可以说,按照这个矩阵图,掌握工作中最常用的80个函数,就称得上学会了Excel函数,至于剩下的其他函数,遇到之后,通过“F1”键打开帮助文件,即可快速掌握其用法。
本节将学习函数的通用知识,后面会针对每一个函数的专用知识进行详细讲解。需要说明的是,由于“函数的输入”相对比较简单,这里不再讲解。
Excel函数的参数可以是常量(数字和文本)、逻辑值(TRUE或FALSE)、数组、单元格引用(例如E1:H1),甚至可以是另一个或几个函数(函数嵌套)等。其中对单元格的引用是最常见、最基本、最灵活的一种方式,说它灵活,是因为可以进行绝对引用、相对引用和混合引用,特别是混合引用,能够极大地展示函数的威力。
绝对引用在表现形式上就是用美元符号“$”作为标记,行列前面都会有一个“$”,比如:=$A$1就是一个绝对引用。
绝对引用表达的是什么意思呢?如图2-2所示,在B5单元格中输入“=$A$1”,然后复制“B5”单元格到“D6”单元格中,“D6”单元格中的公式还是“=$A$1”。也就是说,绝对引用不会随着单元格位置的变化而变化。
图2-2 绝对引用不随单元栺位置的变化而变化
相对引用在表现形式上就是没有美元符号“$”,直接引用单元格,比如:=A1就是一个相对引用。
与绝对引用相反,相对引用会随着单元格的变化而变化。如图2-3所示,在B5单元格中输入“=A1”,然后复制“B5”单元格到“D6”单元格中,然而“D6”单元格的返回值为24,等于“C2”单元格中的值。也就是说,“D6”单元格中的引用由A1变为了C2。可以看出,相对引用中引用的是一个位置,即在B5中引用A1,相当于引用向上数4个、向左数1个单元格,无论将这个引用复制到哪里,返回的结果都是相对于自身“向上数4个、向左数1个单元格”的值。也就是说,其实B5单元格中存储的并不是A1的内容,而是这两个单元格之间的相对关系。
图2-3 相对引用的原理
在使用函数的过程中,引用单元格(或者单元格区域)的情况比较复杂,可能既要绝对引用,又要相对引用,这就是混合引用,即引用的单元格区域行或列既有绝对引用,又有相对引用。
在输入函数的过程中,通过鼠标点选得到的单元格地址在默认情况下只能是固定的某种类型——引用本工作簿中的单元格为相对引用,引用其他工作簿中的单元格为绝对引用。那么如何修改为我们想要的其他类型的引用呢?
答案是:利用“F4”功能键。将鼠标光标定位于函数中引用单元格的位置,按“F4”键,可以进行4个引用状态的切换。
$符号在单元格引用中的用法总结如下。
①$符号表示对单元格位置区域的绝对引用,可以分别修饰行号、列号,也可以同时修饰行号和列号。
②在函数或公式填充单元格时,被$修饰的绝对地址不会自动随之发生修改。没有使用$修饰的相对地址会自动随之发生修改。
③如果使用相对引用,竖向填充时自动修改行号,横向填充时自动修改列号。
函数对单元格的引用方式是本节的重点,而练习单元格的引用有一个经典的例子,就是使用IF函数写出九九乘法表,充分理解这个表格后,就可以完全理解函数的混合引用,如图2-4所示。
图2-4 九九乘法表
我们先从结果来看,以前面两个为例,需要写出的形式为:1×1=1,1×2=2,可以看出:
①第一个因数在列方向上保持不变,不管向下移动多少行,都等于当列的标题值;在行方向上,以本行序号为起始值,向右移动一列递增1。
②第二个因数在行方向上保持不变,列方向以当前列标题为起始值,向下移动一行递增1。
③可以插入特殊符号或者用字母X代替乘号,使用&符号进行连接,等号同理。
④乘积:通过数相乘自动计算。
所以,在B2单元格中输入公式:=B1&"x"&A2&"="&B1*A2,这样显然是不行的,因为公式在向下向右复制的时候,引用的单元格就变化了,得不出正确的结果。根据上面得出的规律,第一个因数在列方向上不变,在行方向上递增。因此,公式向下复制时第一个因数一直引用B1单元格,向右复制时从B1变成C1、D1……,所以引用方式应该为B$1,第二个参数刚好反过来,引用方式为$A2。所以把公式修改为=B$1&"x"&$A2&"="&B$1*$A2,然后将公式向下向右复制填充,得到如图2-5所示的表。
图2-5 复制填充公式
事实上,对于一个乘法口诀表,图中右上空白部分和左下灰色部分是重复的,我们只需要保留左下部分即可。可以看出,当第二个因数小于第一个因数时,不需要显示公式,因此,加一个IF函数进行判断,最终的公式为=IF($A2<B$1,"",B$1&"x"&$A2&"="&B$1*$A2),将此公式向下向右复制填充,即可得出如图2-6所示的九九乘法表。
图2-6 IF函数对公式进行判断
可以说,绝大多数高级函数公式都涉及单元格引用的灵活变化,大家必须牢牢掌握单元格引用。上述九九乘法表是一个经典的练习,如果你现在对此例中用到的函数不太理解,建议等到函数章节全部学完之后再回头做该练习。