我有这样的excel单元格输入:
Line 644: 6
或
Line 1004:
我唯一需要的是“:” 旁边的数字,因此在上述情况下,我需要
644和1004。所有单元格的格式都设置为“常规”,是否有一种快速的方法来删除其他不需要的字符,而仅提取所需的数字?
我在上面的第一个示例中尝试使用= LEFT(Q2,4),但这给了我一个错误“您输入的公式包含错误”
答案 0 :(得分:0)
怎么样:
=MID(MID(A1,1,FIND(":",A1)-1),FIND(" ",MID(A1,1,FIND(":",A1)-1))+1,9999)
更可靠的是:
Public Function GetNumber(r As Range) As Variant
Dim arr, L As Long, i As Long, CH As String, temp As String
GetNumber = ""
arr = Split(r.Value, ":")
L = Len(arr(0))
CH = ""
temp = ""
For i = L To 1 Step -1
CH = Mid(arr(0), i, 1)
If CH Like "[0-9]" Then
temp = CH & temp
Else
GetNumber = temp
Exit Function
End If
Next i
GetNumber = temp
End Function
因为此UDF()不依赖数字前的单个空格。
顺便说一句:
如果公式类似:
=LEFT(Q2,4)
不起作用,下一次尝试:
=LEFT(Q2;4)
相反。
答案 1 :(得分:0)
(到目前为止)略短于其他公式提供的值,同时还将结果转换为数字格式:
=1*MID(LEFT(A1,FIND(":",A1)-1),6,LEN(A1))