Excel从单元格中提取特定编号

时间:2018-11-14 16:19:47

标签: excel format cell

我有这样的excel单元格输入:

Line 644: 6

Line 1004:

我唯一需要的是“:” 旁边的数字,因此在上述情况下,我需要

644和1004。所有单元格的格式都设置为“常规”,是否有一种快速的方法来删除其他不需要的字符,而仅提取所需的数字?

我在上面的第一个示例中尝试使用= LEFT(Q2,4),但这给了我一个错误“您输入的公式包含错误”

2 个答案:

答案 0 :(得分:0)

怎么样:

=MID(MID(A1,1,FIND(":",A1)-1),FIND(" ",MID(A1,1,FIND(":",A1)-1))+1,9999)

enter image description here

更可靠的是:

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))