繁体   English   中英

如何消除以文本开头并包含文本和数字的单元格中的前导零

[英]How to eliminate leading zeroes in a cell that begins with text and has text and numbers

在 excel 列中,我有一个包含MATH 0128的单元格和另一个包含MATH 0015的单元格。 我想要一个公式或函数,将单元格从MATH 0128更改为MATH 128并将MATH 0015更改为MATH 15

我发现

=MID(A2,MATCH(TRUE,(MID(A2,ROW(INDIRECT("1:"&LEN(A2))),1)<>"0"),0),LEN(A2)) 

对于单元格 A2,但这似乎仅在单元格以 0 开头000Math0128有效,例如000Math0128Math 0128

我所有的单元格都以文本开头。

假设这些字符串的共同特征是前导词和数字部分之间有空格,并且数字部分后面没有其他字符:

=LEFT(A2,FIND(" ",A2))&VALUE(MID(A2,FIND(" ",A2)+1,9999))

或者,更一般地,对于支持FilterXML的 Excel 版本

=TEXTJOIN(" ",TRUE,FILTERXML("<a><b>"&SUBSTITUTE(A2," ","</b><b>")&"</b></a>","//b"))

这将处理一串空格分隔的 AlphaNumeric 和 Numeric 组件,从数字组件中删除前导0 (您可以用您选择的任何其他分隔符替换空格分隔符)

一些例子

在此处输入图片说明

根据您的示例,这就是您需要的:

=SUBSTITUTE(SUBSTITUTE(A1," 0"," ")," 0"," ")

您还有其他选择,例如在 VBA 中循环(使用 REPLACE 而不是 SUBSTITUTE)。

如果您想为上述公式添加更多选项,只需将其包装在更多 SUBSTITUTE 中即可。

=SUBSTITUTE(," 0"," ")
=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A1," 0"," ")," 0"," ")," 0"," ")

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM