如何从混合Excel单元格中提取带前导零的数字?

如何从混合Excel单元格中提取带前导零的数字?,excel,excel-formula,Excel,Excel Formula,我需要从混合单元格中提取带前导零的数字 示例单元格A1内容: A1: 0012 SomeText 我只需要B1单元格中带前导零的数字: B1: 0012 如果我将公式=TEXT(左(A1;FIND(““A1”);“@”)放在格式为General的单元格中,我只会得到不带前导零的数字12 如果我将公式放在格式为文本的单元格中,公式不起作用,它会显示公式文本。假设您的文本是####[space]xxxx,您可以使用LEFT()和SEARCH()来提取数字: 假设您的文本是####[space]x

我需要从混合单元格中提取带前导零的数字

示例单元格A1内容:

A1: 0012 SomeText
我只需要B1单元格中带前导零的数字:

B1: 0012
如果我将公式
=TEXT(左(A1;FIND(““A1”);“@”)
放在格式为General的单元格中,我只会得到不带前导零的数字
12


如果我将公式放在格式为文本的单元格中,公式不起作用,它会显示公式文本。

假设您的文本是
####[space]xxxx
,您可以使用
LEFT()
SEARCH()
来提取数字:


假设您的文本是
####[space]xxxx
,您可以使用
LEFT()
SEARCH()
提取数字:

OP的方法 逗号版本 以前的版本提出了一个问题:尾随空间在哪里丢失了

VBA版本 e、 g.
=LZERO(A1)

OP的方法 逗号版本 以前的版本提出了一个问题:尾随空间在哪里丢失了

VBA版本
e、 g.
=LZERO(A1)

是否总是有四位数字?如果是这样,请将
“@”
替换为
“0000”
,或者只使用
=LEFT(A1,FIND(“,A1)-1)
TEXT()
将数字转换为字符串,以便除去前导零,除非您使用的格式包含前导零,甚至可能没有您想要的前导零数。请改用字符串处理函数。数字字符的数量从0到000001不等。是否始终有四位数字?如果是这样,请将
“@”
替换为
“0000”
,或者只使用
=LEFT(A1,FIND(“,A1)-1)
TEXT()
将数字转换为字符串,以便除去前导零,除非您使用的格式包含前导零,甚至可能没有您想要的前导零数。改为使用字符串处理函数。数字字符的数量从0到000001不等,因为它是一个空格,所以FIND也可以使用。问题出在文本上。TRIM在这种情况下到底做了什么?@vbasic208没什么,我只是有一个习惯,在尝试获取字符串的特定部分时使用它。在本例中,我相信
-1
有效地删除了尾随空格。很好。我一直在使用VBA Split进行此操作。很抱歉打扰您。@VBASIC208一点也不麻烦!既然它是一个空间,那么FIND也会起作用。问题出在文本上。TRIM在这种情况下到底做了什么?@vbasic208没什么,我只是有一个习惯,在尝试获取字符串的特定部分时使用它。在本例中,我相信
-1
有效地删除了尾随空格。很好。我一直在使用VBA Split进行此操作。很抱歉打扰您。@VBASIC208一点也不麻烦!
=TRIM(LEFT(A1;SEARCH(" ";A1)-1))
=TEXT(LEFT(A1;FIND(" ";A1));REPT("0";FIND(" ";A1)-2)&"#")
=TEXT(LEFT(A1,FIND(" ",A1)),REPT("0",FIND(" ",A1)-2)&"#")
Function LZERO(ZeroString As String) As String
    LZERO = Split(ZeroString)(0)
End Function