SharePoint IF(AND)计算列状态异常:100分判定错误求助
问题解决:文本类型分数的IF公式判定错误
问题场景
现有嵌套IF(AND)公式,其中Quiz Score为文本类型。公式对除100分外的分数均可正常判定,但会将100分错误标记为"Incomplete";尝试添加针对"100"的判断后,所有状态又被判定为"Complete"。原公式如下:
=IF(AND(PassReq="Yes",[Quiz Score]>="80"),"Complete", IF(AND(PassReq="Yes",[Quiz Score]<"80"),"Incomplete", IF(AND(PassReq="No",[Quiz Score]<>"80"),"Complete"," ")))
原因分析
- 核心问题是文本类型的数字比较逻辑:字符串比较按字符顺序逐位对比,"100"的首字符是"1","80"的首字符是"8",系统会判定
"100"<"80",导致100分在PassReq="Yes"时触发第二个IF条件,返回"Incomplete"。 - 直接添加
[Quiz Score]="100"的判断时,因公式逻辑顺序问题,会覆盖后续条件判断,导致所有结果都返回"Complete"。
修正方案
把文本类型的分数转换为数值后再进行比较,可使用VALUE()函数或--(双减号)强制转换,以下是两种修正后的公式:
方法1:用VALUE()函数转换
=IF(AND(PassReq="Yes",VALUE([Quiz Score])>=80),"Complete", IF(AND(PassReq="Yes",VALUE([Quiz Score])<80),"Incomplete", IF(AND(PassReq="No",VALUE([Quiz Score])<>80),"Complete"," ")))
方法2:用--强制转换(更简洁)
=IF(AND(PassReq="Yes",--[Quiz Score]>=80),"Complete", IF(AND(PassReq="Yes",--[Quiz Score]<80),"Incomplete", IF(AND(PassReq="No",--[Quiz Score]<>80),"Complete"," ")))
补充说明
转换后数值比较遵循正常数字逻辑,100会被正确判定为大于80,触发第一个IF条件返回"Complete"。若Quiz Score存在非数字内容,可额外添加错误判断逻辑,当前场景默认分数均为有效数字文本。
内容的提问来源于stack exchange,提问作者Mraymond
相关产品推荐
相关产品推荐

