Excel书面测验多正确答案判分的IF公式修正方法
Excel测验多正确答案判分公式修复方案
原有单答案判分公式=IF(D36=L36,"CORRECT","WRONG ")通过直接比对作答单元格与标准答案单元格的值实现判分,单答案场景下可正常运行。
你之前测试的两种写法失效原因如下:
- 写法
=IF(F36=(M36,M37),"CORRECT","WRONG "):Excel不支持直接在等式后用括号包裹多个单元格实现多值匹配,普通输入场景下该写法只会取括号内第一个单元格的值做比对,无法覆盖所有正确答案。 - 写法
=IF(OR(F36=(M36,M37)),"CORRECT","WRONG "):OR函数要求每个入参都是独立的逻辑判断式,该写法仅传入了1个判断逻辑,不会自动遍历括号内的所有单元格做匹配,因此无法生效。
最小改动适配方案
完全保留原有IF判断的结构,仅需把OR函数内的多值匹配拆成独立的等值判断即可,不需要重构公式逻辑:
- 适配2个正确答案的公式:
=IF(OR(F36=M36,F36=M37),"CORRECT","WRONG ") - 适配3个正确答案的公式,每新增1个正确答案就在OR内追加1组判断即可:
=IF(OR(F36=M36,F36=M37,F36=M38),"CORRECT","WRONG ")
可选简化写法
如果同个题目的所有正确答案存放在连续单元格区域,还可以用COUNTIF写法减少重复判断,该写法同时兼容单答案、多答案场景,不需要针对题目答案数量调整公式结构:
例:正确答案存放在M36到M38连续单元格时,公式为
=IF(COUNTIF(M36:M38,F36)>0,"CORRECT","WRONG ")
单答案场景下仅需把匹配区域改为单个单元格M36即可直接使用。
内容的提问来源于stack exchange,提问作者Tom Mckillop
相关产品推荐
相关产品推荐

