数据透视表 – 计算唯一值 – Excel 2010

我有一个基于networking输出的Excel 2010中的数据透视表。 我想每周在networking上发布的用户数量都是唯一的。

我发现这个主题: 简单的数据透视表来计算唯一的值 ,这将额外的列添加到我的数据。 对我来说问题是,我每星期需要独特的价值,而不是所有的表。

示例input:

week 1 USER_A message1 week 1 USER_B message2 week 1 USER_A message3 week 2 USER_A message4 week 2 USER_B message5 week 2 USER_C message6 

实际上,当我要求一个计数的时候,是否给第3周和第2周计算了3个计数。我需要第1周的计数为2(因为有2个用户),并且每周的计数2为3(因为有3个用户)。

任何人都知道如何做到这一点?

您可以创build一个新列并添加公式:

 =IF(COUNTIFS($A$2:A2,A2,$B$2:B2,B2)>1,0,1) 

并在这个专栏上转折:

在这里输入图像说明

不会另一个选项是连接两列,然后删除重复? 在杰里的post中使用图片,步骤是:

  • 插入D列
  • 在D列中,input公式:

= CONCATENATE(A2,“”,B2)

这应该给你结果“第1周USER_A”第2行,“第1周USER_B”第2行,依此类推。

  • 在“数据”标签下,select“高亮重复”
  • 只selectD列,然后单击确定

您现在应该只能计算A列和B列的唯一实例。这就是我过去所做的事情; 希望我不是完全错误的做法! 🙂

在描述中,我将使用你的表的图片(我不允许张贴我的照片)。 首先按星期sorting,然后由用户sorting,然后在单元格D2中插入= IF(AND(A3 = A2,B3 = B2),0,1) 。 在列中复制公式。 在我使用的大学生表A1:P141736上,这个公式立即起作用。

既然你没有指定你的数据来自哪里。

我将假设你的数据存储在一个SQL数据库中,可以使用分区数或row_number分区数来实现这些结果。

完成Jerry提供的解决scheme,可以从SQL实现“用户数”列

case when row_number() over (partition by Week order by Users) = 1 then 1 else 0 end as [Unique?]

因此,这实际上会做更多一点,首先分区由不同周的结果集,命令用户列,并分配一个顺序的id到分区上的每一行。 我们基本上过滤掉每个分区中的第1行。

如果数据不是来自SQL,则忽视。