Excel - 查找字符串中不为0的第一个字符

时间:2016-05-27 21:16:08

标签: excel

我的单元格A1中会有一个字符串,例如02020.我需要一个公式来检查这个字符串并返回第一个不等于0的字符的值。所以在上面的例子中它应该返回2。

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

唯一重要的问题是前导零可能是字符串中的第一个字符,或者它可能只是使用前导零格式化数值的结果。解决方案应涵盖两种情况。

考虑这个用户定义的功能:

Public Function DropTheZeros(r As Range) As Variant
    Dim s As String, i As Long

    s = r(1).Text
    For i = 1 To Len(s)
        DropTheZeros = Mid(s, i, 1)
        If DropTheZeros <> "0" Then Exit Function
    Next i
    DropTheZeros = ""
End Function

enter image description here

即使前导零是格式化的手段,这也应该有用。

甚至:

Public Function DropTheZeros2(r As Range) As Variant
    DropTheZeros2 = Left(Replace(r(1).Text, "0", ""), 1)
End Function

甚至没有VBA:

=LEFT(SUBSTITUTE(TEXT(A1,"@"),"0",""),1)