从字符串中提取具有特定位数的数字

时间:2020-07-30 12:24:10

标签: excel excel-formula office365

与Excel(Office365)有关的问题:

我正在寻找一种解决方案,该解决方案将从字符串中提取一个长度为4位数字的数字。

我所指的字符串类型的几个例子是:

“ 16016KT 9999 SCT030”

“ PROB30 0500 FG BKN001”

“ MOD TURB BLW 5000FT TILL302300”

“ INTER 6000 SHRA SCT015”

在以上每个字符串中,都有字母和数字的组合,它们的长度各不相同,没有固定的模式。 我感兴趣的字符序列是4位数字(在 BOLD 中)。不,5000英尺中的5000英尺。

我要评估的所有字符串的4位数字序列都是唯一的。

谢谢!

4 个答案:

答案 0 :(得分:3)

您可以使用:

=IFERROR(TEXT(FILTERXML("<t><s>"&SUBSTITUTE(A1," ","</s><s>")&"</s></t>","//s[.*0=0][string-length()=4]"),"0000"),"Non found")

enter image description here

答案 1 :(得分:2)

在更新的Excel版本中,您可以尝试:

=RegexpFind(A1, "\b[0-9]{4}\b", 0)

See here,了解如何在Excel中激活正则表达式支持。

答案 2 :(得分:1)

另一种解决方案:

=IFERROR(TEXT(UNIQUE(SEQUENCE(9999)/(FIND(" " & TEXT(SEQUENCE(9999),"0000") &" ",A2)>0),,1),"0000"),"")

enter image description here

答案 3 :(得分:0)

另一个选择

B1中,公式向下复制:

=IFERROR(TEXT(0+MID(A1,SEARCH(" ???? ",A1)+1,4),"0000"),"not found")

enter image description here