专业网站建设品牌,十四年专业建站经验,服务6000+客户--广州京杭网络
免费热线:400-683-0016      微信咨询  |  联系我们

怎样使用choose函数_数据库

当前位置:网站建设 > 技术支持
资料来源:网络整理       时间:2023/3/5 13:45:37       共计:3586 浏览

怎样使用choose函数?

choose 是个比较小众的函数,从字面理解,这是用来做选择的函数。但是如果仅凭字面含义就小瞧它,那可就大错特错了。

choose 就像是化学反应里的催化剂,单独使用看似平淡无奇,但一旦搭配其他函数使用,立刻就能让棘手问题变得极为简单,仿佛点石成金。

作用:根据索引号,从最多 254 个数值列表中选择一个值语法:CHOOSE(index_num, value1, [value2], ...)参数:index_num:必需,用于指定选择哪个数值参数。index_num 必须是介于 1 到 254 之间的数字,或是包含 1 到 254 之间的数字的公式或单元格引用。如果 index_num 为 1,则 CHOOSE 函数返回 value1;如果为 2,则 CHOOSE 函数返回 value2,以此类推。如果 index_num 小于 1 或大于列表中最后一个值的索引号,则 CHOOSE 函数返回 #VALUE! 错误值。如果 index_num 为小数,则会被取整。value1, [value2], ...:value1 是必需的,后续值是可选的。1 到 254 个数值参数,CHOOSE 将根据 index_num 从中选择一个数值或一项要执行的操作。参数可以是数字、单元格引用、定义的名称、公式、函数或文本。说明:如果 index_num 为一个数组,那么 CHOOSE 函数将计算每一个值。CHOOSE 的 value 参数不仅可以为单个数值,也可以为区域引用。用法示例:条件区域求和判断高考前三甲按人名随机抽奖配合 vlookup 反向查找数据案例 1:条件区域求和

下图 1 为某公司员工工资表,要求如下图 2 所示,在下拉菜单中选择月份,自动计算出当月全员工资总计。

解决方案 1:

先制作月份下拉菜单:

1. 选中 J2 单元格 --> 选择菜单栏的“数据”-->“数据验证”

2. 在弹出的对话框中,按以下方式设置 --> 点击“确定”:

允许:“序列”来源:选中 B1:G1 单元格,即月份列表

月份下拉菜单已制作完成。

接下来设置求和公式。

3. 在 J2 单元格中输入以下公式即可:

=SUM(CHOOSE(LEFT(J1,1),B2:B14,C2:C14,D2:D14,E2:E14,F2:F14,G2:G14))

公式释义:

LEFT(J1,1):取出月份的第一位数,即数字;这个数字就是 choose 函数的索引值CHOOSE(LEFT(J1,1),B2:B14,C2:C14,D2:D14,E2:E14,F2:F14,G2:G14):根据上述索引值,选择参数列表中的单元格区域sum(...):最后用 sum 函数对所选择的单元格区域求和

通过下拉菜单选择月份,就会自动计算出当月的全员工资。

案例 2:判断高考前三甲

下图 1 是全班同学的高考成绩,请按分数从高到低找出前三名,分别赐名“状元”、“榜眼”、“探花”,如下图 2 所示。

解决方案 2:

1. 在 C2 单元格中输入以下公式,下拉复制公式即可:

=IF(RANK(B2,$B$2:$B$15,0)<4,CHOOSE(RANK(B2,$B$2:$B$15,0),"状元","榜眼","探花"),"")

公式释义:

RANK(B2,$B$2:$B$15,0):对 B2:B15 区域按降序排序;将会按分数从高到低,得出 1 至 14 的排序数IF(RANK(B2,$B$2:$B$15,0)<4,:如果排序小于 4,即前 3 名CHOOSE(RANK(B2,$B$2:$B$15,0),"状元","榜眼","探花"),""):则以排名顺序为索引,分别查找出“状元”、“榜眼”和“探花”;如果不是前 3 名,则返回空值案例 3:按人名随机抽奖

按下图中 A 的人名随机抽奖,中奖人显示在 E2 单元格中,如下图 2 所示。

解决方案 3:

1. 在 E2 单元格中输入以下公式即可:

=CHOOSE(RANDBETWEEN(1,14),A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,A12,A13,A14,A15)

公式释义:

RANDBETWEEN(1,14):生成 1 至 14 的随机整数;共 14 个人,所以最大值为 14CHOOSE(RANDBETWEEN(1,14),A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,A12,A13,A14,A15):以上述随机数为索引,在姓名列表中取出对应的值

按住 F9,A 列中的姓名就会在 E2 单元格中不断跳动;放开 F9,得到抽奖结果。

案例 4:配合 vlookup 反向查找数据

如下图所示,根据分数查找姓名。

解决方案 4:

1. 按照案例 1 中的方法,在 D2 单元格制作分数下拉菜单

2. 在 E2 单元格输入以下公式即可:

=VLOOKUP(D2,CHOOSE({1,2},B2:B15,A2:A15),2,0)

公式释义:

CHOOSE({1,2},B2:B15,A2:A15):会生成一个数组:{549,"张三";615,"邓芳芳";528,"张小明";620,"张大发";588,"刘翠花";531,"李四";491,"李豆豆";487,"王五";528,"王二美";563,"蒋招弟";493,"丁六";627,"丁老蔫";546,"丁聪明";528,"丁美丽"}然后用 VLOOKUP 函数对上述数组进行查找运算

通过下拉菜单选择分数,就能查出对应的姓名。

版权说明:
本网站凡注明“广州京杭 原创”的皆为本站原创文章,如需转载请注明出处!
本网转载皆注明出处,遵循行业规范,如发现作品内容版权或其它问题的,请与我们联系处理!
欢迎扫描右侧微信二维码与我们联系。
·上一条:mysql查询不同数据,mysql如何同时查询表结构不同表的全部数据_数据库 | ·下一条:应该从哪方面入手解决比较好_数据库

Copyright © 广州京杭网络科技有限公司 2005-2025 版权所有    粤ICP备16019765号 

广州京杭网络科技有限公司 版权所有