2013-05-13 59 views
1

我有一列显示不同的用户和其他显示值的列。每个用户可以有几个这些值,他们可以重复。我知道如何统计同一列中的相同值,但我需要知道每个用户的相同值的数量。例如:如何为某些用户统计列中的相同值

USER   VALUE 
User1   100 
User1   300 
User1   100 
User1   200 
User1   300 
User1   100 
User1   100 
User1   400 
User2   100 
User2   100 
User2   100 
User2   400 
User2   100 
User2   200 
User2   200 

然后,它应该会出现类似:

USER   VALUE  COUNT 
User1   100   4 
User1   200   1 
User1   300   2 
User1   400   1 

,并与第二用户等一样。

编辑 - 抱歉,我误解了我必须做的事情......我有更多的价值观,尽管我只需要关注一个值,但显然我必须计算所有这些值:所以我需要的是以下内容:

USER  V1  V2  V3  V4 
    user1  A  C  A  B 
    user2  B  D  A  B 
    user1  A  F  A  C 
    user3  C  A  C  D 
    user3  D  B  A  A 

应该出现什么USER1

user1 

    V1 
    A  2 
    B  0 
    C  0 
    D  0 

    V2 
    A  1 
    B  0 
    C  0 
    D  0 
    E  0 
    F  1 

    V3 
    A  2 
    B  0 
    C  0 
    D  0 

    V4 
    A  0 
    B  1 
    C  1 
    D  0 

对于任何想法?无论如何感谢您的帮助!

+0

你会好起来的使用数据透视表? – Jerry 2013-05-13 16:31:35

+0

这是如何工作的?我是一个begginer ... – 2013-05-13 16:35:12

+0

好的,这个编辑,3小时前改变了一切。如果我有时间我确定我可以解决它。你能按用户排序你的数据吗? – Scheballs 2013-05-14 12:58:03

回答

1

如果你没事使用数据透视表,那么你可以这样做:

  • 选择范围(整个表为例)
  • 转到Insert>Insert PivotTable>OK
  • 在“行标签”框中拖动字段User,Value,并在Values框中再次拖动Value

一些格式(Report Layout > Tabular FormDo not show subtotalsDesign窗格中的数据透视表菜单中)后,你会得到这样的:

enter image description here

然后,您可以复制/粘贴您在另一个工作表所需要的更多数据操作。 您不能直接修改数据透视表中的数据。


如果你已经有了桌子准备与UserValues,只需要获得计数,然后在单元格C2使用COUNTIFS

=COUNTIFS(Sheet1!A:A,Sheet2!A2,Sheet1!B:B,Sheet2!B2) 

此公式假设在第一片被命名为Sheet1和包含要填写台上的板材被命名为Sheet2

2

编辑

根据原始海报中的新数据结构添加了一个新的答案。

因此,有几件事情必须发生才能使其工作。我建议将您的数据范围转换为表格。它使简单的动态列和值引用成为可能。突出显示您的数据范围并按下CTRL + T。

现在说你的数据在单元格A1:E6就像你有以上

表1 = A1:E6 =

USER V1 V2 V3 V4 
user1 A C A B 
user2 B D A B 
user1 A F A C 
user3 C A C D 
user3 D B A A 
  • 在小区F2进入
  • =IFERROR(INDEX(Table1[USER],MATCH(0,INDEX(COUNTIF($F$1:F1,Table1[USER]),0,0),0)),"-")
  • 这将返回“USER”列中的第一个唯一用户。要显示 ,其余的操作只需拖动即可复制F2下单元格中的公式。
  • 然后在G2单元格中,我做了一个范围为F2:F4的下拉列表,这是所有唯一的用户。
  • 在细胞G3我做了一个下拉范围B1的名单:E1,这是所有头V1,V2 ...
  • 在单元格G4进入
  • =IFERROR(INDEX(INDIRECT("Table1["&$G$3&"]"),MATCH(0,INDEX(COUNTIF($G$3:G3,INDIRECT("Table1["&$G$3&"]")),0,0),0)),"-")
  • 您可以复制下来这个公式它下面的细胞,直到你看到一个“ - ”这意味着有列“V1”没有更多的独特的价值观
  • 在小区H4进入
  • =COUNTIFS(Table1[USER],$G$2,INDIRECT("Table1["&$G$3&"]"),G4)

这都会给你的东西,看起来像这样......希望它能帮助,

Unique Users Unique Values Unique count 2

编辑完

第一个答案......

这里是你如何与单元格公式去做。所述的与报头的用户的

  • 范围:在乙与标头值的
  • 范围:乙
  • 范围A:B是由用户进行排序,然后值
  • 在D1:F1型在您的新标题,唯一用户,唯一值,用户值计数。
  • 有三个公式,每列一个。
  • D2 = =INDEX(A:A,ROW($F$2)+SUM(F$1:F1))
  • E2 = =INDEX(B:B,ROW($F$2)+SUM(F$1:F1))
  • F2 = =COUNTIFS(A:A,D2,B:B,E2)

随着这三个在第二排,你现在应该能够向下拖动公式填充列表出越来越多的表现独特的用户和他们独特的价值与这些价值观的数量。如果公式返回一个零,这意味着您处于唯一数据的末尾。

-Scheballs

编辑 - 错字,感谢杰里

Unique Users Unique Values Unique count

+0

+1有趣的公式。此外,你可能意味着目标细胞是D2,E2和F2;) – Jerry 2013-05-13 20:24:07

相关问题