10

假设我只有下面的 A 列

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

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

4

3 回答 3

19

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

查询功能

移调功能

分割功能

加入函数

于 2013-12-23T07:47:40.163 回答
1

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

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

解释如下:

  • JOIN 混合 A 列中的所有值(A1 除外,它可能是列的标题,如果不是,则用 A:A 替换),用逗号分隔
  • SPLIT 用逗号分隔所有混合值
  • TRANSPOSE 将列转换为行,反之亦然
  • UNIQUE 避免重复值

考虑到我的“,”逗号包括和空格字符,即“,”,以避免不正确的唯一值,因为“Z”y不等于“Z”。

于 2017-06-28T11:21:49.803 回答
0

是否可以创建隐藏表?

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

于 2013-12-21T18:53:52.003 回答