Excel中IFS函数仅返回首个判定结果的问题求助
Excel IFS函数全部返回8的问题解决
问题分析
你的IFS公式逻辑本身没问题,但所有行返回8,说明第一个条件[@[Insurance Score]]>=80始终被判定为TRUE,最常见的原因是Insurance Score列的内容是文本格式而非数值格式。
Excel中,文本型数据与数值比较时,会默认判定文本大于任何数值——哪怕文本内容是"50",和80比较也会返回TRUE,导致第一个条件始终触发。
解决方案
方法1:将文本格式转为数值格式
- 选中
Insurance Score整列 - 点击菜单栏「数据」>「分列」
- 连续点击两次「下一步」,在「列数据格式」中选择「常规」,点击「完成」
- 刷新公式即可
方法2:在公式中强制转换数值
如果不想修改单元格格式,可以在公式中用VALUE()函数将文本转为数值,修改后的公式如下:
=IFS( VALUE([@[Insurance Score]])>=80, 8, VALUE([@[Insurance Score]])>=70, 7, VALUE([@[Insurance Score]])>=60, 6, VALUE([@[Insurance Score]])>=50, 5, VALUE([@[Insurance Score]])>=40, 4, VALUE([@[Insurance Score]])>=30, 3, VALUE([@[Insurance Score]])>=20, 2, VALUE([@[Insurance Score]])>=10, 1, VALUE([@[Insurance Score]])>=0, 0 )
方法3:简化公式(可选)
如果确认数据是数值格式,还可以用更简洁的公式实现相同逻辑:
=MAX(0, MIN(8, INT([@[Insurance Score]]/10)))
内容的提问来源于stack exchange,提问作者gavincann9
相关产品推荐
相关产品推荐

