0

我正在尝试按名称过滤行,然后过滤COUNTIF代表以“强烈同意/同意..etc”方式回答的问题的列,以计算每个问题的每个类别中有多少被选中。

示例数据:

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!. 我不完全确定如何使范围成为具有匹配名称值的相关问题的行。任何帮助将不胜感激!

4

1 回答 1

2

您正在尝试使用 2 个条件求和(名称列和问题列必须等于某些值)。出于这个原因,我认为它不countif()适合你。

想到2个选项:

  1. 数据透视表。转到插入-> 数据透视表并在新选项卡中创建一个。将您的姓名列拖放到报告过滤器中,将 q1 拖放到行标签中,并将姓名计数作为您的值。因此,无需任何代码,您就可以一次总结一个问题。您还可以准确获取目标表,但首先您必须将表转换为 3 列:名称、问题# 和答案。

  2. Sumproduct()功能。这是一个例子,但你可以谷歌搜索更多。使用此功能,您可以一次计算多个条件的出现次数。使用您的示例,这将返回表中名称为 Bob 且 Question1 为 Agree 的行数:
    =SUMPRODUCT((A2:A5="BOB")*(B2:B5="Agree"))

于 2013-03-28T15:17:14.783 回答