获取逗号分隔值列的计数和唯一值?

时间:2013-12-21 03:29:53

标签: google-sheets spreadsheet

假设我拥有的是下面的A列

               +         +
     A         |    B    |    C
+--------------|---------|----------+
               |         |
  X, Y, Z      |   X     |     3
               |         |
  X, Z         |   Y     |     2
               |         |
  X, Y         |   Z     |     2
               +         +

如何生成列B和C - 其中B列从A中获取唯一元素,C列生成这些值的计数。

3 个答案:

答案 0 :(得分:14)

=ArrayFormula(QUERY(TRANSPOSE(SPLIT(JOIN(",",A:A),",")&{"";""}),"select Col1, count(Col2) group by Col1 label count(Col2) ''",0))

QUERY function

TRANSPOSE function

SPLIT function

JOIN function

答案 1 :(得分:1)

没有隐藏的单元格可以使用替代方法,而不是亚当提出的方法(在我的情况下不起作用)。 我已经使用谷歌电子表格测试了它(来自使用多个选择答案的谷歌表格的数据):

=UNIQUE(TRANSPOSE(SPLIT(JOIN(", ";A2:A);", ";FALSE)))

说明如下:

  • JOIN以混合A列中的所有值(可能是A1除外) 列的标题,如果没有,用A代替它:A)用 昏迷
  • SPLIT将所有混合值按其昏迷分开
  • TRANSPOSE将列转换为行,反之亦然
  • UNIQUE 避免重复值

考虑到我的“,”昏迷包含空格字符,即“,”,以避免错误的唯一值,因为“Z”y不等于“Z”。

答案 2 :(得分:0)

是否可以创建隐藏的工作表?

如果是,1)使用SPLIT()函数将值分隔为列,2)使用隐藏工作表上的COUNTIF()来获取值的数量