解析文本到单元格行谷歌应用程序

时间:2016-02-14 09:37:32

标签: regex parsing google-sheets

我有以下几行文字:

Fred    A135B246C3
Barney  A2B15C126
Wilma   A4C4
Betty   A6B3C5

基本上这就是“Fred”在单元格A1,A3,A5,B2,B4,B6和C3中的值。 Barney进入细胞A2,B1,B5,C1,C2和C6。威尔玛和贝蒂也是如此。

所以我尝试了以下功能并取得了一些成功:regex(),find(),query()等。 例如,=REGEXEXTRACT(F1,"A[0-9]*")为Fred产生A135。在我放置=REGEXEXTRACT(F1,"B[0-9]*")的下一个单元格中,移动一个单元格并继续。

然后产生:

screenshot of results.

然后我可以做另一个REGEXEXTRACT并得到:

screenshot of extended results

然后我做了一些过滤,最后得到你在图像1列A-C和第1到6行中看到的内容。

这似乎很多工作。有人可以建议另一种方法吗?

2 个答案:

答案 0 :(得分:1)

对于第一部分,我建议像

=split(REGEXREPLACE(A1,"([A-Z])",";$1"),";")

将转换" A135B246C3"进入" A135"," B246"和" C3"

你不能将第二部分与第一部分结合起来,而不会产生一个复杂的,难以调试的公式。

另一种选择是创建一个自定义功能(使用Google Apps脚本),它可以转换" A135B246C3"进入" A1,A3,A5,B2,B4,B6,C3和#34;,但自定义功能不在原始问题中。

答案 1 :(得分:1)

这是实现它的最简单方法

=split(REGEXreplace(T7279,"(\w\d+)",",$1"),",")