Se a sua sequência de dígitos for sempre o primeiro conjunto de dígitos da sua string, você poderá usar a seguinte fórmula. É uma fórmula de matriz inserida ao segurar ctrl+shift
ao atingir enter
:
=MAX(IFERROR(--MID(A1,MIN(FIND({0,1,2,3,4,5,6,7,8,9},A1&"0123456789")),{7,8,9,10}),0))
Se houver substrings de dígitos menores ou mais longas antes do que você deseja extrair, use o UDF abaixo. Ele faz uso de expressões regulares para encontrar a primeira cadeia de dígitos com exatamente 7 a 10 dígitos. Como está retornando uma string, ela deve reter qualquer zero inicial.
Use em uma fórmula como:
=FirstDigits(A1)
Copie o código abaixo em um módulo normal:
Option Explicit
Function FirstDigits(S As String) As String
Dim RE As Object, MC As Object
Const sPat As String = "\b\d{7,10}\b"
Set RE = CreateObject("vbscript.regexp")
With RE
.Global = True
.Pattern = sPat
If .test(S) Then
Set MC = RE.Execute(S)
FirstDigits = MC(0)
Else
FirstDigits = "No digit string 7-10 digits long"
End If
End With
End Function