问题描述
在与其他订单项进行相同操作之前,请先尝试对其进行拆分和转置。
我正在尝试像这样进行分割和转置操作
=transpose(split(c2,","))
但是,这一次仅适用于一个订单项。
这是数据的样子以及我想要的结果。
解决方法
您可以在第一行中尝试此操作,它将为您提供两列
={
ARRAYFORMULA(TRIM(TRANSPOSE(SPLIT(JOIN("º",REPT(A:A&"º",IF(ISBLANK(B:B),"",LEN(B:B)-LEN(REGEXREPLACE(B:B,",""))+1))),"º")))),ARRAYFORMULA(TRIM(TRANSPOSE(SPLIT(JOIN(",B:B)),"))))
}
它解析一些空白逗号值和一些空值。
它的基本作用是:
- 第一列:
检查逗号在第二列中的次数,并获取该数字。然后,使用分隔符(在本例中为分隔符
º
)将左列重复的次数加起来,如下所示:tvºtvºtv
,然后拆分并转置以垂直显示。 - 第二列:
check只是检查逗号之间是什么,然后使用相同类型的字符串连接对其进行转置,这次的分隔符是逗号
,
注意:如果第二列的后跟两个逗号,则不起作用,例如以下语法:something,something
这将为您提供所有国家/地区的数据:
=transpose(split(join(",C2:C),"))
在表格中有一种相对较新的方法来解决这些问题。尝试搜索“使用FLATTEN()取消数据透视”。我本人和其他在Google产品论坛中的志愿者发现,在Google表格的后端隐藏了一个新功能,事实证明,不变的数据是最有用的应用程序。如果您希望适用于特定数据集的公式,则可以考虑共享一个样本表,在其中可以正确演示该概念。