如何从单元格内的字符串中提取文本和数字?

如何从单元格内的字符串中提取文本和数字?

我打算提取单元格内符合空格规则的矩阵范围内的文本和数字,例如:{OPL;" "; SKY;" "; FORD} 和 {909;" "; 01245},有没有办法通过公式获得此结果?或者,如果您真的没有公式,是否有任何 VBA 代码可以执行此操作?在此处输入图片描述

答案1

您可以对文本元素使用以下公式:

=SUBSTITUTE(TRIM(TEXTJOIN("",TRUE,IF(ISERROR(VALUE(MID(A41,SEQUENCE(1,500),1))),MID(A41,SEQUENCE(1,500),1)," ")))," ",";"" "";")

对于数值元素,公式如下:

=SUBSTITUTE(TRIM(TEXTJOIN("",TRUE,IFERROR(VALUE(MID(A41,SEQUENCE(1,500),1))," ")))," ",";"" "";")

这些将返回与图片中所示完全相同的形式。如果您确实希望在元素之间有空格时; ;不出现;" ";,请将每个公式的结尾从“;”“ “”;”)“;;”)

如果您有大量单元格需要测试,并且您可以相当确定最长的字符数,则可以减小该SEQUENCE()值。或者...如果需要,将其增大。

或者您可以巧妙地注意,它将使用单元格值或公式作为其参数/参数。如果是这样,您可以将“500”更改为LEN(A1)(更改“A1”以适合公式的目标,然后复制和粘贴或填充以使公式根据正在检查的每个其他单元格的需要进行更改。

相关内容