a1:"近16场,胜5平3负8, 胜率:31.3% 赢盤率:46.2% 大球(>2.5):33% 单率:50%",现希望在a2~a9分别提取16、5、3、8、31.3%、46.2%、33%、50%,其中各数值长度不一致
这么个性化的问题似乎只能用VBA编辑自定义函数了。
可以用下面的自定义函数求出字符串中的第n个数值:
'找出字符串中的第N个数值
Function GetNum(srcTxt$, n%)
Dim stt%, nn%, i%
stt = 1: i = 1
Do While i < Len(srcTxt)
If IsNumeric(Mid(srcTxt, i, 1)) Then
Do
i = i + 1
If i > Len(srcTxt) Then Exit Do
Loop While IsNumeric(Mid(srcTxt, stt, i - stt + 1))
nn = nn + 1
If nn = n Then
GetNum = Val(Mid(srcTxt, stt, i - stt))
If Mid(srcTxt, i, 1) = "%" Then GetNum = GetNum / 100
Exit Function
End If
Else
i = i + 1
End If
stt = i
Loop
GetNum = ""
End Function