2015-10-13 61 views
0

我计数的响应的数量为不同类型的响应(Strongly AgreeAgreeDisagree)(等级1,等级2):使用COUNTIFS有效返回数据为每个类不同的标准

Image of my problem

我能够为每个不同的主题(子1,子2)做一个COUNTIFS。例如,对于子1,从[1级]对来自Strongly Agree的响应的学生数量进行计数。我使用公式:

=COUNTIFS($A$2:$A$5,$A10,$B$2:$B$5,B$9) 

但是,这意味着我需要更改每个主题的参考列。

是否有更有效的方法来做到这一点,如果我改变主题(单元格A8),例如从子1到子2,统计数据会相应改变?

回答

0

您需要使用MATCH返回对象的列数,然后用ADDRESSINDIRECT,使之成为一个地址COUNTIFS要遵循。事情是这样的:

=COUNTIFS($A$2:$A$5, $A10, INDIRECT(ADDRESS(2, MATCH($A$8, $A$1:$C$1, 0))&":"&ADDRESS(5, MATCH($A$8, $A$1:$C$1, 0))), B$9) 

MATCH($A$8...)是指主题细胞和ADDRESS(2..ADDRESS(5..是要算在列表的顶部和底部行。

此替代方法是添加一个额外的主题列,并且只有一列要计入。这只需要通过添加附加标准修改您发布的公式。

+0

mike7mike嗨,它的作品! 非常感谢。对于地址(2 ..和地址(5 ..,如何用它来引用另一个工作表?在我的情况下,参考工作表的名称是“原始” 当我尝试Address(Raw!2 .. excel表示公式中有一个错误 当我尝试Address(Raw!2:2 ...,我得到[#value!] –

+0

Hi @KinChuahChan,对于延迟响应抱歉,您需要插入工作表名称在前面的地址声明即间接(“Raw!”和地址(... – mike7mike

+0

嗨mike7mike,酷!再次感谢您的帮助。 –

0

你可能要考虑unpivoting然后从所得到的表构建一个新的PT与列上方一行值的行计数的值:

SO33098690 example

+0

嗨pnuts, 感谢您整理我的问题并提供解决方案。因为我不熟悉数据透视表。无论如何,感谢您的回应! –

相关问题