分享

函数篇:小小IF不简单

 L罗乐 2017-05-25
Excel办公,让职场更轻松!


IF函数是我们日常工作中最常用的Excel函数之一,看似简单的函数,其功能却是不容小觑的,下面从IF函数的语法解析、实例(包括基础应用、进阶应用以及数组应用)等几方面进行说明。

函数语法解析


1、函数定义:判断是否满足某个条件,如果满足返回一个值,如果不满足返回另一个值。


2、使用格式:

IF(logical_test, value_if_true,[value_if_false])

IF(要判断的条件, 满足条件时返回的值, 不满足条件时返回的值)

也可以表示为:如果…就…否则

比如:如果有空闲时间,就学习Excel,否则忙工作。

用函数公式表示为:IF(有空闲时间,学习Excel,忙工作)


3、参数说明

①、第一参数的结果为文本或错误值时,其结果为错误值。

②、满足条件或不满足条件时返回的值可以是数值、文本、单元格地址、公式等。如果返回的值是文本,要加英文双引号,而使用单元格地址时不能加双引号。


基础应用

1

判断成绩是否及格



在C3单元格输入公式:=IF(B3>=60,'及格','不及格'),向下填充。


公式解析:如果B3单元格的值大于等于60,就及格,否则不及格。


2

计算提成



 在C13单元格输入公式:=B13*IF(B13<5000,1%,IF(B13<10000,3%,10%)),向下填充。


公式解析:如果B13单元格的值小于5000,返回提成比例1%,如果B13单元格的值小于10000,返回提成比例3%,否则返回提成比例10%。


3

与且的条件判断



在D23单元格输入公式:=IF(AND(B23>=10000,C23>=10000),'达标','不达标'),向下填充。


也可以写成:=IF((B23>=10000)*(C23>=10000),'达标','不达标'),向下填充。



公式解析:AND是且的意思,其连接的两个条件都成立时返回结果才为真,此题中AND也可以用符号'*'代替。


4

与或的条件判断



在D33单元格输入公式:=IF(OR(B33>=10000,C33>=10000),'达标','不达标'),'通过','不通'),向下填充。


也可以写成:=IF((B33>=10000) (C33>=10000),'达标','不达标'),向下填充。



公式解析:OR是或的意思,其连接的两个条件只要有一个条件成立,返回结果就为真,此题中OR也可以用符号' '代替。


5

计算个人所得税



在C53单元格输入公式:=IF(B53-3500>80000,(B53-3500)*0.45-13505,IF(B53-3500>55000,(B53-3500)*0.35-5505,IF(B53-3500>35000,(B53-3500)*0.3-2775,IF(B53-3500>9000,(B53-3500)*0.25-1005,IF(B53-3500>4500,(B53-3500)*0.2-555,IF(B53-3500>1500,(B53-3500)*0.1-105,(B53-3500)*0.03)))))),向下填充。


进阶应用


1

判断性别



在D2单元格输入公式:=IF(ISODD(C3),'男','女'),向下填充。


身份证号码的第十七位(即性别代号)是奇数为男,偶数为女。


公式解析:ISODD函数判断数字是不是奇数,是奇数返回TRUE,不是奇数返回FALSE。


如果ISODD部分为TRUE,就返回男,否则返回女。


公式也可以写成:=IF(ISEVEN(C3),'女','男')



公式解析:ISEVEN判断数字是不是偶数,是偶数返回TRUE,不是偶数返回FALSE。


如果ISEVEN部分为TRUE,就返回女,否则返回男。

 

2

多条件判断


性别为女且年龄大于等于55岁,性别为男且年龄大于等于60岁,显示退休,否则为空。



在D13单元格输入公式:=IF(OR(AND(B13='女',C13>=55),AND(B13='男',C13>=60)),'退休',''),向下填充。


公式解析:AND(B13='女',C13>=55)表示性别为女且年龄大于等于55岁两个条件都要成立,该题中AND可以用*代替;


AND(B13='男',C13>=60)表示性别为男且年龄大于等于60岁两个条件都要成立,该题中AND可以用*代替;


上述两个条件任何一个成立都可以,即用OR表示,该题中OR可以用 代替。


公式也可以写成:=IF((B13='女')*(C13>=55) (B13='男')*(C13>=60),'退休','')



3

累计条件求和


函数SUMIF:对满足条件的单元格求和。


SUMIF(条件区域,条件,求和区域)



日期相同的金额累计,但大家有没有发现,日期相同的就会出现金额重复累计,那么该怎么办呢?这时候用IF函数就发挥作用了,如:



在C23单元格输入公式:

=IF(A23=A24,'',SUMIF(A$23:A$30,A23,B$23:B$30)),向下填充。


公式解析:先用IF函数判断这个单元格的日期与下一个单元格的日期是否相同,如果相同返回空,不相同返回SUMIF函数公式。

 

4

构造内存数组


查询的时候大家都喜欢用VLOOKUP函数,但当遇上反向查找时您是否会感到束手无策呢?那我们一起来看看IF函数发挥的作用!



公式:

=VLOOKUP(E33,IF({1,0},B33:B40,A33:A40),2,0)


公式解析:VLOOKUP(查找值,查找区域,返回结果在查找区域的第几列,查找方式)


IF(要判断的条件,条件成立时返回的值,条件不成立时返回的值)


IF({1,0},B33:B40,A33:A40)就是说先判断值为1(相当于TRUE,条件成立),返回区域B33:B40单元格内容,然后判断值为0(相当于FALSE,条件不成立),返回区域A33:A40单元格内容,整体来说就是两列顺序对换,将逆序转换为顺序。


公式也可以写成:

=VLOOKUP(D33,IF({0,1},A33:A40,B33:B40),2,0),与上述同理。



数组应用


1

条件求和



公式:=SUM(IF(B3:B10='男',C3:C10)),该公式为数组公式,按<Ctrl Shift Enter>三键结束。


公式解析:首先用IF函数判断区域B3:B10的性别是不是等于男,等于男就返回对应的年龄,最后用SUM函数求和。

 

2

多条件求平均值


求性别为男且年龄大于等于60岁的平均值



公式:

=AVERAGE(IF(B13:B20='男',IF(C13:C20>=60,C13:C20))),该公式为数组公式,按<Ctrl Shift Enter>三键结束。


公式解析:首先用IF函数得出满足条件的年龄,然后用AVERAGE函数求平均值。


也可以用公式:=AVERAGE(IF((B13:B20='男')*(C13:C20>=60),C13:C20)),该公式为数组公式,按<Ctrl Shift Enter>三键结束。



注意:之前说过有些地方AND和*可以互换,而该题中只能用*不能用AND。


3

多条件查找




公式:

=VLOOKUP(E23&F23,IF({1,0},A$23:A$30&B$23:B$30,C$23:C$30),2,0),该公式为数组公式,按<Ctrl Shift Enter>三键结束。

 

4

T IF组合



公式:

=SUM(VLOOKUP(T(IF({1},A33:A40)),D33:E40,2,0)*B33:B40),该公式为数组公式,按<Ctrl Shift Enter>三键结束。


公式解析:T(IF({1},A33:A40))部分T起降维作用,将三维降为一维;


VLOOKUP函数的第一参数不能直接为数组,通过T IF转为内存数组,其返回的结果也是内存数组;


VLOOKUP函数部分查询出对应单价,然后与数量相乘,最后用SUM函数求和。


5

N IF组合



公式:

=SUM(INDEX(E46:E53,N(IF(1,MATCH(A46:A53,D46:D53,))))*B46:B53),该公式为数组公式,按<Ctrl Shift Enter>三键结束。


公式解析:N和T一样是降维作用,N可以将三维引用转换为一维数组。

 

注意


数组公式有个明显的特征,即公式是在一对花括号里面,而花括号不是手输的而是按<Ctrl Shift Enter>三键得来的。



【爱上Excel合伙人】能为读者做什么?


我们【爱上Excel合伙人】微信订阅号平台一直秉承简洁、优雅、高效的为读者分享工作中遇到的每一个Excel问题,不论是Excel技巧、函数、图表、VBA,甚至是有关于Excel的开发,只要你能提出来问题,我们总能给你一个满意的答案!


合伙人QQ交流社群

      本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
      转藏 分享 献花(0

      0条评论

      发表

      请遵守用户 评论公约

      类似文章 更多