|
|
51CTO旗下网站
|
|
移动端

看似简单的IF函数还有这些高阶用法你知道吗?

在EXCEL中IF函数是一个比较基础的函数,掌握起来并不难。IF函数还可以用于填充序号、条件查询、条件求和、构造内存数组你知道吗?这篇文章就和朋友们一起学习下IF函数的这些高阶用法!

作者:Excel小小技巧来源:今日头条|2020-06-22 15:41

在EXCEL中IF函数是一个比较基础的函数,掌握起来并不难。IF函数还可以用于填充序号、条件查询、条件求和、构造内存数组你知道吗?这篇文章就和朋友们一起学习下IF函数的这些高阶用法!

看似简单的IF函数还有这些高阶用法你知道吗?

一.IF函数简介:

1.功能:

IF函数是条件判断函数;如果指定条件的计算结果为 TRUE,IF函数将返回某个值;如果该条件的计算结果为 FALSE,则返回另一个值。例如IF(测试条件,结果1,结果2),即如果满足“测试条件”则显示“结果1”,如果不满足“测试条件”则显示“结果2”。

2.语法:

  1. IF(logical_test,value_if_true,value_if_false) 

3.参数解释:

logical_test为判断条件;value_if_true为判断条件成立时返回的结果;value_if_false为判断条件不成立时返回的结果、这个参数可以省略。

4.用法演示:

在C2单元格输入下面的公式,向下填充就可判断成绩是否及格。

  1. =IF(B2>=60,"及格","不及格"
看似简单的IF函数还有这些高阶用法你知道吗?

二.IF函数的高阶用法:

1.在不同部门之前填充重新开始的序号:

(1)方法:在A2单元格输入下方的公式,向下填充就可以得到如果部门相同序号+1、如果部门不同序号重新开始的序号了。

  1. =IF(B2<>B1,1,A1+1) 
看似简单的IF函数还有这些高阶用法你知道吗?

(2)解释:判断当前单元格所在行对应B列单元格中的内容是否等于上方单元格的内容,如果相等等于上一单元格内容+1,否则等于1。

2.跳过错误值求和:

(1)方法:如果直接对存在错误值的单元格区域求和,那么求和的结果也是错误值。只需要在要求和的单元格输入下方公式并按住Ctrl+Shift+Enter三键确定就可以得出结果。

  1. =SUM(IF(ISNUMBER(B2:B8),B2:B8,0)) 
看似简单的IF函数还有这些高阶用法你知道吗?

(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三键确定就可以求得班组为一班和二班的总销量。

  1. =SUM(IF((B2:B16="一班")+(B2:B16="二班"),C2:C16,0)) 
看似简单的IF函数还有这些高阶用法你知道吗?

(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三键确定就可以查找到王德茂的班级。
  1. =VLOOKUP(J2,IF({1,0},B1:B20,A1:A20),2,0) 
看似简单的IF函数还有这些高阶用法你知道吗?

(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三键确定就可以查找到三班王德茂的销量。

  1. =SUM(IF((A2:A16=D2)*(B2:B16=E2),C2:C16,0)) 
看似简单的IF函数还有这些高阶用法你知道吗?

(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三键确定就可以完成多条件查找。

  1. =VLOOKUP(J2&K2,IF({1,0},A1:A19&B1:B19,C1:C19),2,0) 
看似简单的IF函数还有这些高阶用法你知道吗?

(2)解释:

  • J2&K2是连接J2单元格与K2单元格的内容。
  • IF({1,0},A1:A19&B1:B19)与上述反向查找类似。只是当if函数的判断条件成立时返回的是A列对应单元格内容和B列对应单元格内容的连接,最终返回的是一个A列对应单元格内容和B列对应单元格内容的连接以及C列单元格内容构成的内存数组(动态图中有操作演示)。
  • 使用vlookup函数就可以利用构造的AB列连接以及C列构造的内存数组就可以正常查找。

总结,看完这篇文章感觉到IF函数的强大了吗?

【编辑推荐】

  1. Excel、Tableau……五大可视化工具,你真的知道怎样用吗?
  2. 数据大佬教你简单粗暴的绘制Excel中的箱线图
  3. MySQL如何实现Excel分组排序功能?
  4. Excel还不会数据清洗?这四大类函数推荐你哦
  5. 数据查询与筛选:Excel、SQL、PowerBI、Python,比比谁更快
【责任编辑:未丽燕 TEL:(010)68476606】

点赞 0
分享:
大家都在看
猜你喜欢

订阅专栏+更多

实操案例:Jenkins持续交付和持续部署

实操案例:Jenkins持续交付和持续部署

微服务架构下的自动化部署
共18章 | freshman411

169人订阅学习

思科交换网络安全指南

思科交换网络安全指南

安全才能无忧
共5章 | 思科小牛

101人订阅学习

云计算从入门到上瘾

云计算从入门到上瘾

传统IT工程师的转型
共26章 | 51CTO阿森

256人订阅学习

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊

51CTO服务号

51CTO官微