下面给大家分析一下这道题。
瓶子看了大家的留言,大家的公式普遍存在一个小问题:每一个嵌套的IF函数的第一参数都用了AND函数去规定数据的范围。
比如这样的:
还有这样的:
不管上面的公式是否正确,大家思考一下,我们有必要写这么多的AND吗?
或许大家是受了教程的影响——谁叫这篇教程正好例举了AND函数,谁叫补助年限刚好能用AND描述呢?哈哈……
(上次留的题目中,由于瓶子的粗心,竟然忘了写大于10年的补助了!自罚多写一些教程,那下面我们就统一大于10年也是补助600)
公式有两种写法,第一种:
=IF(C:C<1 ,0,IF(C:C<2,100,IF(C:C<4,200,IF(C:C<6,300,IF(C:C<8,400, 600)))))
当C列的数字,小于1时,就返回0,否则就直接看第二个IF,这个时候就是默认的大于等于1,所以第二个IF只需要写数字的上限,小于2就可以了,后面的是同样的道理。
上面的公式是全部限制了上限,其实还可以全部限制下限,第二种:
=IF(C:C>=8,600,IF(C:C>=6,400,IF(C:C>=4,300,IF(C:C>=2,200,IF(C:C>=1,100,0)))))
当C列的数字,大于等于8时,就返回600,大于等于6时,返回400,大于等于4时,返回300,大于等于2时,返回200,大于等于1,返回100,否则返回0。
大家可以发现,这道题如果用IF来解答的话,采用第二种方法,每次都设置数据下限,更易理解。
除此以外,瓶子还想告诉大家,在编辑栏输入公式的时候,有些时候可以不必手动输入,比如上面的公式中,我们直接点击列号C,公式中就可以出现了C:C。上面第二个小伙伴写的公式中采用了绝对引用,也可以直接拖选数据区域B5-B14后,按F4,就变成了$B$5:$B$14
。
可能刚入门的小伙伴对相对引用和绝对引用不是很了解,今天瓶子就来给大家讲解一下。
一、相对引用
如下所示,对A、B两列的数据求和,求和结果显示在C列。
如下所示,选中C9单元格后,在编辑栏输入等号,然后直接点击A9单元格,输入加号,再直接点击B9单元格,最后回车。
选中C9单元格,鼠标放在右下角,双击,可以看到整列都得到了求和结果。
此时我们去依次点击C列的单元格,可以看到编辑栏的公式,随着我们的下移,行号也会随之改变,变为对应的行号。
大家可以试一下在A18单元格输入公式,对A列求和,横向拖动填充公式到C18单元格。大家会看到横向拖动公式的时候,列号会自动改变,变为对应的列号。这就叫做相对引用,单元格的相对引用格式就是列号+行号,譬如A10、B14等都是相对引用。相对引用的最大特点就是当拖动填充公式的时候,单元格会自动根据公式所在位置发生变化。
二、绝对引用
绝对引用又是什么呢?
如下图所示,选中D9单元格,输入=sum()之后,点中括号里,直接拖选A9-C9,再按F4,最后回车。
此时双击填充公式,再点击D列各单元格,查看公式,会发现整列公式都一模一样。
与相对引用区别在哪?区别在于当前公式中引用的行号和列号前都加了“$”符号。$就是一把“锁”,锁定了单元格,所以不管我们横着拉,还是竖着拉,公式不会有任何改变,这就叫做绝对引用。
三、混合引用
前面公式中,行号和列号都加了“锁”,但是大家想一想,在竖着填充公式的时候,即便我们不锁定列号,列号也不会改变。
如下所示,在E9单元格中,输入=sum()之后,点中括号里,拖选A9-C9单元格区域,然后按两次F4,此时就只锁定了行号。
双击向下填充后,可以看到结果和前面绝对引用的结果一模一样。
这种只锁定行号或列号的操作,就叫做混合引用。混合的意思是,单元格引用既包括了绝对引用又包括了相对引用。譬如,$A1,就是表示单元格的列号是绝对引用,行号是相对引用。混合引用的诀窍就是:向下拉只锁定行号,向右拉只锁定列号。这样在拖动过程中,公式就不会变化。
下面就是验证大家学习成果的时候啦!
看下面这张表格,需要在B2-E5单元格区域都显示对应的第几列第几排,瓶子在B2单元格设置好了公式,现在大家来想一想,在公式中如何给行号和列号上“锁”,就可以一次性完成整个区域的填充呢?