我对下面的单元格数据有疑问,其中我在单个单元格中有不同的信息:
“237 2002 45990181000189 ROBERT BOSCH L”
我只需要提取相邻单元格中的14位数字。
有人可以给我一个公式来提取这些信息吗?
如果可能,有人可以给我一个“if”条件,因为数字的数量可能会有所不同,有时候会有14个。
提前感谢你! 协噶尔P>
答案 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
,然后按next
和finish
。
这会将您的单元格拆分为单独的组件。
答案 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
更改为您想要的任意数字长度。
答案 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)