You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Excel公式求助:匹配所选选项与正确答案返回Yes/No异常

问题分析与解决方案

你的公式存在两个核心问题:

  1. 题目标识匹配错误:MATCH(B3, $B3:$B6, 0) 会始终返回1(因为B3是查找区域的第一个单元格),导致所有选项都错误对应到G3,第2题及以后的选项无法匹配G4、G5等对应题目的正确答案。
  2. 逻辑判断方向错误:你用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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 20:17:19