我创建了一个调查表,其中包含大约100个问题。要求参与者在线填写,每次都将其随机排序。这些项目分为6个域,为了便于理解,我们将它们称为“域1-6”。
我让他们在一个称为“信函”的特定表中键入,格式如下:
(一个例子)
问题号|域
1 |域A
2 |域C
3 |域A
4 |域B
5 |域A
6 |域C
我使用Google表单生成了受访者RAW数据的电子表格,该电子表格将帮助我在单独的列中为每个项目标记RAW得分:
(一个例子)
提交ID |问题1 |问题2 |问题3 |问题4 |问题 5 |问题6
参与者1 | 2 | 3 | 5 | 1 | 2 | 4 |
参与者2 | 5 | 4 | 5 | 3 | 5 | 1 |
参与者3 | 1 | 1 | 1 | 2 | 2 | 2 |
接下来我要做的是生成另一个表,该表汇总每个参与者的域总数。因此,从上面的示例中,我需要将1,3,5作为域A,将4作为域B,将2和6作为域C:
(一个例子)
参与者1
|域A |域B |域C |
总计| 9 | 1 | 7 |
最困难的事情是找到适当的方法来启动此过程。谁能指出我正确的方向?公式或VBA都可以。谢谢!
答案 0 :(得分:0)
如果您能够创建帮助行,则可以完成此操作。
首先,我创建了一个表以将问题链接到域。在我的示例中将其命名为“信件”。该表在某种程度上是答案的关键。从问题的描述中,您需要一个类似这样的表来确定哪个问题与您要使用的域/类别/积分系统相关联。
然后,我为第9行中显示的调查结果创建了一个帮助行。这在单元格B9中具有=INDEX($B$3:$C$8,MATCH(B$10,$B$3:$B$8,0),2)
作为将问题引用到域的代码。这在示例中的问题上方,但是如果需要,您可以将其放在单独的纸上。
然后您可以对它们进行总结。
=SUMPRODUCT(SUMIFS(INDIRECT(MATCH($E3,$A:$A,0)&":"&MATCH($E3,$A:$A,0)),$9:$9,F$2))
此公式使用MATCH
内的INDIRECT
返回一个整数,用作动态行引用。如果参与者名称不是唯一的,这将失败。 SUMIFS
内部的SUMPRODUCT
可以将行像数组一样对待,而无需使用数组公式。因此,您可以重新创建我拥有的示例,然后根据需要复制/粘贴或拖放公式。
一种不同的方法可能是您要先汇总问题的要点,然后再进行从问题到领域的转换。这样,您就不必操纵原始数据,而只需处理报告。实际上,这可能是更好的方法。
编辑:添加了有关公式和示例的信息。