如何在excel中删除字母数字文本的前导零
Excel中的一个单元格列如下所示:如何在excel中删除字母数字文本的前导零,excel,vba,excel-formula,Excel,Vba,Excel Formula,Excel中的一个单元格列如下所示: 00071331 000062KV 00008M01 00009R22 001N5350 12345678 00123456 71331 62KV 8M01 9R22 1N5350 12345678 123456 我想删除所有前导零。输出应如下所示: 00071331 000062KV 00008M01 00009R22 001N5350 12345678 00123456 71331 62KV 8M01 9R22 1N
00071331
000062KV
00008M01
00009R22
001N5350
12345678
00123456
71331
62KV
8M01
9R22
1N5350
12345678
123456
我想删除所有前导零。输出应如下所示:
00071331
000062KV
00008M01
00009R22
001N5350
12345678
00123456
71331
62KV
8M01
9R22
1N5350
12345678
123456
我曾尝试在excel中使用Flash fill,但它没有选择模式。使用MID,聚合:
=MID(A1,AGGREGATE(15,7,ROW($1:$8)/(MID(A1,ROW($1:$8),1)<>"0"),1),8)
=MID(A1,合计(15,7,世界其他地区($1:$8)/(MID(A1,世界其他地区($1:$8),1)“0”),1),8)
因为您标记了VBA,请尝试:
这将执行“就地”转换,而不需要“助手列”。与@Gary的学生相同,但有一些小的变化:不使用列a,而是使用当前选择;在0000形式的字符串中,并不是所有的零都被删除,而是只删除前导的一个,以此类推
Sub NoZeroAnywhere()
Dim r As Range, v As String
Rem Work with all selected cells
If TypeName(Selection) <> "Range" Then Exit Sub
For Each r In Selection.Cells
v = r.Text
If v <> "" Then ' Don't break loop on empty cell
Rem Condition Len(v)>1 prevent remove all zeros, 0000 will be 0, not empty string
While Len(v) > 1 And Left(v, 1) = "0"
v = Right(v, Len(v) - 1)
Wend
r.Value = v
End If
Next r
End Sub
Sub-nozeroawhere()
变暗r为范围,v为字符串
Rem使用所有选定的单元格
如果TypeName(选择)“Range”,则退出Sub
对于选择单元格中的每个r
v=r.文本
如果v为“”,则不要在空单元格上断开循环
Rem条件Len(v)>1防止删除所有零,0000将为0,而不是空字符串
而Len(v)>1和Left(v,1)=“0”
v=右(v,透镜(v)-1)
温德
r、 值=v
如果结束
下一个r
端接头
我认为在您的情况下,您可以使用:
=MID(A1,FIND(LEFT(SUBSTITUTE(A1,"0",""),1),A1),8)
或类似以下的数组公式:
=MID(A1,MATCH(TRUE,MID(A1,ROW($1:$8),1)<>"0",0),8)
=MID(A1,匹配(TRUE,MID(A1,行($1:$8),1)“0”,0),8)
或者,如果不想将其作为数组公式输入:
=MID(A1,MATCH(TRUE,INDEX(MID(A1,ROW($1:$8),1)<>"0",),0),8)
=MID(A1,匹配(TRUE,索引(MID(A1,行($1:$8),1)“0”,0),8)
您也可以使用正则表达式作为自定义项执行:
Function RemoveLeadingZeroes(stringOne As String) As String
Dim regexOne As Object
Set regexOne = New RegExp
regexOne.Pattern = "^0*"
RemoveLeadingZeroes = regexOne.Replace(stringOne, "")
End Function
注意:必须在VBA编辑器中启用工具>引用>Microsoft VBScript正则表达式