桓楠百科网

编程知识、经典语录与百科知识分享平台

Excel扫地僧,choose点石成金,简单套用,高手最爱,马上试试!

大家好,欢迎来到今天的Excel技巧课堂。今天,我们要探索的是一个非常酷炫的函数——CHOOSE函数。别小看这个函数,它可是低调的王者,可以搞定很多工作哦。

CHOOSE函数基本知识

CHOOSE函数的语法是:

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

index_num的结果是一个数字,它决定了CHOOSE函数将返回后面的值列表中哪一个值。而value1, value2等,就是我们可以选的值,value值最少为1个,最多254个。

例如:

=CHOOSE(3, 10, 20, 30, 40)

index_num是3,CHOOSE函数将返回值列表中的第三个值,即30。

如果 index_num 小于 1 或大于列表中最后一个值的索引号,则 CHOOSE 返回 #VALUE! 错误值

如果index_num 为小数,则在使用前将被截尾取整。

技巧一、求学生的分数评级

如下表,如何根据学生的成绩给出评级。

=CHOOSE(IF(B2<60,1,MIN(B2/10-4,5)),"不及格","及格","中等","良好","优秀")

评级共计5等,因此index_num为1到5之间的整数,方可与值列表的5个值相对应。if函数是为了解决低于60分的问题,条件为真则返回1,否则为"成绩"/10-4,只有可能存在四个数字,即2,3,4,5。MIN函数是为了解决满分出现的情况。

技巧二、求员工的福利等级

如下表,如何根据员工的工龄计算员工的福利等级呢?

=CHOOSE(MATCH(B2,$E$2:$E$5),"A","B","C","D")

利用Match函数得到不同分数区间对应的福利等级。这里是近似匹配,因此第三参数可省略不写。

技巧三、查询ID、销售额和部门

如下表,如何只写一个公式,即可返回ID、销售额和部门的值?

=VLOOKUP($F6,CHOOSE({1,2,3,4},$B$1:$B$20,$A$1:$A$20,$D$1:$D$20,$C$1:$C$20),COLUMN(B1),)

首先,Vlookup函数的特性要求,查找值必须要出现在查找区域的最左侧且返回表中的部门列和销售额列位置颠倒了,因此使用Vlookup函数前需要重新构建新的查询区域,即:

=CHOOSE({1,2,3,4},$B$1:$B$20,$A$1:$A$20,$D$1:$D$20,$C$1:$C$20)


然后再利用Vlookup函数查询并返回相关数据。这里choose函数中index_num使用了常量数组,目的在于构建多行多列的数组,因此需用“{}”括起来。

=VLOOKUP($F4,CHOOSE({1,2,3,4},$B$1:$B$20,$A$1:$A$20,$D$1:$D$20,$C$1:$C$20),COLUMN(B1),)

使用Vlookup函数时,由于公式需要向下向右复制,因此需要注意单元格引用。

技巧四、一键查询并批量返回数据

要求跟技巧三的要求完全一样,那么如何快速批量返回多列数据呢?

=XLOOKUP(F4,$B$2:$B$20,CHOOSE({1,2,3},$A$2:$A$20,$D$2:$D$20,$C$2:$C$20))

比起使用VLOOKUP函数时,构建四列数据。使用Xlookup函数时,由于查询列和返回列(不一定是列)是分开的,因此构建数组时,仅需构建三列。

技巧五、找到不同月份销售额前五名的销售额和姓名

如下表,如何快速找到指定月份销售额前五名并返回销售额和姓名呢?

=XLOOKUP(LARGE(CHOOSE(MATCH(I1,D1:F1,),D2:D26,E2:E26,F2:F26),{1;2;3;4;5}),CHOOSE(MATCH(I1,D1:F1,),D2:D26,E2:E26,F2:F26),B2:B26)

第一步:利用CHOOSE函数确定要提取前五名销售额的列。即:

=CHOOSE(MATCH(I1,D1:F1,),D2:D26,E2:E26,F2:F26)

第二步:利用Large函数提取其中最大的5个销售额,由于是一次性提取,因此这里须用常量数组,即:

=LARGE(CHOOSE(MATCH(I1,D1:F1,),D2:D26,E2:E26,F2:F26),{1;2;3;4;5})

至此完成销售额前五名的提取。

第三步:利用xlookup函数返回该前五名销售额对应的姓名。查找值为该前五销售额,查询列为CHOOSE函数构建的列,返回列为姓名列。即:

=XLOOKUP(LARGE(CHOOSE(MATCH(I1,D1:F1,),D2:D26,E2:E26,F2:F26),{1;2;3;4;5}),CHOOSE(MATCH(I1,D1:F1,),D2:D26,E2:E26,F2:F26),B2:B26)

至此返回姓名列,收工。

记住,CHOOSE函数的关键在于index_num,它决定了我们从值列表中选择哪一个值。它不仅可以用于简单的选择,还可以与其他函数结合,实现更复杂的逻辑。

好了,今天的分享就到这里。你有没有被CHOOSE函数的强大功能震撼到呢?在评论区告诉我你最想用CHOOSE函数解决什么问题,或者分享你的独特用法。

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言