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

wufei123 2024-05-24 阅读:9 评论: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

分享:

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

发表评论
热门文章
  • 华为 Mate 70 性能重回第一梯队 iPhone 16 最后一块遮羞布被掀

    华为 Mate 70 性能重回第一梯队 iPhone 16 最后一块遮羞布被掀
    华为 mate 70 或将首发麒麟新款处理器,并将此前有博主爆料其性能跑分将突破110万,这意味着 mate 70 性能将重新夺回第一梯队。也因此,苹果 iphone 16 唯一能有一战之力的性能,也要被 mate 70 拉近不少了。 据悉,华为 Mate 70 性能会大幅提升,并且销量相比 Mate 60 预计增长40% - 50%,且备货充足。如果 iPhone 16 发售日期与 Mate 70 重合,销量很可能被瞬间抢购。 不过,iPhone 16 还有一个阵地暂时难...
  • 惠普新款战 99 笔记本 5 月 20 日开售:酷睿 Ultra / 锐龙 8040,4999 元起

    惠普新款战 99 笔记本 5 月 20 日开售:酷睿 Ultra / 锐龙 8040,4999 元起
    本站 5 月 14 日消息,继上线官网后,新款惠普战 99 商用笔记本现已上架,搭载酷睿 ultra / 锐龙 8040处理器,最高可选英伟达rtx 3000 ada 独立显卡,售价 4999 元起。 战 99 锐龙版 R7-8845HS / 16GB / 1TB:4999 元 R7-8845HS / 32GB / 1TB:5299 元 R7-8845HS / RTX 4050 / 32GB / 1TB:7299 元 R7 Pro-8845HS / RTX 2000 Ada...
  • 酷凛 ID-COOLING 推出霜界 240/360 一体水冷散热器,239/279 元

    酷凛 ID-COOLING 推出霜界 240/360 一体水冷散热器,239/279 元
    本站 5 月 16 日消息,酷凛 id-cooling 近日推出霜界 240/360 一体式水冷散热器,采用黑色无光低调设计,分别定价 239/279 元。 本站整理霜界 240/360 散热器规格如下: 酷凛宣称这两款水冷散热器搭载“自研新 V7 水泵”,采用三相六极马达和改进的铜底方案,缩短了水流路径,相较上代水泵进一步提升解热能力。 霜界 240/360 散热器的水泵为定速 2800 RPM 设计,噪声 28db (A)。 两款一体式水冷散热器采用 27mm 厚冷排,...
  • Nginx服务器的HTTP/2协议支持和性能提升技巧介绍

    Nginx服务器的HTTP/2协议支持和性能提升技巧介绍
    Nginx服务器的HTTP/2协议支持和性能提升技巧介绍 引言:随着互联网的快速发展,人们对网站速度的要求越来越高。为了提供更快的网站响应速度和更好的用户体验,Nginx服务器的HTTP/2协议支持和性能提升技巧变得至关重要。本文将介绍如何配置Nginx服务器以支持HTTP/2协议,并提供一些性能提升的技巧。 一、HTTP/2协议简介:HTTP/2协议是HTTP协议的下一代标准,它在传输层使用二进制格式进行数据传输,相比之前的HTTP1.x协议,HTTP/2协议具有更低的延...
  • 两个表格切换的快捷键是什么

    两个表格切换的快捷键是什么
    两个表格切换的快捷键是“ctrl+pageup”和“ctrl+pagedown”,按键盘上的“ctrl+pageup”键是向右切换表格,按“ctrl+pagedown”键是向左切换表格。 本教程操作环境:windows7系统、Microsoft Office Excel2010版、Dell G3电脑。 两个工作表之间切换是Ctrl+Tab,两个工作簿之间切换是Ctrl+PageUP和Ctrl+PageDown。 打开Excel表格,打开几个工作簿。 按键盘上的Ctrl+P...