Excel-比对答案自动计算分数(多重选择)(SUMPRODUCT,SUBSTITUTE)

如何利用 Excel 来计算多重选择的总得分?如下图,假设每个题目的答案由 A, B, C, D 所组成,答案可能是其中的 1 ~ 4 个所组成。


Excel-比对答案自动计算分数(多重选择)(SUMPRODUCT,SUBSTITUTE)

其得分的标准:

●该选的选项也有选:+1分

●该选的选项没有选:+0分

●不该选的选项没有选:+1分

●不该选的选项却有选:+0分

【公式设计与解析】

1. 计算每个题目题分

单元格D2:=SUMPRODUCT(((SUBSTITUTE(B2,{"A","B","C","D"},"")=B2)=(SUBSTITUTE(C2,{"A","B","C","D"},"")=C2))*1)

复制单元格D2,贴至单元格D2:D26。

SUMPRODUCT 函数中,公式可以数组形式来运算。{"A","B","C","D"} 表示由 A、B、C、D 字符组成的数组。

(1) SUBSTITUTE(B2,{"A","B","C","D"},"")=B2

利用 SUBSTITUTE 函数将单元格B2中的 A、B、C、D 分别置换成空字符串(共会运算 4 笔)。再分别判断 4 个传回值是否和单元格B2相同。例如,置换 A 后若传回相同,代表单元格B2中没有 A 字符。

(2) SUBSTITUTE(C2,{"A","B","C","D"},"")=C2

利用 SUBSTITUTE 函数将单元格C2中的 A、B、C、D 分别置换成空字符串(共会运算 4 笔)。再分别判断 4 个传回值是否和单元格C2相同。

(3) (第(1)式)=(第(2)式))*1

SUMPRODUCT 函数中,判断第(1)式和第(2)式的结果是否相等,传回 TRUE/FALSE 数组。因为 TURE 代表得分(+1),FALSE 代表没有得分(+0),所以利用公式中的『*1』运算,将 TRUE/FALSE 数组转换为 1/0 数组。

最后经由 SUMPRODUCT 函数予以加总,即为该题得分。

2. 计算所有题目总得分

单元格G2:=SUMPRODUCT(((SUBSTITUTE(B2:B26,{"A","B","C","D"},"")=B2:B26)=(SUBSTITUTE(C2:C26,{"A","B","C","D"},"")=C2:C26))*1)

有了「1. 计算每个题目题分」的运算经验,只要将公式中的单元格B2置换成单元格B2:B26,和将单元格C2置换成单元格C2:C26,即为所求。

由本例来看,善用 SUMPRODUCT 函数来处理数组形式的运算,可以缩短公式的总量。或许对很多人而言,其实看不懂这样的公式,建议由其他较简单的 SUMPRODUCT 函数运算先理解。


分享到:


相關文章: