假设我的excel数据透视表有以下数据:
country_id user_id answer
---------- ------- ------
1 1 Y
1 2 Y
2 3 N
2 4 Y
3 5 N
我想知道每个国家有多少“Y”。 如果我将值中的“回答”作为“回答计数”,我每行得1。我怎么才能算出“Y”的答案?
所以结果将是:
country_id answerY
----------- -------
1 2
2 1
3 0
BR 是的
答案 0 :(得分:1)
我不确定您是否可以在数据透视表中执行此操作,但如果您希望在数据透视表之外执行此操作,则可以使用这些公式创建几列:
Column D:
=IF(C2="Y",1,0)*A2
Column E:
=COUNTIF(D$2:D$6,B2)
这假设所有用户ID都是唯一且顺序的,并且D $ 6需要替换为列中最后一个值。 E列将具有您描述为answerY的值。
答案 1 :(得分:1)
我有一个类似于@pkg的解决方案。在数据中再添加一列,并使用以下公式将其命名为“answerY”:
=IF(C4="Y",1,0)
或者,如果您的数据在表格中:
=IF([@answer]="Y",1,0)
现在,按如下方式设置数据透视表:
Row lables: country
Values: answerY (sum)
通常我会说在数据透视表中添加一个计算字段,但是计算字段的工作方式是聚合值,我想不出用直接数据透视表做这个的方法。
如果您有能力使用PowerPivot,您可以创建一个自定义列或Dax表达式来处理它。