Попробуйте, это функция регулярного выражения для Excel:
Private Function RegularExpression(SearchString As String, Pattern As String) As String
Dim RE As Object, REMatches As Object
'Create the regex object'
Set RE = CreateObject("vbscript.regexp")
With RE
.MultiLine = False
.Global = False
.IgnoreCase = True
'set the search pattern using parameter Pattern'
.Pattern = Pattern
End With
'Search for the pattern'
Set REMatches = RE.Execute(SearchString)
If REMatches.Count > 0 Then
'return the first match'
RegularExpression = REMatches(0)
Else
'nothing found, return empty string'
RegularExpression = ""
End If
End Function
Вы можете просто сделать его публичным и использовать его вот так
=RegularExpression(A2,"[0-9]{6}")
Это вывело бы первые 6 цифр последовательности в ячейке A2
Примечание: это более старая функция, поэтому вам, возможно, придется немного поиграться, но все должно быть в порядке