如何从单元格中提取14位数字?

时间:2017-03-16 15:05:06

标签: excel-formula

我对下面的单元格数据有疑问,其中我在单个单元格中有不同的信息:

“237 2002 45990181000189 ROBERT BOSCH L”

我只需要提取相邻单元格中的14位数字。

有人可以给我一个公式来提取这些信息吗?

如果可能,有人可以给我一个“if”条件,因为数字的数量可能会有所不同,有时候会有14个。

提前感谢你! 协噶尔

4 个答案:

答案 0 :(得分:2)

您可以使用text to columns空格作为分隔符。

您可以使用此公式,但excel单元格不会保留超过特定值的值,请检查此link

此公式将为18位数字提供最佳结果。

=SUMPRODUCT(MID(0&A1,LARGE(INDEX(ISNUMBER(--MID(A1,ROW($1:$25),1))*ROW($1:$25),0),ROW($1:$25))+1,1)*10^ROW($1:$25)/10)

答案 1 :(得分:1)

您无需使用公式来执行此操作。尝试选择包含这些单元格的列,然后转到data菜单,然后点击Text to Columns。当对话窗口出现时,按delimited,然后按下一步,然后勾选Space,然后按nextfinish

这会将您的单元格拆分为单独的组件。

答案 2 :(得分:0)

这是一个数组公式:

=CONCAT(IF(ISNUMBER(--TRIM(MID(SUBSTITUTE(A1," ",REPT(" ",999)),999*( ROW(INDIRECT("1:"&LEN(A1)-LEN(SUBSTITUTE(A1," ",""))+1))-1)+1,999))),IF(LEN(TRIM(MID(SUBSTITUTE(A1," ",REPT(" ",999)),999*( ROW(INDIRECT("1:"&LEN(A1)-LEN(SUBSTITUTE(A1," ",""))+1))-1)+1,999)))=14,TRIM(MID(SUBSTITUTE(A1," ",REPT(" ",999)),999*( ROW(INDIRECT("1:"&LEN(A1)-LEN(SUBSTITUTE(A1," ",""))+1))-1)+1,999)),""),""))

作为数组公式,必须在退出编辑模式时使用Ctrl-Shift-Enter而不是Enter确认。如果操作正确,那么Excel会将{}放在公式周围。

您必须拥有Office 365 Excel才能使用它。

您可以将公式中的14更改为您想要的任意数字长度。

enter image description here

答案 3 :(得分:0)

您可以使用以下内容:

=MID(R75,FIND(" ",R75,FIND(" ",R75,1)+1),FIND(" ",R75,FIND(" ",R75,FIND(" ",R75,FIND(" ",R75,FIND(" ",R75,1)+1)+FIND(" ",R75,1))))-(FIND(" ",R75,FIND(" ",R75,FIND(" ",R75,1)+1))))

这假设该值在单元格R75中。显然,您必须将其更新到数据所在的位置。

这个公式正在寻找" "(空格)。从第二个空格开始,使用第3个空格的长度减去第2个空格,取出单元格R75的mid。在上述示例的情况下,它最终为mid(R75,9,(24-9))mid(R75,9,15)