Excel函数学习之CHOOSE函数 vs IF函数

wufei123 2024-05-24 阅读:67 评论:0
如果Excel函数圈也有江湖,那CHOOSE函数绝对算得上扫地僧。它不如IF函数那般威震江湖,但它的本领却更胜一筹。今天小花就带大家好好见识一下被大多数人冷遇的CHOOSE函数! 一、了解一下CHOOSE函数基本语句     CHOOSE...

Excel函数学习之CHOOSE函数 vs IF函数

如果Excel函数圈也有江湖,那CHOOSE函数绝对算得上扫地僧。它不如IF函数那般威震江湖,但它的本领却更胜一筹。今天小花就带大家好好见识一下被大多数人冷遇的CHOOSE函数!

一、了解一下CHOOSE函数基本语句

    CHOOSE函数使用index_num 返回数值参数列表中的数值。使用 CHOOSE 可以根据索引号从最多 254 个数值中选择一个。它的基本语句是:

    =CHOOSE(index_num,value1,value2,...)

    index_num:指定索引号的参数,它是1-254之间的任意整数,CHOOSE根据该值从参数列表value1到value254中选取对应的参数。index_num可以是数字、公式或单元格的引用。设置该参数时需注意以下两点:

    ①如果 index_num 小于 1 或大于列表中最后一个值的索引号,则 CHOOSE 返回 #VALUE! 错误值。例如CHOOSE(3,1,2),由于索引参数为3,但参数列表只有两个值,所以返回#VALUE!(错误类型:找不到该值。)

    ②如果index_num 为小数,则在使用前将被截尾取整。例如CHOOSE(1.99,1,2),1.99截尾取整为1,则从参数列表{1,2}中选取第一个参数值1作为公式返回值。

    value1-value254:参数列表中至少包含一个value参数,即value1是必须的,且参数列表中的value个数必须大于或等于 index_num的最大可能值。value可以是数字、单元格引用、定义的名称、公式、函数或文本。

Excel函数学习之CHOOSE函数 vs IF函数

二、单一逻辑判断能力,CHOOSE须逊IF一段香

    看了上述CHOOSE函数的语句及解释,不难发现,CHOOSE函数兼具了IF函数的功能。

    IF的基本语句是IF(逻辑判断,逻辑正确时返回值,逻辑错误时返回值),加之TRUE对应数值1,FALSE对应数值0,于是我们可以把IF函数语句翻译成CHOOSE函数语句,即CHOOSE(2-逻辑判断值,逻辑正确时返回值,逻辑错误时返回值)。

    当逻辑判断结果为TRUE,2-TRUE=2-1=1,CHOOSE函数选取value1作为逻辑正确返回值;

    当逻辑判断结果为FALSE,2-FALSE=2-0=2,CHOOSE函数选取value2作为逻辑错误返回值。

案例:

    分别使用CHOOSE函数和IF函数来判断成绩是否合格,CHOOSE函数需使用2-逻辑值来将逻辑值转化成索引号,略显复杂!

Excel函数学习之CHOOSE函数 vs IF函数

三、多重条件判断能力,CHOOSE更胜一筹

    对于多重条件判断,IF函数的忠实粉们会使用多重嵌套的方式来处理。但这样做的结果是函数公式冗长且繁琐,难以解读。在嵌套过程中,我们需要多次使用IF函数。而使用CHOOSE函数来完成多重条件判断,则较为简洁,但需理解并掌握索引参数index_num的设置原理。接下来我们结合实例来讲解下CHOOSE函数的多重条件判断公式原理。

案例:

    将下图里的考核等级转化为对应的级别,每一个人的考核等级唯一。

    此时如果用IF函数我们需要三重嵌套,这还是IF函数前套中比较简单的情景,当条件数量增加时,IF函数嵌套公式的复杂程度也会随之增大。而CHOOSE函数公式则无需嵌套,只需将index_num写成1+逻辑判断1*1+逻辑判断2*2+......+逻辑判断n*n的形式,将value 1设置为全部条件都不满足时的“待改进”,其他value值与逻辑判断条件依次对应排列即可。

    IF函数公式如下:

    =IF(I4="S","优秀",IF(I4="A","良好",IF(I4="B","一般","待改进")))

    CHOOSE函数公式如下:

    =CHOOSE(1+(B4="S")*1+(B4="A")*2+(B4="B")*3,"待改进","优秀","良好","一般")

Excel函数学习之CHOOSE函数 vs IF函数

公式说明:

    CHOOSE函数的第一个参数index_num表示的是选取参数列表的索引号,当所有条件都不满足时,所有逻辑条件均返回FALSE,1+∑逻辑条件n*n=1+0=1,选取value 1作为公式的最终返回值,因此value 1应当填入所有条件均不满足时的目标结果,本例中应为“待改进”;

    当第一个条件满足时,其他条件都不满足,1+∑逻辑条件n*n=1+1*1+0=2,选取value 2即“优秀”作为返回值;

    当第二个条件满足时,其他条件都不满足,1+∑逻辑条件n*n=1+0*1+1*2+0=3,选取value 3即“良好”作为返回值;

    以此类推。

    因此,当各个逻辑条件彼此不包含时,CHOOSE函数的第一个参数应表示为1+∑逻辑条件n*n的形式,其余参数顺序为value all false,value if logical 1 true,value if logical 2 true......

    相反的,如果各个逻辑条件间相互包含,则CHOOSE函数的第一个参数index_num应该写成1+逻辑判断1+逻辑判断2+......+逻辑判断n的形式,即1+∑逻辑条件n。这是因为,当逻辑n满足时,逻辑n-1一定也满足,所以满足的条件个数再加1即为选取参数列表的索引号,无需运用*n的形式进行转化。典型的问题是旧个税时的劳务报酬收入计税。譬如工资4500元,则其既大于4000,也大于800,把它们逻辑值相加再加1,得3,个税就采用公式中Value 3即A2*0.8*0.2计算,如下:

    =CHOOSE(((A2>800)+(A2>4000)+(A2>25000)+(A2>62500)+1),0,A2-800)*0.2,A2*0.8*0.2,A2*0.8*0.3-2000,A2*0.8*0.4-7000)

Excel函数学习之CHOOSE函数 vs IF函数

四、建立反向查找区域能力,CHOOSE全面占优

    在运用VLOOKUP函数进行反向查找时,我们会使用IF{1,0}结构来完成表格数据列的重构,从而使VLOOKUP的目标查询值出现在查询范围的第一列。例如下图,由于数据源区域中,姓名一列在年级列的右侧,我们无法直接使用VLOOKUP进行查询,于是我们用IF{1,0}将A列和C列数据重排顺序,当判断为真(1),输出$C$10:$C$14列数据,判断为假(0)输出$A$10:$A$14列数据,从而新构建了以$C$10:$C$14为首列,$A$10:$A$14为第二列的数列作为查找区域,使VLOOKUP函数可以顺利查询到目标结果。

Excel函数学习之CHOOSE函数 vs IF函数

    于是,问题来了。IF{1,0}结构仅能指定两列数据的顺序,无法指定多列数据的顺序,来组合成新的查询区域,这使得我们经常需要为相同查询逻辑不同查询列的多个单元格单独设置公式,无法拖动填充公式匹配列查找。譬如当前就不能将B2公式拖动填充到C2中。IF{1,0}结构的这一缺陷,使得它在与CHOOSE的对比中一败涂地!

   下面是CHOOSE出手,直接一次性把3列数据重新排序构建出统一的查询区域,公式可以直接从B2拖动填充到C2中:

=VLOOKUP($A2,CHOOSE({1,2,3},$C$10:$C$14,$A$10:$A$14,$D$10:$D$14),COLUMN(),0)

Excel函数学习之CHOOSE函数 vs IF函数

公式说明:

    该公式的重点是我们运用CHOOSE{1,2,3}结构将表中三列数据A10:A14、C10:C14、D10:$D14重新按C10:C14排第1列,A10:A14排第2列,D10:$D14排第3列的顺序组成一个新的数据区域用作Vlookup的查找区域。再借由COLUMN()返回公式所在单元格的列数,确定VLOOKUP查询返回的列数。CHOOSE函数的该用法大大突破了IF{1,0}结构只能将两列数据交换位置进行重建的限制,可以说是后者的威力加强版!

    本文,小花通过CHOOSE函数与IF函数的横向对比,讲解了CHOOSE的几个实战用法,这些用法你学会了吗?你还知道哪些与CHOOSE函数有关的技能?别忘了留言与小花交流分享哦!

相关学习推荐:excel教程

以上就是Excel函数学习之CHOOSE函数 vs IF函数的详细内容,更多请关注知识资源分享宝库其它相关文章!

版权声明

本站内容来源于互联网搬运,
仅限用于小范围内传播学习,请在下载后24小时内删除,
如果有侵权内容、不妥之处,请第一时间联系我们删除。敬请谅解!
E-mail:dpw1001@163.com

分享:

扫一扫在手机阅读、分享本文

发表评论
热门文章
  • BioWare埃德蒙顿工作室面临关闭危机,龙腾世纪制作总监辞职引关注(龙腾.总监.辞职.危机.面临.....)

    BioWare埃德蒙顿工作室面临关闭危机,龙腾世纪制作总监辞职引关注(龙腾.总监.辞职.危机.面临.....)
    知名变性人制作总监corrine busche离职bioware,引发业界震荡!外媒“smash jt”独家报道称,《龙腾世纪:影幢守护者》制作总监corrine busche已离开bioware,此举不仅引发了关于个人职业发展方向的讨论,更因其可能预示着bioware埃德蒙顿工作室即将关闭而备受关注。本文将深入分析busche离职的原因及其对bioware及游戏行业的影响。 Busche的告别信:挑战与感激并存 据“Smash JT”获得的内部邮件显示,Busche离职原...
  • 闪耀暖暖靡城永恒怎么样-闪耀暖暖靡城永恒套装介绍(闪耀.暖暖.套装.介绍.....)

    闪耀暖暖靡城永恒怎么样-闪耀暖暖靡城永恒套装介绍(闪耀.暖暖.套装.介绍.....)
    闪耀暖暖钻石竞技场第十七赛季“华梦泡影”即将开启!全新闪耀性感套装【靡城永恒】震撼来袭!想知道如何获得这套精美套装吗?快来看看吧! 【靡城永恒】套装设计理念抢先看: 设计灵感源于夜色中的孤星,象征着淡然、漠视一切的灰色瞳眸。设计师希望通过这套服装,展现出在虚幻与真实交织的夜幕下,一种独特的魅力。 服装细节考究,从面料的光泽、鞋跟声响到裙摆的弧度,都力求完美还原设计初衷。 【靡城永恒】套装设计亮点: 闪耀的绸缎与金丝交织,轻盈的羽毛增添华贵感。 这套服装仿佛是从无尽的黑...
  • python怎么调用其他文件函数

    python怎么调用其他文件函数
    在 python 中调用其他文件中的函数,有两种方式:1. 使用 import 语句导入模块,然后调用 [模块名].[函数名]();2. 使用 from ... import 语句从模块导入特定函数,然后调用 [函数名]()。 如何在 Python 中调用其他文件中的函数 在 Python 中,您可以通过以下两种方式调用其他文件中的函数: 1. 使用 import 语句 优点:简单且易于使用。 缺点:会将整个模块导入到当前作用域中,可能会导致命名空间混乱。 步骤:...
  • 俄罗斯引擎yandex入口官网地址 yandex网址在线免费进入(俄罗斯.官网.在线免费.入口.地址......)

    俄罗斯引擎yandex入口官网地址 yandex网址在线免费进入(俄罗斯.官网.在线免费.入口.地址......)
    俄罗斯引擎yandex官网地址入口在哪里?这是不少网友都关注的问题,接下来由php小编为大家带来yandex网址在线免费进入,感兴趣的网友一起随小编来瞧瞧吧! 俄罗斯引擎yandex入口官网地址 1、俄罗斯引擎yandex入口官网地址☜☜☜☜☜点击进入 2、yandex网址在线免费进入☜☜☜☜☜点击进入 【俄罗斯引擎yandex】 1、Yandex的搜索引擎在俄罗斯拥有极高的市场份额,其算法针对俄语和斯拉夫语系进行了优化,能更好地理解用户意图,提供更精准的搜索结果。它不仅...
  • 斗魔骑士哪个角色强势-斗魔骑士角色推荐与实力解析(骑士.角色.强势.解析.实力.....)

    斗魔骑士哪个角色强势-斗魔骑士角色推荐与实力解析(骑士.角色.强势.解析.实力.....)
    斗魔骑士角色选择及战斗策略指南 斗魔骑士游戏中,众多角色各具特色,选择适合自己的角色才能在战斗中占据优势。本文将为您详细解读如何选择强力角色,并提供团队协作及角色培养策略。 如何选择强力角色? 斗魔骑士的角色大致分为近战和远程两种类型。近战角色通常拥有高攻击力和防御力,适合冲锋陷阵;远程角色则擅长后方输出,并依靠灵活走位躲避攻击。 选择角色时,需根据个人游戏风格和喜好决定。喜欢正面硬刚的玩家可以选择战士型角色,其高生命值和防御力能承受更多伤害;偏好策略性玩法的玩家则可以选择法...