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

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

在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函数的强大了吗?

责任编辑:未丽燕 来源: 今日头条
相关推荐

2021-08-10 13:50:32

内存电脑软件

2019-09-24 21:00:59

SQL数据库基础数据库

2020-10-28 11:20:55

vue项目技

2021-08-10 10:25:16

HTML 网络开发前端开

2019-01-07 13:01:08

Linux惊叹用法命令

2021-08-05 18:21:29

Autowired代码spring

2020-11-18 07:52:08

2020-12-24 15:26:07

Redis数据库

2018-09-13 10:59:30

Redis键值存储

2015-06-29 09:06:51

2022-01-04 07:30:24

IT热门技术

2018-05-11 15:53:59

2018-02-06 09:40:25

PythonOOP继承

2018-03-07 06:37:14

开源项目源代码云计算

2019-02-12 11:15:15

Spring设计模式Java

2019-07-08 10:18:38

MPLSIP数据

2016-03-18 19:03:35

认知计算IBM

2018-08-07 09:29:35

数据库MySQL优化方法

2021-11-10 15:37:49

Go源码指令

2022-11-10 09:00:41

点赞
收藏

51CTO技术栈公众号