首页 > 解决方案 > 总结测试的分数

问题描述

我有一张桌子,左边的一列由问卷参与者组成,说 1-20。随后是 10 列,其中包含 10 个可能问题的答案。

假设问题答案范围从 a = 1 分和 e = 5 分的 ae。

总结每个人的分数最简单,最快捷的方法是什么。

我试图使用 Sumifs,给每个字母打分(a=1,b=2...),但是,无法弄清楚我将如何制定 sumif。

我考虑过 VBA 对每个问题一一打分,然后将它们相加 - 但是我觉得这很啰嗦。

示例表(您可以使用 '=CHAR(RANDBETWEEN(97,101))' 来随机化每个问题的字母)

Questionnaire / Question 1 / Question 2/ ... / Question 10
1                 a            c                d
2                 d            e                b
...               ...          ...              ...
20

标签: excelvba

解决方案


您可以使用:

=SUMPRODUCT(CODE(UPPER(B2:K21))-64)

在 VBA 中:

Total = Evaluate("=SUM(CODE(UPPER(B2:K21))-64)")

这是一个数组公式,这就是为什么SUMPRODUCT()在工作表上更好,但是 VBA 可以在不作为数组输入的情况下使用数组,因此为什么SUM()可以通过 VBA 工作。它的工作表等效为:{=SUM(CODE(UPPER(B2:K21))-64)}


推荐阅读