我正在尝试按名称过滤行,然后COUNTIF
一列代表以“非常同意/同意..”方式回答的问题,以计算每个问题的每个类别的数量被选中了。
示例数据:
name | question 1| question 2 ...
=============================
Bob | Agree | Disagree
Bob | Strongly A| Agree
Red | Disagree | Strongly Agree
Blue | Agree | Agree
我想从上面得到这些数据:
Bob | question 1 | question 2 ...
==================================
Agree | 1 | 1
Disagree| 1 | 1
...
(对于那些好奇的人:这是一个关于特定人的匿名调查。)
我没有很多excel的经验我到目前为止想出了这个:
=COUNTIF(IF(Sheet1!A2:A5="Bob",Sheet1!B2:B5, ""), Sheet2!A2)
这给了我一个#VALUE!
。我不确定如何使范围成为匹配名称值的相关问题的行。任何帮助将不胜感激!
答案 0 :(得分:2)
您尝试使用2个条件求和(名称列和问题列必须等于某些值)。出于这个原因,我认为countif()
不适合你。
我想到了两个选项:
数据透视表。转到插入 - >数据透视表并在新选项卡中创建一个。将您的名称列拖放到报表过滤器中,将q1拖放到行标签中,并将名称计数作为您的值。因此,无需任何代码,您可以一次总结一个问题。您也可以准确地获得目标表,但首先您必须将表格变为3列:名称,问题#和答案。
Sumproduct()
功能。这是一个example,但您可以谷歌了解更多信息。使用此功能,您可以一次计算多个条件的出现次数。使用您的示例,这将返回表中名称为Bob且Question1为Agree的行数:
=SUMPRODUCT((A2:A5="BOB")*(B2:B5="Agree"))