You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Excel 2016无SWITCH函数时将评级文本转数字的方案求助

解决方案:Excel 2016替代SWITCH函数实现文本转数字

别担心,Excel 2016虽然没有SWITCH函数,但咱们有几个实用的替代方案,完全能帮你把High/Medium/Poor转换成对应的数字3/2/1,而且都兼容你的版本。

方案1:嵌套IF函数(最通用,无需额外设置)

这是最基础的方法,所有Excel版本都支持,逻辑清晰易懂:

基于现有F2单元格的公式:

=IF(F2="High",3,IF(F2="Medium",2,IF(F2="Poor",1,"")))
  • 逻辑:先判断F2是否为High,是则返回3;否则判断是否为Medium,返回2;再否则判断是否为Poor,返回1;如果都不匹配,返回空文本(你可以改成0或"无效值"按需调整)。

合并VLOOKUP与IF的公式(减少单元格依赖)

如果你不想单独用F2存VLOOKUP结果,可以直接把两个公式合并,一步到位:

=IF(VLOOKUP("Quality",INDIRECT("'PURCHASING'!"&V2),2,FALSE)="High",3,IF(VLOOKUP("Quality",INDIRECT("'PURCHASING'!"&V2),2,FALSE)="Medium",2,IF(VLOOKUP("Quality",INDIRECT("'PURCHASING'!"&V2),2,FALSE)="Poor",1,"")))
  • 注意:这个公式会重复执行3次VLOOKUP,如果你处理的是大数据量,可能会稍慢,此时建议还是先用F2存VLOOKUP结果再用第一个公式。

方案2:LOOKUP函数(更简洁,适合固定顺序的匹配)

利用LOOKUP的向量匹配功能,写法更简洁:

=LOOKUP(F2,{"Poor","Medium","High"},{1,2,3})
  • 关键注意点:{"Poor","Medium","High"}这个查找范围必须按字母升序排列(因为LOOKUP默认近似匹配,升序才能精准对应),如果你的文本顺序不符合,这个方案可能失效。
  • 好处:比嵌套IF少写很多代码,看起来更清爽。

方案3:CHOOSE+MATCH组合(灵活无顺序要求)

这个组合既简洁又不需要考虑文本顺序,精准匹配更可靠:

=CHOOSE(MATCH(F2,{"High","Medium","Poor"},0),3,2,1)
  • 逻辑:MATCH(F2,{"High","Medium","Poor"},0)会返回F2在数组中的位置(比如High返回1,Medium返回2),然后CHOOSE根据这个位置返回对应的数字(1对应3,2对应2,3对应1)。
  • 如果你想处理无效值(比如F2出现其他文本),可以用IFERROR包裹:
=IFERROR(CHOOSE(MATCH(F2,{"High","Medium","Poor"},0),3,2,1),"无效值")

内容的提问来源于stack exchange,提问作者J. Doe

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 03:55:39