Как извлечь часть чисел c содержимого ячейки в Excel? - PullRequest
2 голосов
/ 05 апреля 2020

Я работаю с другим набором данных и хотел бы извлечь только часть чисел c из листа Excel. Как я могу сделать, чтобы извлечь только часть цифры c, пожалуйста?

Например:

  • "A51sd5dd5 $ 1" Мне просто нужно 51551
  • "Bd203m01, 02 "Мне просто нужно 2030102

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

Ответы [ 2 ]

2 голосов
/ 05 апреля 2020

Добро пожаловать на форум! Я думаю, что это та функция, которая вам нужна. Я проверил ваши примеры, и они дают правильное значение в цифрах c, конечно.

Вот функция:

Function GetNumeric(CellRef As String)
Dim StringLength As Integer
StringLength = Len(CellRef) 'This is the Length of the CellRef entry

Dim n As Long
Dim sResult As String   'Store in a result variable the numeric characters

For n = 1 To StringLength
    'iterate through each character and test if it is numeric
    If IsNumeric(Mid(CellRef, n, 1)) Then sResult = sResult & Mid(CellRef, n, 1)
Next n

'Return your value
GetNumeric = sResult
End Function

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

1 голос
/ 06 апреля 2020

Если у вас есть функции Office 365 и TEXTJOIN, то вы можете использовать следующую формулу, если ваши данные находятся в ячейке A1.

=TEXTJOIN("",TRUE,IFERROR(MID(A1,ROW($A$1:INDEX(A:A,LEN(A1))),1)+0,""))

РЕДАКТИРОВАТЬ:

Ниже приведена формула, которую можно использовать для версий Excel после 2007 года. Если у вас старше, чем 2007, то IFERROR деталь должна быть переработана.

=NPV(-0.9,IFERROR(MID(A1,(LEN(A1)+1)-ROW($A$1:INDEX(A:A,LEN(A1))),1)*0.1,""))

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...