2017-08-16 450 views
1

我正在尝试创建一个数据透视表,其中包含来自多个列的重复计数。Excel-使用数据透视表对多个列中的重复值进行计数

例如为:

我目前的纪录是在以下格式:

my current record is in below format

输出透视表应该是:

Output in a pivot table should be

请选择帮助。

Excel公式也可以工作。

+1

你尝试过什么吗?如果不是,请先尝试。堆栈溢出不是免费的代码写入服务。 – SteveFest

+0

您可能需要向数据源添加一个额外的列来计算重复项,然后重新创建数据透视表作为新值。 – dwirony

回答

0

你不需要数据透视表来做到这一点。您应该创建一个单独的值列作为新列,删除重复项,然后假设您的参考列是该表的D列(您将通过移除列B和c的重复项生成该列),则可以应用此公式开始从E1计数每个项目:= COUNTIF(B1:C7,D1),当您将公式向下拖动至最后一项时,您应该得到每个项目的编号。这是你的表应该怎么看起来像你的应用公式后:

http://imgur.com/a/I5fLj

A B  C  D  E 
-- --  --  --- --- 
AAA 2666 2666 2666 5 (Formula: =COUNTIF(B1:C7,D1)) 
BBB 9953 1171 9953 3 
CCC 2666 1171 1171 4 
DDD 9953 9953 1252 1 
EEE 1171 1171   
FFF 2666 2666   
GGG 1252 1171   

如果您的解决方案要求它必须使用数据透视表,我没有任何的想法如何,虽然这一点。但我认为你应该再次聚合你的数据(也许通过并排添加你的列来创建一个新列),然后应用一个数据透视表,选择最后一列作为“行”,并将它们的值作为“count row X”。沿着这些方向的东西:

你应该以这种方式来汇总你的数据;

2666 
9953 
2666 
9953 
1171 
2666 
1252 
2666 
1171 
1171 
9953 
1171 
2666 
1171 

和您的数据透视表字段(当您正在生成的话)应该是这个样子:

https://imgur.com/a/EU2IA

0

你可以,如果你第一次unpivot的数据与数据透视表做到这一点。你可以使用PowerQuery来做到这一点(如果你有Excel 2013或更高版本)或者你可以使用VBA。在Google上搜索条款“Excel”和“Unpivot”,你会发现很多方法来做到这一点,包括我写的一些VBA代码here和非VBA方法here