2.1.1 单元格引用不可乱
Excel函数的参数可以是常量(数字和文本)、逻辑值(TRUE或FALSE)、数组、单元格引用(例如E1:H1),甚至可以是另一个或几个函数(函数嵌套)等。其中对单元格的引用是最常见、最基本、最灵活的一种方式,说它灵活,是因为可以进行绝对引用、相对引用和混合引用,特别是混合引用,能够极大地展示函数的威力。
1. 绝对引用
绝对引用在表现形式上就是用美元符号“$”作为标记,行列前面都会有一个“$”,比如:=$A$1就是一个绝对引用。
绝对引用表达的是什么意思呢?如图2-2所示,在B5单元格中输入“=$A$1”,然后复制“B5”单元格到“D6”单元格中,“D6”单元格中的公式还是“=$A$1”。也就是说,绝对引用不会随着单元格位置的变化而变化。
图2-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 相对引用的原理
3. 混合引用
在使用函数的过程中,引用单元格(或者单元格区域)的情况比较复杂,可能既要绝对引用,又要相对引用,这就是混合引用,即引用的单元格区域行或列既有绝对引用,又有相对引用。
在输入函数的过程中,通过鼠标点选得到的单元格地址在默认情况下只能是固定的某种类型——引用本工作簿中的单元格为相对引用,引用其他工作簿中的单元格为绝对引用。那么如何修改为我们想要的其他类型的引用呢?
答案是:利用“F4”功能键。将鼠标光标定位于函数中引用单元格的位置,按“F4”键,可以进行4个引用状态的切换。
$符号在单元格引用中的用法总结如下。
①$符号表示对单元格位置区域的绝对引用,可以分别修饰行号、列号,也可以同时修饰行号和列号。
②在函数或公式填充单元格时,被$修饰的绝对地址不会自动随之发生修改。没有使用$修饰的相对地址会自动随之发生修改。
③如果使用相对引用,竖向填充时自动修改行号,横向填充时自动修改列号。
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函数对公式进行判断
可以说,绝大多数高级函数公式都涉及单元格引用的灵活变化,大家必须牢牢掌握单元格引用。上述九九乘法表是一个经典的练习,如果你现在对此例中用到的函数不太理解,建议等到函数章节全部学完之后再回头做该练习。