Excel公式求助:匹配所选选项与正确答案返回Yes/No异常
问题分析与解决方案
你的公式存在两个核心问题:
- 题目标识匹配错误:
MATCH(B3, $B3:$B6, 0)会始终返回1(因为B3是查找区域的第一个单元格),导致所有选项都错误对应到G3,第2题及以后的选项无法匹配G4、G5等对应题目的正确答案。 - 逻辑判断方向错误:你用G列的值和C列的0/1做比较,这不符合需求逻辑——正确逻辑应该是判断「当前选项是否为对应题目的正确答案,且该选项被选中(C=1)」。
以下根据G列存储内容的两种常见场景,给出正确公式:
场景1:G列存储正确选项的文本内容
比如G3是第1题正确选项的文本(和B列对应选项的文本一致),公式可写在C3旁边的单元格(比如D3),下拉填充:
=IF(B3<>"", IF(AND(B3=INDEX(G$3:G$6, CEILING((ROW()-1)/5,1)), C3=1), "Yes", "No"), "")
逻辑说明:
CEILING((ROW()-1)/5,1):计算当前选项所属的题目序号(第1题返回1,第2题返回2,以此类推)INDEX(G$3:G$6, 题目序号):提取对应题目的正确答案文本- 最终判断:当前选项文本等于正确答案,且C列标记为选中(1)时返回"Yes",否则返回"No"
场景2:G列存储正确选项的序号
比如G3=2,表示第1题的正确选项是该题的第2个选项(B4),公式如下:
=IF(B3<>"", LET( 题目序号, CEILING((ROW()-1)/5,1), 题目起始行, 2 + 5*(题目序号-1), 选项序号, ROW()-题目起始行, IF(AND(选项序号=INDEX(G$3:G$6,题目序号), C3=1), "Yes", "No") ), "" )
逻辑说明:
- 先计算当前选项所属的题目序号、该题的起始行(比如第1题起始行是2)、当前选项是该题的第几个选项
- 再判断:选项序号等于G列对应题目的正确序号,且C列标记为选中时返回"Yes",否则返回"No"
内容的提问来源于stack exchange,提问作者D Alam
相关产品推荐
相关产品推荐

