简体   繁体   English

使用 Google 表格公式进行正则表达式替换和拆分

[英]Regex replace and split using Google SHeets formula

I have a sheet where I need to split the numbers and text on single cell to 2 columns我有一张表,我需要将单个单元格上的数字和文本拆分为 2 列

https://docs.google.com/spreadsheets/d/1ZaQmWCx2PH6Fhn3RVW9PKpnTv0ML9zAHWzmk3789b04/copy https://docs.google.com/spreadsheets/d/1ZaQmWCx2PH6Fhn3RVW9PKpnTv0ML9zAHWzmk3789b04/copy

Please note the data is in single cell and I need to split in 2 columns as shown in the image请注意数据在单个单元格中,我需要分成 2 列,如图所示

在此处输入图像描述

The expected outout is预期的输出是

在此处输入图像描述

I have tried with =REGEXREPLACE(A796,"[0-9]","")我试过=REGEXREPLACE(A796,"[0-9]","")

You may use 2 formula in 2 different cells for this:为此,您可以在 2 个不同的单元格中使用 2 个公式:

Formula #1:公式1:

=REGEXREPLACE(A4,"[[:blank:]].*","")

This finds first space and removes everything after that so that we have only starting numbers left in the result.这会找到第一个空格并删除之后的所有内容,以便我们在结果中只剩下起始数字。

Formula #1:公式1:

=REGEXREPLACE(A4,"[0-9]+[[:blank:]]+","")

This matches starting 1+ digits followed by 1+ whitespace and removes it so that we only have text after starting numbers.这匹配起始 1+ 数字后跟 1+ 空格并将其删除,以便我们在起始数字之后只有文本。

Sheet Demo 工作表演示

在此处输入图像描述

You can also try- B2你也可以试试B2

=TEXTJOIN(CHAR(10),False,INDEX(ArrayFormula(SPLIT(SUBSTITUTE(TRANSPOSE(SPLIT(A2,CHAR(10)))," ","@",1),"@")),,1))

C2=

=TEXTJOIN(CHAR(10),False,INDEX(ArrayFormula(SPLIT(SUBSTITUTE(TRANSPOSE(SPLIT(A2,CHAR(10)))," ","@",1),"@")),,2))

在此处输入图像描述

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM