Как обрезать буквы / символы с конца записи в ячейке

У меня есть записи в ячейках, как это:

75864543&m
2211842
1523674&mr
3452435tr

Ячейки имеют различное количество числовых значений, а некоторые имеют символы / буквы в конце. Я хочу обрезать все, кроме числовых значений, но застрял из-за разной длины числовых значений.

У кого-нибудь есть обходной путь?

2 ответа

Решение

Предполагая, что от 1 до 9 цифр в начале данных (отрегулируйте по мере необходимости), вы можете использовать эту формулу

=LOOKUP(10^10,LEFT(A1,{1,2,3,4,5,6,7,8,9})+0)

Попробуйте следующую пользовательскую функцию:

Public Function ReturnNumerals(rng As Range) As String
    Dim sStr As String, i As Long, sStr1 As String
    Dim sChar As String
      sStr = rng.Value
      For i = 1 To Len(sStr)
        sChar = Mid(sStr, i, 1)
        If sChar Like "[0-9]" Then
          sStr1 = sStr1 & sChar
        End If
      Next
    ReturnNumerals = sStr1
End Function

РЕДАКТИРОВАНИЕ № 1:

Если вы "макрофобны" или VBA исключена по другим причинам, попробуйте следующую формулу массива:

= MID (SUMPRODUCT (- MID("01"&A1, МАЛЫЙ ((СТРОКА ($1:$300)-1)* ЕЧИСЛО (-Mid ("01" & A1, СТРОКА ($ 1: $ 300), 1)), СТРОКА ($ 1: $ 300)) + 1,1), 10 ^ (300-СТРОКА ($ 1: $ 300))), 2300)

Формулы массива должны вводиться с помощью CNTRL-SHFT-ENTER, а не только клавишей ENTER!

Например, если A1 содержит:

a123wer98bg5

уродливая формула массива вернет:

123985

Другие вопросы по тегам