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

问题描述 投票:0回答:4

假设我只有下面的A栏

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

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

google-sheets google-sheets-formula array-formulas google-sheets-query
4个回答
19
投票

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

查询功能

转置功能

分割功能

加入功能


1
投票

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

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

解释如下:

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

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


0
投票

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

如果是,1) 使用

SPLIT()
函数将值分成列,2) 在隐藏工作表上使用
COUNTIF()
获取值的数量


0
投票

如何按计数对结果进行排序?

© www.soinside.com 2019 - 2024. All rights reserved.