在EXCEL中IF函数是一个比较基础的函数,掌握起来并不难。IF函数还可以用于填充序号、条件查询、条件求和、构造内存数组你知道吗?这篇文章就和朋友们一起学习下IF函数的这些高阶用法!
一.IF函数简介:
1.功能:
IF函数是条件判断函数;如果指定条件的计算结果为 TRUE,IF函数将返回某个值;如果该条件的计算结果为 FALSE,则返回另一个值。例如IF(测试条件,结果1,结果2),即如果满足“测试条件”则显示“结果1”,如果不满足“测试条件”则显示“结果2”。
2.语法:
- IF(logical_test,value_if_true,value_if_false)
3.参数解释:
logical_test为判断条件;value_if_true为判断条件成立时返回的结果;value_if_false为判断条件不成立时返回的结果、这个参数可以省略。
4.用法演示:
在C2单元格输入下面的公式,向下填充就可判断成绩是否及格。
- =IF(B2>=60,"及格","不及格")
二.IF函数的高阶用法:
1.在不同部门之前填充重新开始的序号:
(1)方法:在A2单元格输入下方的公式,向下填充就可以得到如果部门相同序号+1、如果部门不同序号重新开始的序号了。
- =IF(B2<>B1,1,A1+1)
(2)解释:判断当前单元格所在行对应B列单元格中的内容是否等于上方单元格的内容,如果相等等于上一单元格内容+1,否则等于1。
2.跳过错误值求和:
(1)方法:如果直接对存在错误值的单元格区域求和,那么求和的结果也是错误值。只需要在要求和的单元格输入下方公式并按住Ctrl+Shift+Enter三键确定就可以得出结果。
- =SUM(IF(ISNUMBER(B2:B8),B2:B8,0))
(2)解释:
- 使用ISNUMBER函数判断B2:B8单元的内容是否为数字,是数字返回TRUE、否则返回FALSE。
- IF(ISNUMBER(B2:B8),B2:B8,0)的功能是判断B2:B8单元的内容是否为数字,是数字返回其原来本身的内容、否则返回0。
- 因为上述过程构造了内存数组,所以在使用sum函数求和时要住Ctrl+Shift+Enter三键确定。
3.条件求和:
(1)方法:在F2单元格输入下方的公式Ctrl+Shift+Enter三键确定就可以求得班组为一班和二班的总销量。
- =SUM(IF((B2:B16="一班")+(B2:B16="二班"),C2:C16,0))
(2)解释:IF((B2:B16="一班")+(B2:B16="二班"),C2:C16,0)的功能是判断B2:B16单元格区域内容是否为一班或二班,如果成立则返回C列对应位置的销量、否则返回0。最后使用SUM对内存数组用Ctrl+Shift+Enter三键求和。在这里连接两个条件的“+”号,相当于逻辑关系或、只要有一个成立就返回TRUE。
4.反向查找:
(1)方法:
- 在J2单元格通过数据验证制作一个简单的下拉列表,方便选择不同的姓名。
- 在K2单元格输入下方的公式Ctrl+Shift+Enter三键确定就可以查找到王德茂的班级。
- =VLOOKUP(J2,IF({1,0},B1:B20,A1:A20),2,0)
(2)解释:
- {1,0}是一个由数字1和0构成的数组,这个数组作为if函数的判断依据;当判断依据为1时,返回B列单元格的内容;当判断依据为0时,返回A列单元格的内容;IF({1,0},B1:B20,A1:A20)函数构造了一个A列和B列对应单元格内容互换的内存数组。(动态图中有操作演示)
- 使用vlookup函数就可以利用构造的位置互换的数组就可以正常查找。
5.条件查找:
方法一:使用SUM函数
(1)方法:在F2单元格输入下方的公式Ctrl+Shift+Enter三键确定就可以查找到三班王德茂的销量。
- =SUM(IF((A2:A16=D2)*(B2:B16=E2),C2:C16,0))
(2)解释:IF((A2:A16=D2)*(B2:B16=E2),C2:C16,0)的功能是判断A2:A16单元格区域内容是否等于D2单元格内容并且同时满足B2:B16对应位置的的内容等于E2单元的内容则返回C列对应位置的销量、否则返回0。最后使用SUM对内存数组用Ctrl+Shift+Enter三键求和。在这里连接两个条件的“*”号,相当于逻辑关系与、只有两个同时成立才返回TRUE。
方法二:使用VLOOKUP函数
(1)方法:在L2单元格输入下方的公式,Ctrl+Shift+Enter三键确定就可以完成多条件查找。
- =VLOOKUP(J2&K2,IF({1,0},A1:A19&B1:B19,C1:C19),2,0)
(2)解释:
- J2&K2是连接J2单元格与K2单元格的内容。
- IF({1,0},A1:A19&B1:B19)与上述反向查找类似。只是当if函数的判断条件成立时返回的是A列对应单元格内容和B列对应单元格内容的连接,最终返回的是一个A列对应单元格内容和B列对应单元格内容的连接以及C列单元格内容构成的内存数组(动态图中有操作演示)。
- 使用vlookup函数就可以利用构造的AB列连接以及C列构造的内存数组就可以正常查找。
总结,看完这篇文章感觉到IF函数的强大了吗?