Как удалить текст в Excel и оставить только цифры: пошаговая инструкция
Удаление текста в Excel, так, чтобы остались лишь цифры может быть полезно для извлечения числовых значений, а сделать это можно при помощи инструкции ниже.
Видеоинструкция

Особенности работы формулы
Ввести правильно формулу нужно заменив все элементы с H2 на нужную ячейку, например, A2.
Также формула удаляет данные лишь до 96 символов, для извлечения диапазона до, например, 300 нужно заменить все элементы на $1$300.
Подписывайтесь на наш канал в Яндекс.Дзен
Подписывайтесь на наш Telegram-канал
Подписывайтесь на наш Youtube-канал
Подписывайтесь на нашу группу ВКонтакте
Вам также будет интересно
Добавить комментарий Отменить ответ
(7 оценок, среднее: 3,86 из 5)
- Наши социальные сети


- CRM-системы (9)
- Excel (73)
- Google Ads (56)
- Google Data Studio (26)
- Google Optimize (2)
- Google Search Console (22)
- Google Аналитика (50)
- Google Менеджер Тегов (4)
- Google Мой бизнес (3)
- Opencart (33)
- SEO (94)
- SMM (25)
- WordPress (20)
- Yandex DataLens (3)
- Веб-аналитика (148)
- Визуализация данных (13)
- Домены (15)
- Кейсы (6)
- Контекстная реклама (113)
- Локальное SEO (8)
- Полезное (69)
- Сайтостроение (89)
- Таргетинг (31)
- Формулы (16)
- Яндекс.Вебмастер (56)
- Яндекс.Директ (66)
- Яндекс.Маркет (16)
- Яндекс.Метрика (43)
- Яндекс.Справочник (6)
- Ильхом Чакканбаев к записи Бесплатный VPS (VDS) от Oracle навсегда: как получить
- Ильхом Чакканбаев к записи Бесплатный VPS (VDS) от Oracle навсегда: как получить
- Ильхом Чакканбаев к записи Бесплатный VPS (VDS) от Oracle навсегда: как получить
- Юзер к записи Бесплатный VPS (VDS) от Oracle навсегда: как получить
- Юзер к записи Бесплатный VPS (VDS) от Oracle навсегда: как получить
- Обзор сервиса Gerwin.io: генерация контента при помощи ИИ
© 2023
Сео Пульс — блог об интернет-маркетингеКак удалить текст из ячейки в excel и оставить только цифры
Данная команда позволяет массово удалять из текст множества ячеек весь текст кроме чисел:

Чтобы воспользоваться данной командой выделите ячейки с текстом из которых вы хотите удалить текст и оставить числа, перейдите во вкладку «ЁXCEL» Главного меню, нажмите кнопку «Ячейки» и выберите команду «Оставить в ячейке только числа (удалить весь текст)»:

В выделенных ячейках останутся только числа.
Для отмены операции нажмите кнопку отмены:

Добавить комментарий
Комментарии
# Anna пппп 19.10.2023 14:17
Дай Бог тебе здоровья добрый человек .
# Александр123 04.10.2022 11:54
У меня нет вкладок — оставить только числа и оставить только текст
# Хвостов Сергей 04.10.2022 15:50Добрый день! В MS Excel нет такой команды. Данная команда находиться в бесплатной надстройке к MS Excel. Скачать ее можно тут: https://e-xcel.ru/index.php/joxcel/skachat-nadstrojku#download
# DE 01.02.2022 00:55
# Юрий2 27.08.2020 10:43
При попытке использовать функцию пишет Compile eror- Cant find project or library
# Хвостов Сергей 31.08.2020 00:00Добрый день! У Вас не установлена библиотека регулярных выражений RegExp. Скачайте, установите и все заработает.
# Guest 14.05.2020 13:42
У меня нет такой вкладки Ексель
# Хвостов Сергей 14.05.2020 15:08Добрый день! В MS Excel нет такой команды. Данная команда находиться в бесплатной надстройке к MS Excel. Скачать ее можно тут: https://e-xcel.ru/index.php/joxcel/skachat-nadstrojku#download
# Ирина123 24.03.2020 06:41
Здравствуйте! Надстройка выбирает числа только целые, если с запятой, убирает ее и сливает число, это неприемлемо!
# Хвостов Сергей 24.03.2020 18:13
Ирина, добрый день! Спасибо Вам, что заметили эту ошибку! Постараюсь исправить ее в ближайшем обновлении. А пока для извлечения чисел из текста можете воспользоваться функцией ЁXCEL_РВИзвлечь . Она позволяет извлечь из ячейки с текстом все числа, в том числе и разделенные запятыми (точками). Допустим в ячейке A1 находится текст «Текст 123,25 125.16 21″. В ячейке B1 напишем формулу =ЁXCEL_РВИзвлеч ь(A1;»[0-9]+,[0 -9]+|[0-9]+.[0- 9]+|[0-9]+»;0;0 ;»-«) в результате получим все числа из ячейки A1 разделенные знаком «-«. Получится «123,25-125.16- 21».
# Gabriel 11.11.2019 02:21
Добрый день!
Сделал импорт таблицы курсов валют в Excel и назначил обновление при открытии файла, необходимая ячейка имеет текстовой формат и в ней записываются данные валюты в виде RS4,37, данные в таком виде невозможно использовать в математических формулах. Менял формат этой ячейки на числовой, назначал ей «оставить только числа», назначал ей «удалить часть текста» — всё работает только до следующего открытия файла/обновлени я таблицы. Подскажите, пожалуйста, как вытащить число из такой ячейки для последующего использования в формуле или же как закрепить функцию «оставить только числа» для этой таблицы?# Хвостов Сергей 11.11.2019 10:37
Добрый день! В ЁXCEL есть такая функция. ЁXCEL -> Формулы -> Текстовые -> ЁXCEL_Числа. Эта функция оставляет в ячейке только числа.
# Gabriel 11.11.2019 16:02
Цитирую Хвостов Сергей:Добрый день! В ЁXCEL есть такая функция. ЁXCEL -> Формулы -> Текстовые -> ЁXCEL_Числа. Эта функция оставляет в ячейке только числа.
Добрый день! Спасибо за подсказку! Решил проблему через функцию ПСТР.
# Татьяна 111 22.11.2019 17:50Подскажите мне пожалуйста, что за формула. В тексте адреса и номера домов. Нужно оставить только номера!
покупка
Как удалить только текст из ячеек, содержащих числа и текст в Excel?
Как показано на скриншоте ниже, для этих ячеек, смешанных с числами и текстами, как удалить все тексты и оставить только числа в ячейках? Методы, описанные в этой статье, могут вам помочь.

Easily remove only texts from cells:
The Remove Characters utility of Kutools for Excel can help you quickly remove all texts from cells which containing numbers and texts, and only keep the numbers in cells. See screenshot:
Kutools for Excel includes more than 300 handy Excel tools. Free to try with no limitation in 60 days. Download the free trial now

Удалять только текст из ячеек, содержащих числа и текст, с помощью пользовательской функции
Вы также можете использовать указанную ниже функцию, определяемую пользователем, для удаления текста из указанных ячеек и сохранения только чисел.
1. нажмите другой + F11 клавиши одновременно, чтобы открыть Microsoft Visual Basic для приложений окно.
2. в Microsoft Visual Basic для приложений окна, нажмите Вставить > Модули. Затем скопируйте и вставьте приведенный ниже код VBA в Code окно. Смотрите скриншот:
Код VBA: удалить только текст из ячеек, содержащих числа и текст
Function OnlyNums(strWord As String) Dim strChar As String Dim x As Integer Dim strTemp As String strTemp = "" Application.ScreenUpdating = False For x = 1 To Len(strWord) strChar = Mid(strWord, x, 1) If Asc(strChar) >= 48 And _ Asc(strChar)
3. нажмите другой + Q ключи, чтобы закрыть Microsoft Visual Basic для приложений окно.
4. Выберите пустую ячейку, введите формулу. = OnlyNums (A2) в панель формул, а затем нажмите Enter ключ для получения результата. Продолжая выбирать ячейку результата, перетащите ее маркер заполнения вниз, чтобы получить все результаты. Смотрите скриншот:

Внимание: В формуле. A2 - это ячейка, в которой вы удалите текст и сохраните только цифры. Пожалуйста, измените его по своему усмотрению.
Теперь вы можете видеть, что все тексты удалены, а в указанных ячейках хранятся только числа.
Легко удаляйте только текст из ячеек, содержащих числа и тексты с Kutools for Excel
Этот раздел будет рекомендовать Удалить символы полезности Kutools for Excel. С помощью этой утилиты вы можете удалить все нечисловые символы из ячеек всего несколькими щелчками мыши и оставить в ячейках только числа. Пожалуйста, сделайте следующее.
Перед применением Kutools for Excel, Пожалуйста, сначала скачайте и установите.
1. Выберите ячейки, в которых нужно удалить текст и оставить только числа, затем нажмите Кутулс > Текст > Удалить символы.

2. в Удалить символы диалоговое окно, только отметьте Нечисловой поле, а затем щелкните OK кнопку.

Затем все нечисловые символы (тексты) немедленно удаляются из выбранных ячеек, как показано ниже.

Если вы хотите получить бесплатную пробную версию ( 30 -день) этой утилиты, пожалуйста, нажмите, чтобы загрузить это, а затем перейдите к применению операции в соответствии с указанными выше шагами.
1. Select a blank cell to locate the result, click Kutools > Kutools Functions > Text > EXTRACTNUMBERS. See screenshot:

2. In the Function Arguments dialog box, please select the cell contains texts you need to remove in the Txt box, and then click the OK button.

3. Keep selecting the result cell, drag its Fill Handle down to get all results as below screenshot shown.

Tip.If you want to have a free trial of this utility, please go to download the software freely first, and then go to apply the operation according above steps.
Связанная статья:
Лучшие инструменты для офисной работы
Усовершенствуйте свои навыки работы с Excel с помощью Kutools for Excelи испытайте эффективность, как никогда раньше. Kutools for Excel Предлагает более 300 расширенных функций для повышения производительности и экономии времени. Нажмите здесь, чтобы получить функцию, которая вам нужна больше всего.
Office Tab Добавляет в Office интерфейс с вкладками и значительно упрощает вашу работу
- Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint , Издатель, доступ, Visio и проект.
- Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
- Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
Как оставить в ячейке только цифры или только текст?
Вот бывает так: есть у Вас в ячейке некий текст. Допустим "Было доставлено кусков мыла 763шт.". Вам нужно из этого только 763 - чтобы можно было провести с этим некие математические действия. Если это только одна ячейка - проблем тут нет, а если таких ячеек пару тысяч? И к тому же все разные?
- Было доставлено кусков мыла 763шт.
- Всего пришло 34
- Тюбики - 54 доставлено
- и т.д.
Никакой зацепки для извлечения данных. Пару тысяч таких строк удалять вручную весьма утомительное занятие, надо сказать. Да еще и не быстрое.
Есть несколько вариантов решения подобной задачи.СПОСОБ 1: не используем макросы
можно применить формулу массива, вроде такой:
=ПСТР( A1 ;МИН(ЕСЛИ(ЕЧИСЛО(-ПСТР( A1 ;СТРОКА( $1:$99 );1));СТРОКА( $1:$99 )));ПРОСМОТР(2;1/ЕЧИСЛО(-ПСТР( A1 ;СТРОКА( $1:$99 );1));СТРОКА( $1:$99 ))-МИН(ЕСЛИ(ЕЧИСЛО(-ПСТР( A1 ;СТРОКА( $1:$99 );1));СТРОКА( $1:$99 )))+1)
Три важных момента:- Формула вводится в ячейку сочетанием клавиш Ctrl+Shift+Enter, т.к. является формулой массива. Подробнее про эти формулы читайте в статье: Что такое формула массива
- в таком виде формула работает с текстом, количество символов в котором не превышает 99. Чтобы расширить необходимо в формуле во всех местах заменить СТРОКА( $1:$99 ) на СТРОКА( $1:$200 ) . Т.е. вместо 99 указать количество символов с запасом. Только не увлекайтесь, иначе может получиться, что формула будет работать слишком долго
- формула не обработает корректно текст " Было доставлено кусков мыла 763шт., а заказывали 780 " и ему подобный, где числа раскиданы по тексту.
Теперь коротко разберем формулу на примере фразы: Было доставлено кусков мыла 763шт.
- в A1 сам текст, из которого необходимо извлечь числа: Было доставлено кусков мыла 763шт., а заказывали 780
- блок: МИН(ЕСЛИ(ЕЧИСЛО(-ПСТР( A1 ;СТРОКА( $1:$99 );1));СТРОКА( $1:$99 )))
вычисляет позицию первой цифры в ячейке - 29 - блок: ПРОСМОТР(2;1/ЕЧИСЛО(-ПСТР( A1 ;СТРОКА( $1:$99 );1));СТРОКА( $1:$99 ))
вычисляет позицию последней цифры в ячейке - 31 - в результате получается: =ПСТР( A1 ;29;31-29+1)
функция ПСТР извлекает из текста, указанного первым аргументом( A1 ) текст, начиная с указанной позиции(29) с количеством символов, указанным третьим аргументом(31-29+1) - И в итоге:
=ПСТР( A1 ;29;31-29+1)
=> =ПСТР( A1 ;29;2+1)
=> =ПСТР( A1 ;29;3)
=> 763
СПОСОБ 2: используем макросы
Самый главный недостаток метода при помощи формулы, приведенной выше - из текста " Было доставлено кусков мыла 763шт., а заказывали 780 " формула вернет не только числа, а и текст между первой и последней цифрой: 763шт., а заказывали 780 .
Решить же проблему извлечения цифр даже из такого текста при помощи VBA куда проще и гибче. Плюс можно не только цифры извлекать, но и наоборот - цифры удалить, а извлечь только текст. Ниже приведен код пользовательской функции, которая поможет извлечь из строки только числа либо только текст. Иными словами, результатом функции будет либо только текст, либо только числа.Function Extract_Number_from_Text(sWord As String, Optional Metod As Integer) 'sWord = ссылка на ячейку или непосредственно текст 'Metod = 0 – числа 'Metod = 1 – текст Dim sSymbol As String, sInsertWord As String Dim i As Integer If sWord = "" Then Extract_Number_from_Text = "Нет данных!": Exit Function sInsertWord = "" sSymbol = "" For i = 1 To Len(sWord) sSymbol = Mid(sWord, i, 1) If Metod = 1 Then If Not LCase(sSymbol) Like "*[0-9]*" Then If (sSymbol = "," Or sSymbol = "." Or sSymbol = " ") And i > 1 Then If Mid(sWord, i - 1, 1) Like "*[0-9]*" And Mid(sWord, i + 1, 1) Like "*[0-9]*" Then sSymbol = "" End If End If sInsertWord = sInsertWord & sSymbol End If Else If LCase(sSymbol) Like "*[0-9.,;:-]*" Then If LCase(sSymbol) Like "*[.,]*" And i > 1 Then If Not Mid(sWord, i - 1, 1) Like "*[0-9]*" Or Not Mid(sWord, i + 1, 1) Like "*[0-9]*" Then sSymbol = "" End If End If sInsertWord = sInsertWord & sSymbol End If End If Next i Extract_Number_from_Text = sInsertWord End Function
Function Extract_Number_from_Text(sWord As String, Optional Metod As Integer) 'sWord = ссылка на ячейку или непосредственно текст 'Metod = 0 – числа 'Metod = 1 – текст Dim sSymbol As String, sInsertWord As String Dim i As Integer If sWord = "" Then Extract_Number_from_Text = "Нет данных!": Exit Function sInsertWord = "" sSymbol = "" For i = 1 To Len(sWord) sSymbol = Mid(sWord, i, 1) If Metod = 1 Then If Not LCase(sSymbol) Like "*[0-9]*" Then If (sSymbol = "," Or sSymbol = "." Or sSymbol = " ") And i > 1 Then If Mid(sWord, i - 1, 1) Like "*[0-9]*" And Mid(sWord, i + 1, 1) Like "*[0-9]*" Then sSymbol = "" End If End If sInsertWord = sInsertWord & sSymbol End If Else If LCase(sSymbol) Like "*[0-9.,;:-]*" Then If LCase(sSymbol) Like "*[.,]*" And i > 1 Then If Not Mid(sWord, i - 1, 1) Like "*[0-9]*" Or Not Mid(sWord, i + 1, 1) Like "*[0-9]*" Then sSymbol = "" End If End If sInsertWord = sInsertWord & sSymbol End If End If Next i Extract_Number_from_Text = sInsertWord End Function
Чтобы правильно использовать приведенный код, необходимо сначала ознакомиться со статьей Что такое функция пользователя(UDF)?. Вкратце: скопировать текст кода выше, перейти в редактор VBA( Alt + F11 ) -создать стандартный модуль(Insert -Module) и в него вставить скопированный текст. После чего функцию можно будет вызвать из Диспетчера функций( Shift + F3 ), отыскав её в категории Определенные пользователем (User Defined Functions) и применять как обычную функцию на листе.
Для извлечения только чисел
=Extract_Number_from_Text( A1 ; 0)
или
=Extract_Number_from_Text( A1 )
Для извлечения только текста
=Extract_Number_from_Text( A1 ; 1)Подробнее про создание пользовательских функции и их применении можно почитать в статье Что такое функция пользователя(UDF)?
Помимо функции пользователя решил выложить и вариант с использованием диалогового окна:
Выбрать ячейку или диапазон с текстом(Лист1! $A$2:$A$10 ) - здесь указывается диапазон с исходными значениями, из которого необходимо оставить только числа или только текст.
Выберите ячейку для вывода данных(Лист1! $A$2 ) - указывается одна ячейка, с которой начать вывод преобразованных значений. В качестве этой ячейки можно выбрать первую ячейку диапазона с текстом(исходного) если необходимо произвести изменения сразу в этих же ячейках(как на рисунке). Осторожнее с таким указанием, т.к. результат работы кода может быть не совсем таким, какой вы ожидали, а вернуть прежние данные уже не получится - если только не закрыть файл без сохранения изменений.
Оставить только цифры, Оставить только текст- думаю не надо пояснять. Здесь выбираем, что оставить в качестве результата.
Небольшое дополнение к использованию кода
В коде есть строка:If LCase(sSymbol) Like "*[0-9.,;:-]*" Then
If LCase(sSymbol) Like "*[0-9.,;:-]*" Then
Данная строка отвечает за текстовые символы, которые могут встречаться внутри чисел и которые надо оставить(не удалять наравне с другими не числовыми символами). Следовательно, если какие-то из данных символов не нужны в конечном тексте - их надо просто удалить. Например, чтобы оставались исключительно числа(без запятых и пр.):
If LCase(sSymbol) Like "*[0-9]*" Then
If LCase(sSymbol) Like "*[0-9]*" Then
если надо исключить из удаления помимо цифр точку(т.е. будут извлечены цифры и точка):
If LCase(sSymbol) Like "*[0-9.]*" Then
If LCase(sSymbol) Like "*[0-9.]*" Then
и т.д.
Скачать пример:Число из текста и наоборот.xls (99,0 KiB, 18 007 скачиваний)
Статья помогла? Поделись ссылкой с друзьями!
Видеоуроки
Поиск по меткам
Здравствуйте скрипт при обработке ячейки:
Пр-ка ТНВД 5301 (пер.) 50-1006315-Б2 выдает: 530150-1006315-2
вопрос есть возможность что бы он брал только последних 15-20 сим.
с заглавными А-Я, или хотя бы цифирки.
Буду признателен за предложения.
Возможно есть проще варианты(12000 стр.записеи) обрезани до последних 10-20сим.Александр, последние 15-20 символов можно взять при помощи функции ПРАВСИМВ(RIGHT). Так же можно совместить:
=Extract_Number_from_Text(ПРАВСИМВ(A1))
Более сложные вариации извлечения делаются под конкретные данные с учетом различных нюансов.Добрый день!
Спасибо за замечательный код! Подскажите пожалуйста, как оставить среди неудаляемых символов пробел?
Например, в ячейке было "Т-образный поворот SPB-RF60 TE-200 SS316L".
Ваш код оставляет (после некоторой модификации) "60200316".
А хотелось бы "60 200 316".
Я не понимаю как вписать пробел в строку
Like "*[0-9.,;:-]*" ThenА всё разобрался, пробел нужно указывать в середине ряда, а не в конце.
Здравствуйте.
Использовал функцию, вызванную на VBA, все нормально, при вызове мастера функций он нормально отрабатывает
Но при выполнение в эксель, выскакивает сообщение, что здесь используется циклическая ссылка и потом появляется значение 0. В чем дело?Добрый день!
А что надо добавить в код/формулу чтобы из строки
"ТП ВЕТЧИННАЯ ВАРЕНАЯ 400Г (162854) /Ш/"
- вытащить только цифры до буквы Г?
- или без содержимого скобок
Заранее большое спасибо!Нашла пока только такой вариант решения:
=ЛЕВСИМВ(B5;ПОИСК("г ";B5)-1)
Затем в другой колонке
=ЕСЛИОШИБКА(ПСТР(C5;МИН(ЕСЛИ(ЕЧИСЛО(-ПСТР(C5;СТРОКА($1:$99);1));СТРОКА($1:$99)));ПРОСМОТР(2;1/ЕЧИСЛО(-ПСТР(C5;СТРОКА($1:$99);1));СТРОКА($1:$99))-МИН(ЕСЛИ(ЕЧИСЛО(-ПСТР(C5;СТРОКА($1:$99);1));СТРОКА($1:$99)))+1);1000)
И в третьей колонке = из предыдущей и преобразовать в числовой формат макросом
Результат достигнут, но если расскажите как можно было сделать изящнее - обязательно запомню))Public Function RegExpExtract(Text As String, Pattern As String, Optional Item As Integer = 1) As String On Error GoTo ErrHandl Set regex = CreateObject("VBScript.RegExp") regex.Pattern = Pattern regex.Global = True If regex.Test(Text) Then Set matches = regex.Execute(Text) RegExpExtract = matches.Item(Item - 1) Exit Function End If ErrHandl: RegExpExtract = CVErr(xlErrValue) End Function
И играйтесь регулярками, на лету выбирая нужные части текста. Инфы с примерами, благо, достаточно.
Денис, спасибо. Но есть все равно пара замечаний, раз уж предлагаете воспользоваться функцией. Неплохо было бы добавить и пример применения. Иначе как тому, кто зайдет почитать использовать Ваше решение?
Я умею использовать регулярки и по коду вижу, что помимо текста надо указать не только шаблон, но еще и номер элемента, который получить. Что является немаловажным замечанием.
Для извлечения первого числа(без разделения групп разрядов) - =(RegExpExtract( A1 ;"\d";1)
Для извлечения первого текста(что не очень удобно, если чисел в тексте много) - =(RegExpExtract( A1 ;"\D";1)
Оба варианта слегка халтурны, но для понимания общего смысла использования подойдут.
В общем и целом я бы в функцию еще параметр IgnoreCase добавил(при извлечении текста по шаблону может потребоваться). Да и Multiline тоже иногда может играть роль(зависит от шаблона и текста), поэтому его тоже лучше ставить в True сразу в случае с такими функциями.СТРОКА($1:$99) не работает
Мизар, прежде чем так писать убедитесь, что прочитали все внимательно. Формула должна вводиться как формула массива. Т.е. одновременным нажатием тремя клавиш: Ctrl + Shift + Enter
Поделитесь своим мнением
Комментарии, не имеющие отношения к комментируемой статье, могут быть удалены без уведомления и объяснения причин. Если есть вопрос по личной проблеме - добро пожаловать на Форум
