IFS函数返回值异常求助:仅前两个条件生效其余失效
IFS函数条件失效的原因排查与解决方法
问题原因
IFS函数的核心逻辑是按书写顺序依次判断条件,只要某一条条件成立,就直接返回对应结果,不会再检查后续的条件。
你写的公式里,F38>=1.5这个条件的范围完全覆盖了后面>=2.5、>=3.5、>=4.5的情况——比如当F38是3的时候,它满足>=1.5,所以直接返回"In Progress",根本轮不到后面的条件生效。
解决方法
方案一:反转条件顺序(推荐)
把要求数值更高的条件放在最前面,让高阈值的判断先执行:
=IFS(F38>=4.5,"Excellent",F38>=3.5,"Very Good",F38>=2.5,"Good",F38>=1.5,"In Progress",F38=1,"Not Satisfactory")
这样比如F38是4的时候,会先判断是否>=4.5(不成立),再判断>=3.5(成立),返回"Very Good",以此类推,每个条件都能被正确触发。
方案二:给条件添加范围限制
给每个中间条件加上上限,确保每个条件的数值范围不重叠:
=IFS(F38=1,"Not Satisfactory",AND(F38>=1.5,F38<2.5),"In Progress",AND(F38>=2.5,F38<3.5),"Good",AND(F38>=3.5,F38<4.5),"Very Good",F38>=4.5,"Excellent")
这种方式明确划分了每个等级的数值区间,避免了范围覆盖的问题。
内容的提问来源于stack exchange,提问作者Avallon
相关产品推荐
相关产品推荐

