最近,我遇到了一个称为“ Choose”的excel函数,该函数被称为嵌套if函数的替代方法。我在网上看到了一些示例,如下所示,比较了嵌套的if和select函数。
对于给定的条件,
Result Score
Poor 0 - 50
Satisfactory 51 - 100
Good 101 - 150
Excellent over 151
嵌套的if条件将是这样,
=IF(B2>=151, "Excellent", IF(B2>=101, "Good", IF(B2>=51, "Satisfactory", "Poor")))
在相同情况下,选择功能将为
=CHOOSE((B2>0) + (B2>=51) + (B2>=101) + (B2>=151), "Poor", "Satisfactory", "Good", "Excellent")
我了解到select函数基于给定值列表(真实条件)中的索引号或位置号起作用。
我只是在想如果再添加一个如下表所示的类别,即
,该怎么办?Result Score
Not Applicable <0
Poor 0 - 50
Satisfactory 51 - 100
Good 101 - 150
Excellent over 151
如果我在选择中给出这样的公式,
=CHOOSE((B2<0)+(B2>0) + (B2>=51) + (B2>=101) + (B2>=151), "Not Applicable", "Poor", "Satisfactory", "Good", "Excellent")
但是,对于B2 = 21这样的值,我可能最终会报错
这只是出于学习目的,如果有人在使用选择选项时帮助我处理这些情况,那将是很好的选择。
答案 0 :(得分:0)
尝试以下操作:
=IFERROR(CHOOSE(($D1>150) + ($D1>100) + ($D1>50) + ($D1>0), "Poor", "Satisfactory", "Good", "Excellent"),"Not Applicable")
您可以使用 IFERROR 返回负数的Not Applicable
。如果该单元格为空白,它将被视为0
,并且公式将返回Poor
。
如果您不想为空白单元格显示poor
,则可以使用以下嵌套的 CHOOSE 函数在空白框中显示所需的结果,例如空白""
以下公式:
=CHOOSE(IF(LEN($D1)=0,1,2),"",IFERROR(CHOOSE(($D1>150) + ($D1>100) + ($D1>50) + ($D1>=0), "Poor", "Satisfactory", "Good", "Excellent"),"Not Applicable"))