簡體   English   中英

Excel - 在字符串中查找第一個不為 0 的字符

[英]Excel - Finding first character that is not 0 in a string

我的單元格 A1 中將有一個字符串,例如 02020。我需要一個公式來檢查此字符串並返回不等於 0 的第一個字符的值。因此在上面的示例中,它應該返回 2。

謝謝你的幫助。

唯一重要的問題是前導零可能是字符串中的第一個字符,或者它可能只是用前導零格式化數值的結果。 解決方案應涵蓋這兩種情況。

考慮這個用戶定義的函數:

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

在此處輸入圖片說明

即使前導零是格式化的技巧,這也應該有效。

甚至:

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)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM