在Google表格中,如何分隔逗号分隔值?

时间:2016-02-29 04:35:35

标签: csv google-sheets comma array-formulas

我有一列逗号分隔值,如下所示:

              A
1   A, B, C, D, E
2   A, D, E, F, G
3   B, E, F, H
4   A, B, C, D, E, F, G, H
5   D
6   F, G
7   A, E, F, G
[...]

我希望得到所有这些值,但是要分开,所以我最终会得到一个列表/数组,其值为[" A"," B",&#34 ; C"" d"" E"" A"" d"" E" ," F"," G"," B"," E" ...]我可以传递到ARRAYFORMULA()嵌套在里面一个功能。

布朗尼指出:
我最终需要将其传递给= MODE()。如果在没有= MODE(ARRAYFORMULA(SEPERATE(A1:A7)))的情况下有更简单/实际可行的方法,那么SEPERATE是上面定义的假设函数,那么请给我一个。谢谢!

3 个答案:

答案 0 :(得分:2)

您不能对数组公式使用split,但可以在值右侧的帮助列中运行split函数:

=SPLIT(A1,",")

此外,模式不能处理文本值 - 仅限数字 - 您可能需要使用countif。

答案 1 :(得分:2)

要获取模式,请将第一个公式放在B列中。它会在每组字母的末尾添加逗号,以便拆分工作。然后第二个公式将找到模式。您可以隐藏B列。

=transpose(split(join(" ",arrayformula(A1:A7&",")),", "))
=ArrayFormula(
   index(B1:B,
     match(
       max(if(B1:B="",iferror(1/0),countif(B1:B,B1:B))),
       countif(B1:B,B1:B),
       0
     )
   )
 )

答案 2 :(得分:0)

要获得包含总计的表格,请使用以下公式:

=QUERY({TRANSPOSE(SPLIT(JOIN(", ",A1:A7),", ")),TRANSPOSE(SPLIT(JOIN(", ",A1:A7),", "))},"select Col1, count(Col2) group by Col1 order by count(Col2) desc label count(Col2) ''",0)

它会给出这样的结果:

E   5
F   5
A   4
D   4
G   4
B   3
C   2
H   2

如果你想得到字母“E”(模式),请使用:

=QUERY(QUERY({TRANSPOSE(SPLIT(JOIN(", ",A1:A7),", ")),TRANSPOSE(SPLIT(JOIN(", ",A1:A7),", "))},"select Col1, count(Col2) group by Col1 order by count(Col2) desc label count(Col2) ''",0),"select Col1 limit 1")