寻找一些建议来调整/增强我创建的公式,从字符串中提取数字。
在单元格A1中包含以下示例文本:
基于invnum:-1234567计算基于123.33 * 3.00
在B1
中写下以下公式=VALUE(LEFT(MID(A1,FIND("invnum:-",A1)+7,LEN((A1))),7)
给出的结果是-1234567
但是,源文件中引用号的长度是可变的,只想提取单词invnum后面的数字: -
想要在宏中包含这个公式,那么试着让任何想法/建议保持简单吗?
答案 0 :(得分:0)
尝试此功能:
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))
答案 1 :(得分:0)