[英]Extract numbers within text VBA/Excel
尋找一些建議來調整/增強我創建的公式,以從字符串中提取數字。
在單元格A1中具有以下示例文本:
基於invnum:-1234567計算基於123.33 * 3.00
在B1中寫下以下公式
=VALUE(LEFT(MID(A1,FIND("invnum:-",A1)+7,LEN((A1))),7)
給出的結果是-1234567
但是,我的源文件上參考號的長度是可變的,希望僅提取單詞invnum之后的數字:-
希望在宏中包含此公式,因此,請嘗試簡化它,以便提出任何想法/建議?
試試這個功能:
Function findNumber(inPtStr As String) As Double
Dim strArr() As String
Dim i As Long
inPtStr = Replace(inPtStr, ":", " ")
strArr = Split(inPtStr)
For i = LBound(strArr) To UBound(strArr)
If IsNumeric(strArr(i)) Then
findNumber = --strArr(i)
Exit Function
End If
Next i
End Function
然后,您可以從常規子調用它。
如果您想要一個公式,則:
=--TRIM(MID(SUBSTITUTE(A1," ",REPT(" ",99)),FIND("invnum:",SUBSTITUTE(A1," ",REPT(" ",99)))+7,99))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.