这似乎是一个简单的数据透视表学习与。 我想这样做的唯一值的计数,我分组在一个特定的值。
举例来说,我有这样的:
ABC 123
ABC 123
ABC 123
DEF 456
DEF 567
DEF 456
DEF 456
我要的是一个数据透视表,显示我:
ABC 1
DEF 2
我只创建一个简单的数据透视表给我这个(有多少行数):
ABC 3
DEF 4
但我想唯一值的数量来代替。
我真正想要做的是找出在第一列,其值不具有在所有行第二列的值相同。 换句话说,“ABC”是“好”,“DEF”是“坏”
我敢肯定有一个更简单的方式做到这一点,但认为我给的数据透视表一试...
Answer 1:
插入一个第三列和细胞C2
粘贴此式
=IF(SUMPRODUCT(($A$2:$A2=A2)*($B$2:$B2=B2))>1,0,1)
并复制下来。 现在,基于第一和第三列上创建您的支点。 见快照
Answer 2:
更新:现在,您可以自动执行此操作在Excel 2013年我创建了这是一个新的答案,因为我以前的答案实际上解决了一个稍微不同的问题。
如果你有一个版本,然后选择您的数据创建数据透视表,当你创建表时,请确保选择“此数据添加到数据模型” tickbox是检查(见下文)。
然后,您的数据透视表打开时,创建您的行,列和值正常。 然后点击你要计算的重复计数和编辑的字段值设置领域:
最后,向下滚动到最后一个选项,并选择“重复计数”。
这应该更新您的数据透视表中的值,以显示你正在寻找的数据。
Answer 3:
我想抛出一个附加选项为不需要的公式,但如果你需要一组跨两个不同的列数内唯一值可能会有所帮助的组合。 使用原来的例子,我没有:
ABC 123
ABC 123
ABC 123
DEF 456
DEF 567
DEF 456
DEF 456
并希望它显示为:
ABC 1
DEF 2
但更多的东西,如:
ABC 123
ABC 123
ABC 123
ABC 456
DEF 123
DEF 456
DEF 567
DEF 456
DEF 456
并希望它显示为:
ABC
123 3
456 1
DEF
123 1
456 3
567 1
我发现让我的数据到这个格式,然后能够操纵它的最好办法进一步是使用以下命令:
一旦选择“在运行总计”,然后选择用于次要数据的集合的标题(在这种情况下,将包括123,456和567的数据组的报头或标题栏)。 这会给你与该组项目的总次数的最大值,主数据集内。
然后我复制这个数据,粘贴它作为值,然后把它放在另一个数据透视表更容易地操纵它。
仅供参考,我有大约四分之一百万行数据,因此比一些公式的方法的这个工作好了很多,特别是那些试图跨越两列/数据集进行比较,因为它一直崩溃的应用程序。
Answer 4:
做一个“重复计数”的能力的Excel 2013的一部分,但不会自动启用。
所以,如果你运行一个EXCEL 2013的副本,这里是解决这个而不通过函数去麻烦的辉煌之路: http://datapigtechnologies.com/blog/index.php/distinct-count-in-pivot-tables-终于,在-的Excel 2013 /
Answer 5:
我发现最简单的方法是使用Distinct Count
选项下的Value Field Settings
( 左 击在外地Values
窗格)。 对于选择Distinct Count
是在列表的最底部。
下面是前(TOP;正常Count
)和之后(BOTTOM; Distinct Count
)
Answer 6:
见黛布拉达格利什的计数暗金物品
Answer 7:
这是没有必要对表进行排序为下面的公式为每个唯一值存在返回1。
假设在问题提出的数据的表范围A1:B7输入在小区C1中的下式:
=IF(COUNTIF($B$1:$B1,B1)>1,0,COUNTIF($B$1:$B1,B1))
该公式复制到所有行和最后一行将包含:
=IF(COUNTIF($B$1:$B7,B7)>1,0,COUNTIF($B$1:$B7,B7))
这导致1返回的第一时间的记录被发现,0所有时间之后。
只需在您的数据透视表总结列
Answer 8:
我对这个问题的办法是比我看到这里有一点不同,所以我将分享。
(先为您的数据的副本) CONCATENATE列 对所连接的列删除重复 最后 - 在结果集支点
注: 我想包括图像,使这个更容易理解,但不能因为这是我的第一篇文章;)
Answer 9:
亚洲时报Siddharth的回答是了不起的。
然而 ,有大量的数据工作时,这种技术可以打麻烦(我的电脑冻结了50000行)。 一些不太处理器密集的方法:
单唯一性检查
排序的两列(A,B在该示例中) 使用一个公式,着眼于较少的数据
=IF(SUMPRODUCT(($A2:$A3=A2)*($B2:$B3=B2))>1,0,1)
多个唯一性检查
如果你需要在不同的列来检查的独特性,你不能依靠两类。
代替,
排序单塔(A) 添加配方覆盖的每个分组的最大记录数。 如果ABC可能有50行,该公式将是
=IF(SUMPRODUCT(($A2:$A49=A2)*($B2:$B49=B2))>1,0,1)
Answer 10:
Excel的2013可以做计数在枢轴不同。 如果到2013年没有进入,它的数据量较小,我做原始数据的两个副本,并在副本B,选择列和删除重复。 然后使支点和算你列b。
Answer 11:
您可以使用COUNTIFS多个标准,
= 1 / COUNTIFS(A:A,A2,B:B,B2),然后向下拖动。 你可以把多个标准,你在那里想,但它往往花费大量的时间来处理。
Answer 12:
第1步: 添加列
步骤2. 使用公式= IF(COUNTIF(C2:$C$2410,C2)>1,0,1)
在第一记录
步骤3. 将它的所有记录
在与式列步骤4. 过滤“1”
Answer 13:
你可以进行额外的列来存储的独特性,再总结的是 在您的数据透视表。
我的意思是,小区C1
应始终是1
。 小区C2
应包含式=IF(COUNTIF($A$1:$A1,$A2)*COUNTIF($B$1:$B1,$B2)>0,0,1)
向下复制此公式,以便细胞C3
将包含=IF(COUNTIF($A$1:$A2,$A3)*COUNTIF($B$1:$B2,$B3)>0,0,1)
等等。
如果你有一个标题单元格,你要移动这些都向下一排,你的C3
公式为=IF(COUNTIF($A$2:$A2,$A3)*COUNTIF($B$2:$B2,$B3)>0,0,1)
Answer 14:
如果你有数据整理..我建议用以下公式
=IF(OR(A2<>A3,B2<>B3),1,0)
这是更快它使用较少的细胞来计算。
Answer 15:
我通常由现场我需要做的,则重复计数使用的数据进行排序IF(A2 = A1,0,1); 你那么每个组ID的第一行中得到1。 简单,不采取任何时间来计算大型数据集。
Answer 16:
您可以使用辅助列也VLOOKUP
。 我测试了,看起来比快一点COUNTIF
。
如果使用的是标头和数据开始在小区A2
,然后在列的任何细胞使用这个公式,并且在同一列中的所有其它单元格复制:
=IFERROR(IF(VLOOKUP(A2;$A$1:A1;1;0)=A2;0;1);1)
Answer 17:
我发现这样做的一个简单的方法。 参照Siddarth溃败的例子,如果我要算在A列中唯一值:
add a new column C and fill C2 with formula "=1/COUNTIF($A:$A,A2)"
drag formula down to the rest of the column
pivot with column A as row label, and Sum{column C) in values to get the number of unique values in column A
answered Jan 8 '13 at 17:06
B
. How will you adapt this to work with multiple columns? – ErikE Feb 10 '13 at 8:11