5

У меня есть один столбец, который выглядит так:

      A
1 om2222prakash
2 kumar83566
3 222gsrana
4 k4566hhhh23

Как я могу узнать только числовые данные в A1, A2, A3 и A4? Я использую Microsoft Excel 2007 и хотел бы, чтобы результат выглядел так:

      A
1 2222
2 83566
3 222
4 456623

4 ответа4

3

Хорошо, откройте VBE (редактор Visual Basic) с помощью ALT+F11. В VBA Project Explorer щелкните правой кнопкой мыши и добавьте Module.

Скопируйте и вставьте приведенный ниже код и нажмите F5, чтобы запустить макрос.

Option Explicit

Sub GetNumbers()

    Dim uColumn As String

    ' if your data is in a different column then change A to some other letter(s)
    uColumn = "A"

    Dim i As Long, j As Long, r As Range
    For i = 1 To Range(uColumn & Rows.Count).End(xlUp).Row
        Set r = Range(uColumn & i)
        Dim tmpStr As String
        tmpStr = vbNullString
        For j = 1 To Len(r)
            If IsNumeric(Right(Left(r, j), 1)) Then tmpStr = tmpStr & Right(Left(r, j), 1)
        Next j
        r.NumberFormat = "@"
        r = tmpStr
    Next i

End Sub

Есть переменная с именем uColumn. Она имеет в настоящее время назначена в качестве столбца. Если ваши данные находятся в другом столбце, измените их с буквы A на буквы

Надеюсь это поможет

3

Вот формула, которая должна работать.

=1*MID(A1,MATCH(TRUE,ISNUMBER(1*MID(A1,ROW($1:$9),1)),0),COUNT(1*MID(A1,ROW($1:$9),1)))

Ссылка в ROW() должна быть изменена, чтобы включить все строки данных, которые вы хотели бы рассмотреть (в формуле упоминается дважды). Так, например, если ваша последняя строка данных равна 200, она будет читать ROW($ 1:$ 2000).

Если ваши буквенно-цифровые данные находятся в A1 поместите эту формулу в B1 и нажмите Shift + Enter (это формула массива).
Для этого будут взяты только цифры из A1 и помещены их в B1. Перетащите угол B1 вниз к нижней части ваших данных, чтобы автоматически заполнить оставшиеся данные.

Вы должны увидеть свои буквенно-цифровые данные в столбце A и только цифры из этих данных в столбце B, что позволит вам делать с ними все, что вы пожелаете.

1

Следуя логике замены, вы должны использовать следующее для удаления букв и символов. Если я что-то пропустил, все, что вам нужно, это быстрая модификация по той же схеме.

Вам нужно будет изменить начальную ячейку (это A2 в приведенном ниже примере).

=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(UPPER(A2),"A",),"B",),"C",),"D",),"E",),"F",),"G",),"H",),"I",),"J",),"K",),"L",),"M",),"N",),"O",),"P",),"Q",),"R",),"S",),"T",),"U",),"V",),"W",),"X",),"Y",),"Z",)," ",),".",),"(",),")",),"-",),"+",),"=",),"!",),"@",),"#",),"$",),"%",),"^",),"&",),"*",),"_",),"[",),"]",),"{",),"}",),"\",),"|",),":",),";",),"""",),"<",),">",),",",),"?",)

1
=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(AR81,"0",""),"1",""),"2",""),"3",""),"4",""),"5",""),"6",""),"7",""),"8",""),"9","")

Заменяет указанные символы в строке альтернативными символами. В примере числовые символы заменены пробелами, они должны работать с другими вещами, такими как специальные символы.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .