Как вытащить из строки только цифры в Excel
Недавно мы рассмотрели как можно вернуть из строки только буквы, исключив цифры. Теперь же мы рассмотрим обратную ситуацию, когда из строки нам необходимо вернуть только цифры, исключив текстовую информацию.
Задача все та же – у нас есть столбец с данными (и текс и цифры) и нам требуется разбить отдельно текст и отдельно цифры. Как мы писали выше с текстом мы уже разобрались, осталось вытащить цифры.
Встроенной функции для этих целей в Excel так же нет, поэтому мы будем писать пользовательскую.
Public Function GetNumbers(TargetCell As Range) As String Dim LenStr As Long For LenStr = 1 To Len(TargetCell) Select Case Asc(Mid(TargetCell, LenStr, 1)) Case 48 To 57 GetNumbers = GetNumbers & Mid(TargetCell, LenStr, 1) End Select Next End Function
Как пользоваться?
Открываем редактор VBA в Excel (Alt+F11), или правой кнопкой по листу и выбираем пункт “Исходный текст”.
Создаем новый модуль → Insert → Module
Переключаемся на российскую раскладку клавиатуры, копируем код, указанный выше и вставляем в модуль
Далее в нужной ячейке, где необходимо вывести только буквы, прописываем формулу:
=GetNumbers(A1)
и протягиваем ее вниз
Далее в нужной ячейке, где необходимо вывести только БУКВЫ, прописываем формулу:
может цифры?
Вложение
Интересное и полезное решение, только нет возможности воспользоваться. VBA пишет, о синтаксической ошибке в фразе
GetNumbers = GetNumbers & Mid(TargetCell, LenStr, 1)
Фото прилагаю. Подскажите, что я делаю не правильно
Это проблемы отображения на сайте. Исправил код – пробуйте
Вложение
теперь в самом начале что-то нито
Подскажите пожалуйста как из ячейки такого вида – {{14698.3800000 | number}} извлечь 14698,38?
С помощью ПСТР https://sirexcel.ru/priemi-excel/funkcii/funkciya-pstr-v-excel-s-primerom-i-formuloj/
начальная позиция 3
кол-во знаков находим с помощью функции НАЙТИ (ищем первый пробел) https://sirexcel.ru/priemi-excel/funkcii/funkciya-najti-v-excel-s-primerom/