CHOOSE 函数¶
函数概述¶
CHOOSE 是 Excel 中用于“按序号从多个候选值中选一个”的函数。它的核心思路非常直观:你给它一个 索引号(第几个),再给它一组 候选值,它就返回对应位置的那个值。
典型用途包括:
- 根据数字编号切换返回结果(例如 1=“周一”、2=“周二”…)
- 在多套固定口径/方案之间快速切换(如“标准价/会员价/促销价”)
- 作为小型“映射表”(当映射项不多且固定时)
- 配合其它函数实现动态选择(如用
MATCH产生索引号,再交给CHOOSE)
基础语法¶
参数说明¶
| 参数 | 是否必填 | 说明 |
|---|---|---|
index_num |
是 | 索引号,表示要返回第几个候选值。通常为 1 到候选值个数之间的整数。 |
value1 |
是 | 第 1 个候选值(可以是常量、单元格引用、公式、文本、数组等)。 |
value2... |
否 | 第 2、3…个候选值,数量可变。 |
候选值既可以是数值/文本,也可以是表达式,甚至可以是区域引用(如
A1:A10)。
基础用法示范¶
1)按编号返回对应文本¶
需求:A1 输入 1~4,分别返回“优秀/良好/合格/不合格”。
- A1=1 → 优秀
- A1=4 → 不合格
2)在多套口径之间切换计算公式¶
需求:B1 为模式选择(1=含税价,2=不含税价),A2 为成本,税率 13%。
- B1=1 → 返回含税价
- B1=2 → 返回不含税价
这种写法适合“方案数量少、逻辑固定”的场景。
3)配合 MATCH 做“小型映射”¶
需求:根据 D1 的产品等级(A/B/C)返回对应折扣(95%/90%/85%)。
解释:
MATCH把 “A/B/C” 转成 1/2/3CHOOSE再用这个索引号取折扣
4)返回不同区域引用¶
需求:E1=1 用 A 列数据,E1=2 用 B 列数据,求对应列的总和(第 2 行到第 10 行)。
要点:CHOOSE 可以返回区域引用,再交给其它函数(如 SUM)继续计算。
5)做“列/行选择”的简化版¶
如果你的 Excel 版本没有更现代的选择函数,CHOOSE 也能用来实现“从几列里选一列”的需求(候选列不多时):
- G1=1 返回 A2
- G1=2 返回 B2
- G1=3 返回 C2
当列很多时,更建议用查找/动态数组函数体系(如 XLOOKUP、INDEX 等)来组织。
总结¶
CHOOSE的本质是 “索引号 + 候选值列表 = 返回对应项”,适合固定小规模的条件分支与映射。- 它既能返回普通值,也能返回公式结果,甚至可以返回区域引用并交给其它函数继续计算。
-
常见组合方式是:
CHOOSE+MATCH:把文本条件转成序号再选择CHOOSE+SUM/AVERAGE等:切换计算口径或数据源
-
当分支数量变多、规则经常变化时,通常用查找函数或表驱动方式(如
XLOOKUP、INDEX+MATCH、结构化引用表)会更易维护。