在 Google 表格中,如何分隔逗号分隔值?
In Google Sheets, how do I separate comma separated values?
我有一列逗号分隔值,如下所示:
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
[...]
我想获取所有这些值,但要单独获取,所以我最终会得到一个 list/array,其值类似于 ["A"、"B"、"C" ,"D","E","A","D","E","F","G","B","E"…],我可以传递给嵌套在函数中的 ARRAYFORMULA()
。
布朗尼积分:
我最终需要将它传递给 =MODE()。如果没有 =MODE(ARRAYFORMULA(SEPERATE(A1:A7))), SEPERATE 是上面定义的假设函数,如果有 easier/actually 可能的方法来做到这一点,那么请给我一个。谢谢!
您不能将 split 与数组公式一起使用,但您可以 运行 在您的值右侧的辅助列中使用 split 函数:
=SPLIT(A1,",")
此外,模式不适用于文本值 - 仅适用于数字 - 您可能想改用 countif。
要获得总计 table,请使用此公式:
=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")
要获取众数,请将第一个公式放在 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
)
)
)
我有一列逗号分隔值,如下所示:
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
[...]
我想获取所有这些值,但要单独获取,所以我最终会得到一个 list/array,其值类似于 ["A"、"B"、"C" ,"D","E","A","D","E","F","G","B","E"…],我可以传递给嵌套在函数中的 ARRAYFORMULA()
。
布朗尼积分:
我最终需要将它传递给 =MODE()。如果没有 =MODE(ARRAYFORMULA(SEPERATE(A1:A7))), SEPERATE 是上面定义的假设函数,如果有 easier/actually 可能的方法来做到这一点,那么请给我一个。谢谢!
您不能将 split 与数组公式一起使用,但您可以 运行 在您的值右侧的辅助列中使用 split 函数:
=SPLIT(A1,",")
此外,模式不适用于文本值 - 仅适用于数字 - 您可能想改用 countif。
要获得总计 table,请使用此公式:
=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")
要获取众数,请将第一个公式放在 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 ) ) )