2017-10-11 62 views
0

我有一个非常复杂的(对我来说)问题,我希望有人可以帮助我。我会经历这个场景。 我想通过调查一些人来收集数据。每个问题链接到一个特定的类别(我已经将它分配给a +1a -1分数以根据该人是否同意该陈述来确定特征)。调查数据 - 基于多列和多行标准的列的总和

如参考下面的样本表,如果他们选择“同意”问题1,他们将得到a +1得分为CAT7 (Category 7)。如果他们同意问题5,他们得到a -1CAT4a +1CAT8

我试过SUMPRODUCTS, INDEX, MATCH, VLOOKUPS, COUNTIFS - 我可能会错过一些东西。可能要去一些VBA代码?如果有人可以帮忙。

我基本上想要每个类别的分数

请帮忙!非常感谢!

Sample Table

+0

图片链接不起作用(我正在使用谷歌浏览器)。由于图像不起作用,我无法真正帮助你。所以我会给你一个可以指导你的答案。这听起来像是调查只能用公式完成。你的调查问题似乎是真或假,这使得它更容易一些。你似乎对VBA感兴趣,所以我的建议是看看创建表单。一个更好的解决方案是在Access中工作,如果你有权访问它(无双关语意图)。这是关于如何在Excel中创建表单的[链接](http://www.contextures.com/xlUserForm01.html)。 – EliasWick

+0

你能告诉我们什么问题,它的答案看起来像在你的工作表,所以我们可以理解在哪里检查? – Teasel

+0

对不起 - 图像链接正在为我工​​作。多么奇怪。我会尽力解释它。感谢您尝试帮助。 在列A中,我有问题,列B - F是类别。针对每个问题(在同一行中),针对几个类别有-1或+1(例如问题1可能在列B中具有+1,而在列D中具有-1。我想找到一种方法,以便当我得到他们的调查结果是同意/不同意,当他们选择“同意”时,返回(和求和)每个类别(列)的列值。那有意义吗? @EliasWick – Robs237

回答

0

这将利用矩阵函数MMULTOFFSETMATCH和这里是阵列式(点击Ctrl键 + + 输入在一起)供您试用:

=MMULT(OFFSET($K$2,MATCH($A16,$K$3:$K$7,0),1,,COUNTA($L$2:$U$2)),IF(B$3:B$12<>"",OFFSET($A$2,1,MATCH(B$15,$B$2:$I$2,0),COUNTA($A$3:$A$12)),0)) 

这是做什么使用矩阵功能MMULT多表1和表2. OFFSET是找到正确的列和行来做数学。只是认为这是简化的数组公式找到person V以及相应的CAT1

=MMULT($L3:$U3,IF(B$3:B$12<>"",B$3:B$12,0)) 

希望这会有所帮助。请记住,您需要调整您的范围以适应您的设置。

+0

它的工作原理!太棒了!!!非常感谢!你不知道我是多么的欣赏!谢谢! – Robs237

+0

非常欢迎。 – ian0411

0

难道这是你想要的数据的例子吗?

表 'F8Uo4' 与语句:{} table1的

Statement /.../ CAT4/CAT5 /.../ CAT8 
... 
Q3  /.../ / 1 /.../ 
Q4 
Q5  /.../ -1/ /.../ 1 
Q6 
Q7  /.../ / /.../ 1 

解答人民赋予的调查:{}表2

Name/Q3/Q5/.../Q7 

Jake/A/D/.../D 
Jeff/A/D/.../A 
Joe/A/A/.../A 
John/D/A/.../A 

表与预期的效果? {table3}(阅读你的评论,我想我应该删除这个)

Result /.../ CAT4/CAT5 /.../ CAT8 

Q3     3 
Q4 
Q5   -2     2 
Q6 
Q7        3 

Total /.../ -2/+3 /.../ +5 

这是更喜欢它吗? {表4}通过读取{表1}和{表2}

Name /.../ CAT4/CAT5 /.../ CAT8 

Jake /.../ 0/ 1 /.../ 0 ' approves Q3, so CAT5+1 
Jeff /.../ 0/ 1 /.../ 1 ' approves Q3+Q7, so CAT5+1 and CAT8+1 
Joe /.../ -1/ 1 /.../ 2 ' approves Q3+Q5+Q7, so CAT5+1, CAT4-1, CAT8+1+1 
John /.../ -1/ 0 /.../ 2 ' approves Q5+Q7, so CAT4-1 and CAT8+1+1 
+0

理想情况下,我希望每个人的名字都是A列的沿着第1行的类别,以及每个类别的单独分数。 – Robs237

+0

是的,最后一张桌子是我们正在寻找的。任何援助将不胜感激 – Robs237