На чтение 5 мин Опубликовано 20.01.2021
В ячейках табличного массива Microsoft Office Excel можно прописывать различные значения, символы. Соответственно, их также можно быстро удалить, оставив только важные и нужные элементы. О том, как это сделать, будет рассказано в данной статье.
Содержание
- Как удалить числа из ячеек Excel, оставив только текст
- Способ 1. Ручное удаление
- Способ 2. Использование специальных функций
- Способ 3. Извлечение чисел из текста с помощью опции мгновенного заполнения
- Заключение
Как удалить числа из ячеек Excel, оставив только текст
Существует несколько распространённых способов выполнения поставленной задачи, каждый из которых рекомендуется подробно изучить, чтобы понять принципы работы в Excel.
Способ 1. Ручное удаление
Этот метод считается самым простым. Для его реализации пользователю придётся действовать следующим образом:
- Левой клавишей манипулятора выделить ячейку исходной таблицы, где нужно произвести деинсталляцию символов.
- Поставить курсор мышки в строку для ввода формул сверху главного меню программы. В этом поле полностью прописывается информация, содержащаяся в выбранной ячейке.
- Поставить указатель в нужное место текста и удалить символы нажатием на кнопку «Backspace» с клавиатуры компьютера. Таким образом, в ячейке можно оставить только сам текст, удалив при этом числовые значения, величины.
Обратите внимание! После деинсталляции элементов в строке для ввода формул они автоматически удалятся из указанной ячейки табличного массива.
Способ 2. Использование специальных функций
В Microsoft Office Excel есть встроенные функции, с помощью которых можно удалить часть символов из конкретной ячейки таблички. При реализации метода пользователю потребуется задействовать функции: «ДЛСТР()» и «ПРАВСИМ()» либо ее аналог «ЛЕВСИМ()». В общем виде процесс деинсталляции чисел из ячеек Excel путём ввода соответствующих формул подразделяется на следующие этапы:
- Составить таблицу с исходными данными. Таблица, для которой проводится операция обрезки символов, приведена на изображении ниже.
- Выделить ячейку, где будет выводиться результат и кликнуть ЛКМ по значку функций справа от строки для ввода формул.
- Откроется окно «Вставка функции». Здесь в строку поиска надо вбить с клавиатуры название «ДЛСТР», чтобы посчитать количество символов в нужной ячейке.
- Нажать дважды ЛКМ по найденному значению. После этого должно запуститься окно аргументов функции, а сам оператор появится в выделенном ранее элементе табличного массива.
- Поставить курсор мышки в строку «Текст» и в исходной табличке щёлкнуть по строчке, в которой надо посчитать количество символов.
- Нажать на «ОК» и проверить результат. В выбранном столбце массива выведется соответствующее значение. При необходимости формулу можно продлить на оставшиеся строки таблицы, чтобы не заполнять их вручную.
- Посчитать в уме количество чисел в ячейке, которые надо удалить из нее.
- Теперь из общего числа символов ячейки необходимо вычесть посчитанное значение ненужных элементов по формуле и вывести результат в отдельный столбец. Подробнее на скриншоте ниже.
- Приступить к деинсталляции лишних символов, в данном случае чисел. Для этого во втором столбце таблички необходимо прописать ещё одну функцию.
- Написать функцию «=ПРАВСИМ(С4;F4)». В скобках на первом месте указывается адрес ячейки, где прописан исходный текст, а на втором адрес элемента, в котором подсчитано количество символов, оставшееся после удаления чисел.
- Нажать на «Enter» с клавиатуры ПК для завершения формулы и проверить результат. В выбранном столбике должен отобразиться исходный текст, но только без чисел.
Важно! Функции «ПРАВСИМ()» и «ЛЕВСИМ()» равнозначны. Первая используется, когда надо удалить знаки слева, а вторая, если деинсталляция проводится справа от написанной формулы.
При желании прописанное выражение в MS Excel можно продлить на весь диапазон ячеек табличного массива, чтобы не выполнять описанную выше операцию для каждой строки.
Способ 3. Извлечение чисел из текста с помощью опции мгновенного заполнения
Данный способ не предполагает использование стандартных формул. Чтобы удалить числа из ячеек Excel, используя опцию «Мгновенное заполнение», необходимо проделать ряд шагов по алгоритму:
- Создать исходную таблицу. В рассматриваемом примере табличный массив состоит из двух столбцов. В первом прописан полный текст, а втором будет выводиться обработанная информация без чисел.
- Во второй столбик таблички выписать вручную с клавиатуры числа из первого столбца, которые надо деинсталлировать.
- Зажать одновременно кнопки «Ctrl+E» для активации опции мгновенного заполнения. Справа от заполненного второго столбца таблицы появится иконка параметров опции.
- После выполнения предыдущей манипуляции числовые значения из первого столбца табличного массива пропадут. Они будут прописаны во втором столбике.
Дополнительная информация! Отменить мгновенное заполнение можно с помощью сочетания клавиш «Ctrl+Z» с клавиатуры компьютера в любой версии программы Microsoft Office Excel.
К сожалению, в Эксель нет специальной функции, удаляющей только числа из текста в ячейке либо какие-то определённые символы. Однако реализовать такую возможность можно более длинным путём, описанном во втором способе выше.
Заключение
Таким образом, удаление чисел из ячеек подчиняется ряду правил, описанных выше. С представленными рекомендациями необходимо внимательно ознакомиться, чтобы хорошо разбираться в данной теме.
Оцените качество статьи. Нам важно ваше мнение:
- Удаление цифр последовательной заменой
- Формула для удаления цифр из ячейки
- Удалить цифры из текста ячеек в 1 клик
- Удалить слова, содержащие цифры
Для массового удаления из диапазона ячеек всех цифр разом в стандартном арсенале Excel функций и процедур, к сожалению не предусмотрено. Есть несколько не самых изящных, но рабочих решений, которые и рассмотрим.
Если же задача – удалить не все цифры, а только отдельно стоящие, их еще можно назвать словами из одних цифр, то задача превращается в нереализуемую вовсе. С помощью надстройки !SEMTools можно – но об этом далее. Сначала рассмотрим обычное удаление цифр.
Обратите внимание – есть похожая процедура “извлечь числа из текста” – она позволит, наоборот, оставить только цифры, а все остальное удалить. А если массив данных огромен, быстрее будет сначала найти числа в ячейках, чтобы потом запустить процедуру удаления только в найденных, предварительно отсортировав их.
Удаление цифр последовательной заменой
Обычно пользователи пользуются функционалом поиска и замены, повторяя операцию 10 раз для каждой цифры и заменяя их на пустоту.
Можно автоматизировать процесс, записав его с помощью макрорекордера, но это не очень удобно – процедура замены требует значительных ресурсов и занимает значительное время на больших данных.
Формула для удаления цифр из ячейки
В Excel есть функция «ПОДСТАВИТЬ», она позволяет заменить символ или несколько символов, встречающиеся в ячейке, полностью, вне зависимости от того, сколько раз они встречаются в строке.
На ее основе можно составить многосоставную формулу с 10 уровнями вложенности, которая решит нашу задачу. Так она будет выглядеть:
=ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(A1;"1";"");"2";"");"3";"");"4";"");"5";"");"6";"");"7";"");"8";"");"9";"");"0";"")
Автору этого сайта и надстройки !SEMTools часто приходилось решать эту и множество похожих задач, поэтому у него был огромный текстовый файлик с такими формулами. Его приходилось всегда иметь на виду, чтобы быстро использовать нужные. Это было неудобно.
Так пришла идея реализовать возможность производить такие операции в 1 клик и легко находить их. И теперь она есть, в составе целого пакета из 500+ похожих процедур надстройки !SEMTools.
Удалить цифры из текста ячеек в 1 клик
Процедура доступна на панели !SEMTools в разделе «УДАЛИТЬ» в меню «Удалить символы». Перед удалением рекомендуется воспользоваться похожей функций «Найти числа в ячейках», чтобы сначала посмотреть, какие ячейки затронет удаление. Смотрите пример:
Удалить слова, содержащие цифры
Как видно из примера выше, если цифры являются частью слов, в которых присутствуют и буквы, это повредит такие слова и не удалит их полностью. Для удаления таких слов в !SEMTools предусмотрены процедуры в меню «Удалить слова»:
- удалить слова, содержащие цифры;
- удалить слова, состоящие только из цифр.
Это позволяет удалять их полностью и не «испортить» данные.
Скачайте надстройку !SEMTools, чтобы упростить эту и сотни других задач в работе с Excel!
Хитрости »
1 Май 2011 398336 просмотров
Как оставить в ячейке только цифры или только текст?
Вот бывает так: есть у Вас в ячейке некий текст. Допустим «Было доставлено кусков мыла 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
Может быть задача проще — необходимо извлечь односоставной текст, убрав цифры вначале и в конце строки, учитывая, что сам текст всегда следует после разделителя(например, тире):
12.08-АГСВ2
12.08-АГСВ1
01.03-ОВ2
12.03-КЖ6.1
Из этих данных надо получить только текст после тире(-) и отсечь цифры на конце:
АГСВ
АГСВ
ОВ
КЖ
Формула будет работать почти по тому же принципу, что и формула выше, но она проще:
=ПСТР(A1;ПОИСК(«-«;A1)+1;ПОИСКПОЗ(ИСТИНА;ЕЧИСЛО(—ПСТР(ПСТР(A1;ПОИСК(«-«;A1)+1;999);СТРОКА($1:$99);1));0)-1)
В данном случае мы при помощи
ПОИСК(«-«;A1)
ищем сначала позицию тире, далее при помощи
ПОИСКПОЗ(ИСТИНА;ЕЧИСЛО(—ПСТР(ПСТР(A1;ПОИСК(«-«;A1)+1;999);СТРОКА($1:$99);1));0)
находим именно в отсеченном тексте позицию первой цифры. Передаем эти значения в
ПСТР
, которая отбирает из этого текста все от первого тире(+1) до первого числа, идущего после текста.
СПОСОБ 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
Чтобы правильно использовать приведенный код, необходимо сначала ознакомиться со статьей Что такое функция пользователя(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
и т.д.
Скачать пример:
Число из текста и наоборот.xls (99,0 KiB, 17 669 скачиваний)
Также см.:
Извлечение числа из текста
Что такое функция пользователя(UDF)?
Как получить адрес гиперссылки из ячейки
Оставить цифры или текст при помощи PowerQuery
Статья помогла? Поделись ссылкой с друзьями!
Видеоуроки
Поиск по меткам
Access
apple watch
Multex
Power Query и Power BI
VBA управление кодами
Бесплатные надстройки
Дата и время
Записки
ИП
Надстройки
Печать
Политика Конфиденциальности
Почта
Программы
Работа с приложениями
Разработка приложений
Росстат
Тренинги и вебинары
Финансовые
Форматирование
Функции Excel
акции MulTEx
ссылки
статистика
Оставить в ячейке только текст (удалить все числа)
Доступность | |
---|---|
Скачать ЁXCEL | |
Возможность отмены: |
Данная команда позволяет массово удалять из текст множества ячеек числа:
Чтобы воспользоваться данной командой выделите ячейки с текстом из которых вы хотите удалить числа, перейдите во вкладку «ЁXCEL» Главного меню, нажмите кнопку «Ячейки» и выберите команду «Оставить в ячейке только текст (удалить все числа)»:
Все числа из выделенных ячеек будут удалены.
Для отмены операции нажмите кнопку отмены:
Добавить комментарий
Имя
Отправить
JComments
В данном случае текст слева а цифры справа. |
|
LVL Пользователь Сообщений: 903 |
|
пример Изменено: VeroNika_xxx — 31.05.2013 10:46:04 |
|
anvg Пользователь Сообщений: 11878 Excel 2016, 365 |
#4 31.05.2013 10:07:17 Для выделения
|
||
LVL Пользователь Сообщений: 903 |
#5 31.05.2013 11:19:56 если уж регулярные выражения
Изменено: LVL — 31.05.2013 11:22:24 |
||
anvg Пользователь Сообщений: 11878 Excel 2016, 365 |
LVL |
LVL Пользователь Сообщений: 903 |
Незнаю не пробовал, просто посмотрел, что можно проще… |
anvg Пользователь Сообщений: 11878 Excel 2016, 365 |
То есть простота в неиспользовании вами этих строк? |
The_Prist Пользователь Сообщений: 14183 Профессиональная разработка приложений для MS Office |
Как оставить в ячейке только цифры или только текст? Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы… |
LVL Пользователь Сообщений: 903 |
ну да, хотя первую строку придется использовать п.с. Если уж вы используете RegExp то зачем использовать функцию рабочего листа? Изменено: LVL — 31.05.2013 11:38:07 |
anvg Пользователь Сообщений: 11878 Excel 2016, 365 |
А что останется если в выделение попала и числовая ячейка? Сказать пользователю — смотри в оба глаза? |
LVL, |
|
KuklP Пользователь Сообщений: 14868 E-mail и реквизиты в профиле. |
#13 31.05.2013 20:46:06
VeroNika_xxx, не кощунствуйте! Читайте Правила и выкладывайте пример с Вашими попытками. Раз уж слабО готовыми решениями воспользоваться. Изменено: KuklP — 31.05.2013 20:47:51 Я сам — дурнее всякого примера! … |
||
VeroNika_xxx Пользователь Сообщений: 38 |
#14 31.05.2013 20:59:34
хаха, а что это значит?
так я же выставила свой пример. |
||||
Nic70y Пользователь Сообщений: 3289 Win7 MSO 2013 |
VeroNika_xxx, у Вас в примере — в результате нет ни чего. Январь — это число? |
KuklP Пользователь Сообщений: 14868 E-mail и реквизиты в профиле. |
#16 31.05.2013 21:33:40
То и значит — Вам дали 3 полностью рабочих варианта решения.
Вот и покажите нам, как Вы их применяете. Я сам — дурнее всякого примера! … |
||||
The_Prist Пользователь Сообщений: 14183 Профессиональная разработка приложений для MS Office |
А в моем сообщении ссылка на вообще все готовое… Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы… |
The_Prist, класная ссылка, все доступно и понятно… |
|
The_Prist Пользователь Сообщений: 14183 Профессиональная разработка приложений для MS Office |
Так надо файл скачать, статью внимательно прочитать. Там есть ссылка на подробное описание понятия пользовательской функции и её применения. Функцию необходимо скопировать в файл, макросы разрешить. Так же в файле есть и форма для массового извлечения чисел из текста и наоборот. Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы… |
VeroNika_xxx Пользователь Сообщений: 38 |
#20 31.05.2013 22:29:12 The_Prist, |