用公式过滤行

我试图按名称筛选行,然后COUNTIF表示以“非常同意/同意..等等”方式回答的问题的列,以计算每个问题的每个类别的select数量。

示例数据:

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

您试图总结2个标准(名称列和问题列必须等于某些值)。 出于这个原因,我不认为countif()会为你工作。

想到2个选项:

  1. 数据透视表。 转到插入 – >数据透视表,并在新标签中创build一个。 将您的姓名列拖放到报表filter中,将q1拖放到行标签中,并将姓名计为您的值。 因此,不需要任何代码,您可以一次总结一个问题。 你也可以得到你的目标表,但首先你必须把你的表变成3列:名称,问题#和答案。

  2. Sumproduct()函数。 这里有一个例子 ,但你可以谷歌更多。 使用此function,您可以一次性统计多个条件的发生。 使用您的示例,这将返回您的表中的名称是Bob和Question1是同意的行数:
    =SUMPRODUCT((A2:A5="BOB")*(B2:B5="Agree"))