Excel CHOOSE 函数

- 示例 1 —— 基本用法:单独使用 CHOOSE 函数从数值列表中选择一个值
- 示例 2 – 根据多个条件返回不同结果
- 示例 3 – 根据条件返回不同的计算结果
- 示例 4 – 从列表中随机选择
- 示例 5 – 结合 CHOOSE 和 VLOOKUP 函数在最左列中返回值
- 示例 6 – 根据指定日期返回星期几或月份
- 示例 7 – 根据今天返回下一个工作日/周末日期
描述
CHOOSE 函数可根据指定的索引号,从数值参数列表中返回对应的值。例如,输入 CHOOSE(3,”Apple”,”Peach”,”Orange”) 时,将返回 Orange,因为索引数字为 3,Orange 位于函数的第三个参数位置。
语法与参数
公式语法
| CHOOSE()index_num, value 1, [value 2], …) |
参数
|
Value 1, value 2……可以是数字、文本、公式、单元格引用或已定义的名称。
返回值
CHOOSE 函数可根据指定位置,从列表中返回对应的数值。
用法与示例
本部分列举了一些简单且具有代表性的案例,帮助您轻松理解 CHOOSE 函数的用法。
示例 1 —— 基本用法:单独使用 CHOOSE 函数从数值列表中选择一个值
公式 1:
=CHOOSE(3,"a","b","c","d")
返回值:c,这是在 CHOOSE 函数中,index_num 为 3 时对应的第三个参数。
注意:如为文本值,请务必使用双引号括起来。
公式 2:
=CHOOSE(2,A1,A2,A3,A4)
返回值:Kate,即 A2 的值。因为 index_num 为 2,A2 是 CHOOSE 函数中的第二个参数。
公式 3:
=CHOOSE(4,8,9,7,6)
返回值:6,即该函数的第 4 个列表参数。
假设您拥有每个产品的偏差值列表,并需要根据特定条件进行标记,如下图所示。
通常您可以用 IF 函数实现此操作,但这里将介绍如何用 CHOOSE 函数轻松解决此问题
公式:
=CHOOSE((B7>0)+(B7>1)+(B7>5),"Top","Middle","Bottom")
说明:
(B7>0)+(B7>1)+(B7>5):index_num,B7 为 2,大于 0 和 1 但小于 5,得到中间结果:
=CHOOSE(True+Ture+False,"Top","Middle","Bottom")
如所知,True = 1,False = 0,所以公式可视为:
=CHOOSE(1+1+0,"Top","Middle","Bottom")
然后
=CHOOSE(2,"Top","Middle","Bottom")
结果:中等
假设您需要根据每个产品的数量和单价计算返利,如下截图所示:
公式:
=CHOOSE((B8>0)+(B8>100)+(B8>200)+(B8>300),B8*C8*0.1,B8*C8*0.2,B8*C8*0.3,B8*C8*0.5)
说明:
(B8>0)+(B8>100)+(B8>200)+(B8>300):index_number,B8 为 102,大于 100 但小于 201,所以此部分返回如下结果:
=CHOOSE(true+true+false+false,B8*C8*0.1,B8*C8*0.2,B8*C8*0.3,B8*C8*0.5)
=CHOOSE(1+1+0+0,B8*C8*0.1,B8*C8*0.2,B8*C8*0.3,B8*C8*0.5)
然后
=CHOOSE(2,B8*C8*0.1,B8*C8*0.2,B8*C8*0.3,B8*C8*0.5)
B8*C8*0.1,B8*C8*0.2,B8*C8*0.3,B8*C8*0.5: 可选的数值有多个,此处返利 = 单价 × 数量 × 返利率。由于该行的 index_num 为 2,因此选择 B8×C8×0.2.
返回值:102*2*0.2=40.8 
在 Excel 中,您有时可能需要从指定列表中随机选取一个值,这一操作可通过 CHOOSE 函数轻松实现。
从列表中随机选择一个值:
公式:
=CHOOSE(RANDBETWEEN(1,5),$D$2,$D$3,$D$4,$D$5,$D$6)
说明:
RANDBETWEEN(1,5):index_num,随机获取 1 到 5 之间的数字
$D$2,$D$3,$D$4,$D$5,$D$6: 从中选择的数值列表
示例 5 – 结合 CHOOSE 和 VLOOKUP 函数在最左列中返回值
通常,我们会使用 VLOOKUP 函数 =VLOOKUP (value, table, col_index, [range_lookup]),根据给定值从指定表格区域返回对应数值。但如果在使用 VLOOKUP 函数时,返回列位于查找列左侧(如下截图所示),则会返回错误值。
在本案例中,您可以结合使用 CHOOSE 函数和 VLOOKUP 函数,轻松解决这一问题。公式:=VLOOKUP(E1,CHOOSE({1,2},B1:B7,A1:A7),2,FALSE) 说明:CHOOSE({1,2},B1:B7,A1:A7): 可作为 VLOOKUP 函数中的 table_range 参数使用。{1,2} 表示根据 VLOOKUP 函数中的 col_num 参数,将 1 或 2 作为 index_num 参数进行显示。此处,VLOOKUP 的 col_num 为 2,因此 CHOOSE 函数实际为 CHOOSE(2, B1:B7,A1:A7),即从 A1:A7 区域选择数值。
示例 6 – 根据指定日期返回星期几或月份 通过 CHOOSE 函数,您还可以根据指定日期返回对应的星期几或月份。公式 1: 根据日期返回星期几 =CHOOSE(WEEKDAY(),"Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday")说明:WEEKDAY():index_num 参数用于获取指定日期对应的星期数字。例如,WEEKDAY(A5) 返回 6,则 index_num 参数的值为 6. “Sunday“,“Monday“,“Tuesday“,“Wednesday“,“Thursday“,“Friday“,“Saturday“:值列表参数以“Sunday”为起点,因为星期数字“1”表示“Sunday”。公式 2: 根据日期返回月份 =CHOOSE(MONTH(),"Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec")说明:MONTH():index_num 参数用于根据指定日期提取对应的月份数字。例如,MONTH(A5) 将返回 3.
示例 7 – 根据今天返回下一个工作日 / 周末日期 在日常工作中,您可能需要根据今天的日期计算下一个工作日或周末。此时,CHOOSE 函数同样可以帮您轻松实现。例如,假设今天是 12/20/2018,星期四,现在需要获取下一个工作日和周末日期。公式 1: 获取今天日期 =TODAY()结果:12/20/2018 公式 2: 获取今天的星期几数字 =WEEKDAY(TODAY())结果:5(假设今天是 12/20/2018)下表截图显示了星期数字列表:
示例文件
这款最佳办公效率工具
Kutools for Excel —— 助您脱颖而出
| 🤖 | KUTOOLS AI 助手:基于数据分析进行革新智能执行 | 生成代码| 创建自定义公式 | 数据分析及生成图表| 调用 Kutools Functions…… |
| 热门功能:查找、高亮或标记重复项 | 删除空白行 | 合并列或单元格且不会丢失数据 | 不使用公式的四舍五入…… | |
| 超级 VLookup:多条件 | 多值 | 跨多表操作 | 模糊查找…… | |
| 高级下拉列表:快速下拉列表 | 多级联动下拉列表 | 多选下拉列表…… | |
| 列管理器:添加指定数量的列 | 移动列 | 切换隐藏列的可见状态 |对比列到选择相同/不同单元格…… | |
| 特色功能:网格聚焦 | 设计视图 | 增强编辑栏 | 工作簿和表管理器|资源库(自动文本)| 日期提取 | 汇总工作表 | 加密 / 解密单元格 | 按列表批量发送邮件 | 超级筛选 | 特殊筛选(筛选粗体单元格/斜体/删除线等) ...... | |
| 顶级 15 工具集:12 文本工具(添加文本,删除特定字符……)| 50+ 图表 类型(甘特图……)| 40+ 实用公式(基于生日计算年龄……)| 19 插入工具(插入二维码,按路径插入图片……)| 12 转换工具(小写金额转大写,汇率转换……)| 7 合并和拆分工具(高级合并行,拆分单元格……)|……更多功能 |
Kutools for Excel 拥有超过 300 项功能,让您的需求只需轻点鼠标即可满足……
Office Tab —— 为 Microsoft Office(含 Excel)带来标签式阅读与编辑
- 一秒钟即可切换数十个已打开的文档!
- 每天为您减少上百次鼠标点击,轻松告别鼠标手困扰。
- 在同时查看和编辑多个文档时,您的工作效率提升高达 50%。
- 为 Office(包括 Excel)带来高效标签页体验,操作流畅如同在 Chrome、Edge 或 Firefox 浏览器中切换标签页。