返回列表 上一主題 發帖

[發問] 提取字串內數字比大小

回復 6# hcm19522

R312-1°  --- 這種的最後一節有可能誤判!!!...12-1是日期

TOP

資料太少, 無法多驗證:
=CHOOSE((-LOOKUP(,-RIGHT(TEXT(,"[$"&B2&"]"),{1,2,3,4}))<=390)*SUM(N(-LOOKUP(1,-RIGHT(LEFT(B2,LEN(B2)-1),{1,2,3,4}))<={90,180}))+1,"",2,1)

TOP

Sub TEST_a1()
Dim Arr, i&, j%, TR, V1, V2
Arr = Range([b1], [b65536].End(xlUp))
For i = 2 To UBound(Arr)
    TR = Split(Arr(i, 1), "-"): Arr(i - 1, 1) = "": V = ""
    If UBound(TR) < 1 Then GoTo i01
    For j = 1 To Len(TR(0))
        If Mid(TR(0), j, 1) Like "#" Then V1 = Val(Mid(TR(0), j)): Exit For
    Next j
    If V1 = "" Or V1 > 390 Then GoTo i01
    V2 = Val(TR(UBound(TR)))
    Arr(i - 1, 1) = IIf(V2 > 180, "", IIf(V2 > 90, 2, 1))
i01: Next i
[c2].Resize(UBound(Arr) - 1) = Arr
End Sub

TOP

回復 12# samwang

MSGBOX "1" LIKE "#"
MSGBOX "1" LIKE "[0-9]"
MSGBOX "123" LIKE "###"  '三個數字. 一個#為一個數字

MsgBox "A" Like "[A-Z]"  '大寫
MsgBox "a" Like "[a-z]"  '小寫
MsgBox "x" Like "[A-z]"  '大小寫

MsgBox "7" Like "[0-9A-Z-/+]"  '數字_英大寫_符號-/+

部份與正則用法類似, 但我對正則不熟, 只能就所知玩玩~~

TOP

回復 14# samwang


中文...沒多去測試--特殊字/簡體/日本中文--會不會有判錯,
所以不太敢用~~

TOP

        靜思自在 : 站在半路,比走到目標更辛苦。
返回列表 上一主題