Excel удалить все буквы в ячейке

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

Содержание

  1. Способы удаления текста и сохранения числовой информации
  2. Первый метод: использование специальной формулы
  3. Второй метод: использование специального макроса
  4. Заключение и выводы о процедуре извлечение

Способы удаления текста и сохранения числовой информации

Представим, что у нас есть такая информация, располагающаяся в ячейке: «Было доставлено кусков мыла 763шт». Нам необходимо сделать так, чтобы осталось только значение 763 для проведения разнообразных математических операций. Хорошо, если нужно избавиться от текстовых данных только в одной ячейке, тогда можно реализовать удаление ручным способом, но этот вариант не подходит, когда в табличке находится слишком много разной информации. Здесь необходимо применять различные специальные функции табличного редактора.

Первый метод: использование специальной формулы

Для реализации этой процедуры можно применять специальную массивную формулу. Примерная формула выглядит так:

=ПСТР(A1;МИН(ЕСЛИ(ЕЧИСЛО(-ПСТР(А1;СТРОКА($1:$99);1));СТРОКА($1:$99)));ПРОСМОТР(2;1/ЕЧИСЛО(-ПСТР(А1;СТРОКА($1:$99);1));СТРОКА($1:$99))-МИН(ЕСЛИ(ЕЧИСЛО(-ПСТР(А1;СТРОКА($1:$99);1));СТРОКА($1:$99)))+1)

Разберем основные моменты:

  1. Специальную формулу необходимо вбивать в поле при помощи комбинации кнопок «Ctrl+Shift+Enter».
  2. Стоит заметить, что в таком виде массивная формула может использоваться только с текстовой информацией, в которой число знаков не больше 99. Для увеличения диапазона нужно, к примеру, заменить параметр «СТРОКА($1:$99)» на «СТРОКА($1:$200)». Иными словами, мы вместо показателя 99 вводим число знаков с запасом. Если ввести слишком большой диапазон, то обработка формулы может занять длительное время.
  3. Если в текстовых данных числовые значения разбросаны по всему тексту, то формула не сможет правильно обработать информацию.

Детально рассмотрим специальную массивную формулу на таком примере: «Было доставлено кусков мыла 763шт., а заказывали 780»

  1. В поле А1 располагается сама текстовая информация, из которой мы будем извлекать числовые данные.
  2. Фрагмент: МИН(ЕСЛИ(ЕЧИСЛО(-ПСТР(А1;СТРОКА($1:$99);1));СТРОКА($1:$99))) позволяет определить позицию 1-го значения в поле. Получаем значение 29.
  3. Фрагмент: ПРОСМОТР(2;1/ЕЧИСЛО(-ПСТР(А1;СТРОКА($1:$99);1));СТРОКА($1:$99)) позволяет определить позицию последнего значения в поле. Получаем значение 31.
  4. Мы получаем такую формулу: =ПСТР(А1;29;31-29+1). Оператор ПСТР позволяет извлечь из текстовой информации, указанной 1-м аргументом, начиная с заданной позиции (29) с числом знаков, заданным 3-м аргументом.
  5. В результате мы получаем:
    =ПСТР(А1;29;31-29+1)

    • =ПСТР(А1;29;2+1)
    • =ПСТР(А1;29;3)
    • 763

Бывают ситуации обратные, когда нужно реализовать операцию извлечения односоставных текстовых данных, исключив числа.

Как оставить в ячейке Excel только числа, а весь текст удалить

Нам необходимо сохранить только текстовую информацию.

Как оставить в ячейке Excel только числа, а весь текст удалить

Специальная формула применяется по аналогичному алгоритму, что и вышерассмотренная. Она выглядит так: =ПСТР(А1;ПОИСК(«-«;А1)+1;ПОИСКПОЗ(ИСТИНА;ЕЧИСЛО(—ПСТР(ПСТР(А1;ПОИСК(«-«;А1)+1;999);СТРОКА($1:$99);1));0)-1)

Здесь мы, благодаря фрагменту ПОИСК(«-«;А1) отыскали локацию тире, а затем при помощи оператора ПОИСКПОЗ нашли в извлеченных текстовых данных позицию 1-го числа. Передали эти показатели в оператор ПСТР, который реализовал все дальнейшие преобразования.

Второй метод: использование специального макроса

Эту процедуру можно реализовать при помощи специального макроса, созданного в табличном редакторе Эксель. К примеру, у нас есть табличка, в которой существует колонка с текстовой информацией и числовыми данными. Нам нужно оставить только числовые данные, убрав при этом текст.

Как оставить в ячейке 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

Подробная инструкция по созданию пользовательского макроса выглядит так:

  1. Используя специальную комбинацию клавиш «Alt+F11», производим открытие редактора VBA. Альтернативный вариант – нажать ПКМ по рабочему листу и выбрать элемент «Исходный текст».
  2. Реализуем создание нового модуля. Для осуществления этой процедуры жмем левой клавишей мышки на элемент, имеющий наименование «Insert», а затем выбираем объект «Module».
  3. Производим копирование кода, который располагается выше, и вставляем его в созданный модуль. Копирование реализуем при помощи сочетания клавиш «Ctrl+C», а вставку – «Ctrl+V».
  4. Теперь в необходимой ячейке, в которой мы планируем вывести только числовую информацию, вбиваем такую формулу: =GetNumbers(А1).
  5. Нам нужно растянуть формулу вниз на все ячейки колонки. Для этого наводим указатель на нижний правый уголок ячейки. Курсор принял форму небольшого плюсика темного цвета. Зажимаем левую клавишу мышки и протягиваем формулу вниз до окончания таблички.

Как оставить в ячейке Excel только числа, а весь текст удалить

  1. Готово! Мы реализовали извлечение числовой информации при помощи специального макроса.

Заключение и выводы о процедуре извлечение

Мы выяснили, что существует несколько способов, позволяющих реализовать извлечение числовой информации. Осуществить эту операцию можно при помощи создания специальных макросов в редакторе VBA или же используя массивную формулу. Каждый пользователь может самостоятельно выбрать для себя наиболее удобный способ, который позволит ему убрать текстовую информацию из ячейки и оставить при этом числовые данные.

Оцените качество статьи. Нам важно ваше мнение:

На чтение 10 мин. Просмотров 626 Опубликовано 14.01.2021

Содержание

  1. Как удалить буквы из строк/чисел/ячеек в Excel?
  2. Удаление букв из строк/чисел/ячеек с формулой массива
  3. Пакетное разделение текста и чисел из одной ячейки/столбца на разные столбцы/строки
  4. Удаление букв из строк/чисел/ячеек с помощью функции, определяемой пользователем
  5. Удалите буквы из строк/чисел/ячеек с помощью функции EXTRACTNUMBERS в Kutools for Excel
  6. Удалите буквы из строк/чисел/ячеек с помощью утилиты Remove Character Kutools for Excel
  7. Демонстрация: удаление букв из строк/чисел/ячеек в Excel
  8. Статьи по теме:
  9. Лучшие инструменты для повышения производительности Office
  10. Kutools for Excel решает большинство ваших проблем и повышает производительность на 80%
  11. Вкладка “Office”. Интерфейс с вкладками добавлен в Office, что значительно упростит вашу работу.

Как удалить буквы из строк/чисел/ячеек в Excel?

В этой статье рассказывается о том, как удалить буквы из текстовых строк/ячеек/чисел в Excel . И мы предоставляем четыре метода для решения этой проблемы с помощью формулы массива, пользовательской функции и сторонней надстройки Kutools for Excel.

  • Удалить буквы из строки/числа/ячейки с формулой массива
  • Удаление букв из строк/чисел/ячеек с помощью функции, определяемой пользователем
  • Удалите буквы из строк/чисел/ячеек с помощью утилиты Remove Character в Kutools for Excel
  • Удалить буквы из строк/чисел/ячеек с функцией EXTRACTNUMBER Kutools for Excel

Вкладка Office Включает редактирование и просмотр с вкладками в Office и делает вашу работу намного проще …

Подробнее … Скачать бесплатно …

Kutools for Excel решает большинство ваших проблем и увеличивает вашу производительность на 80%.

  • Повторное использование чего угодно: добавление наиболее часто используемых или сложных формул, диаграмм и всего остального в ваши избранные и быстро используйте их в будущем.
  • Более 20 текстовых функций: извлечение числа из текстовой строки; Извлечь или удалить часть текстов; Преобразование чисел и валют в английские слова.
  • Инструменты слияния: несколько книг и листов в одну; Объединить несколько ячеек/строк/столбцов без потери данных; Объедините повторяющиеся строки и суммируйте.
  • Инструменты разделения: разделение данных на несколько листов на основе значения; Из одной книги в несколько файлов Excel, PDF или CSV; Один столбец в несколько столбцов.
  • Вставить пропуск скрытых/отфильтрованных строк; Подсчет и сумма по цвету фона; Отправляйте персонализированные электронные письма нескольким получателям массово.
  • Суперфильтр: создавайте расширенные схемы фильтров и применяйте их к любым листам; Сортировать по неделе, дню, частоте и т. Д. Фильтр жирным шрифтом, формулами, комментариями …
  • Более 300 мощных функций; Работает с Office 2007-2019 и 365; Поддерживает все языки; Простое развертывание на вашем предприятии или в организации.

Подробнее … Бесплатная загрузка …

->


Удаление букв из строк/чисел/ячеек с формулой массива

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

1 . Выберите пустую ячейку, в которую вы вернете текстовую строку без букв, введите формулу = СУММ (СРЕДНЕЕ (0 & A2, НАИБОЛЬШИЙ (ИНДЕКС (ЕЧИСЛО (- СРЕДНЕЕ (A2, СТРОКА ($ 1: $ 99), 1)) * СТРОКА ($ 1: $ 99),), СТРОКА ($ 1: $ 99)) + 1,1) * 10 ^ ROW ($ 1: $ 99)/10) ( A2 – это ячейку, из которой вы удалите буквы) в нее и одновременно нажмите клавиши Ctrl + Shift + Enter время.

2 . Продолжайте выделять ячейку, а затем перетащите ее маркер заполнения в нужный диапазон. И теперь вы увидите, что все буквы удалены из исходных текстовых строк, как показано ниже:

Примечания :
(1) Эта формула массива удаляет все типы символов, кроме цифровых. Например, исходная текстовая строка – abc-859 * -24test, эта формула массива удалит все буквы и специальные символы (* и -) и вернет значение 85924.
(2) Если в тексте нет числа строка, эта формула массива вернет 0.

Пакетное разделение текста и чисел из одной ячейки/столбца на разные столбцы/строки

Kutools for Excel расширяет свою утилиту Split Cells и поддерживает пакетное разделение всех текстовых символов и чисел одной ячейки/столбца на два столбца/строки. Полнофункциональная бесплатная пробная версия, 30 дней!

Удаление букв из строк/чисел/ячеек с помощью функции, определяемой пользователем

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

1 . Одновременно нажмите клавиши Alt + F11 , чтобы открыть окно Microsoft Visual Basic для приложений.

2 . Щелкните Insert > Module , а затем скопируйте и вставьте следующий код в новое открывающееся окно модуля.

VBA: удаление букв из строк/чисел/ячеек в Excel

 Функция StripChar (Txt As String) As StringWith CreateObject ("VBScript.RegExp"). Global = True.Pattern  = " D" StripChar = .Replace (Txt, "") End WithEnd Function 

3 . Сохраните эту пользовательскую функцию. Выберите пустую ячейку, в которую вы вернете текстовую строку без букв, и введите в нее формулу = StripChar (A2) (A2 – это ячейка, из которой вы удалите буквы) и перетащите маркер заполнения вниз до нужного диапазона. См. Скриншоты:

Примечания:
(1) Эта функция, определяемая пользователем, также может удалять все типы символов, кроме цифровых. Например, исходная текстовая строка – abc-859 * -24test, эта формула массива удалит буквы и специальные символы (* и -) и вернет значение 85924.
(2) Эта определяемая пользователем функция будет возвращать числа, хранящиеся как текстовые строки.


Удалите буквы из строк/чисел/ячеек с помощью функции EXTRACTNUMBERS в Kutools for Excel

Этот метод представит Kutools for Excel функцию EXTRACTNUMBERS , позволяющую легко удалить все буквы из строк/чисел/ячеек в Excel. Пожалуйста, сделайте следующее:

Kutools for Excel – включает более 300 удобных инструментов для Excel. Полнофункциональная бесплатная 30-дневная пробная версия, кредитная карта не требуется! Бесплатная пробная версия!

Kutools for Excel – объединяет более 300 дополнительных функций и инструментов для Microsoft Excel

Перейти к загрузке
Бесплатная пробная версия 60 днейПокупка
PayPal/MyCommerce

->

1 . Выберите пустую ячейку, вы вернете текстовую строку без букв, и нажмите Kutools > Функции > Текст > EXTRCTNUMBERS . См. Снимок экрана:

2 . В открывшемся диалоговом окне «Аргументы функции» укажите ячейку, из которой вы будете удалять буквы, в поле Txt , необязательно вводить TRUE или FAlSE в поле N и нажмите кнопку OK .

Примечание . При вводе TRUE будут возвращены числовые числа, при отсутствии ввода или FALSE вернет числа, хранящиеся в виде текстовых строк.

3 . Продолжайте выбирать ячейку и перетащите маркер заполнения в нужный диапазон. И тогда вы увидите, что все буквы удалены из исходных текстовых строк. См. Снимок экрана:

Kutools for Excel – Включает более 300 удобных инструментов для Excel. Полнофункциональная бесплатная 30-дневная пробная версия, кредитная карта не требуется! Получить сейчас

Примечания:
(1) Вы можете ввести формулу = EXTRACTNUMBERS (A2, TRUE) непосредственно в выбранную ячейку, а затем перетащить дескриптор Fill в нужный диапазон.
(2) Эта функция EXTRACTNUMBERS также удалит все виды символы, кроме цифровых.


Удалите буквы из строк/чисел/ячеек с помощью утилиты Remove Character Kutools for Excel

Все вышеперечисленные методы удаляют все символы, кроме числовых. Но иногда вы можете захотеть удалить только буквы из текстовой строки, но оставить числовые символы и другие. Этот метод представит Kutools for Excel’s Удалить символы , чтобы сделать это легко в Excel.

Kutools for Excel – Включает более 300 удобных инструментов для Excel. Полнофункциональная бесплатная 30-дневная пробная версия, кредитная карта не требуется! Бесплатная пробная версия!

Kutools for Excel – объединяет более 300 дополнительных функций и инструментов для Microsoft Excel

Перейти к загрузке
Бесплатная пробная версия 60 днейПокупка
PayPal/MyCommerce

->

1 . Выделите ячейки, из которых вы будете удалять буквы, и нажмите Kutools > Текст > Удалить символы .

2 . В открывшемся диалоговом окне «Удалить символы» установите флажок Alpha и нажмите кнопку Ok . И тогда вы увидите, что из выбранных ячеек удаляются только буквы. См. Снимок экрана:

Примечание . Если вы действительно хотите Удалите все виды символов, кроме числовых, вы можете установить флажок Нечисловые и нажать кнопку ОК в диалоговом окне «Удалить символы». См. Снимок экрана:

Kutools for Excel – Включает более 300 удобных инструментов для Excel. Полнофункциональная бесплатная 30-дневная пробная версия, кредитная карта не требуется! Получить сейчас


Демонстрация: удаление букв из строк/чисел/ячеек в Excel

Kutools for Excel включает более 300 удобных инструментов для Excel, которые можно бесплатно попробовать без ограничений в течение 30 дней. Загрузить и бесплатную пробную версию !


Статьи по теме:

Как удалить числа из текстовых строк в Excel?


Лучшие инструменты для повышения производительности Office

Kutools for Excel решает большинство ваших проблем и повышает производительность на 80%

  • Повторное использование : быстро вставляйте сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки паролем; Создавайте список рассылки и отправляйте электронные письма …
  • Панель супер формул (легко редактировать несколько строк текста и формул); Чтение макета (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон …
  • Объединить ячейки/строки/столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки/столбцы … Предотвратить дублирование ячеек; Сравнить диапазоны …
  • Выбрать повторяющиеся или уникальные строки; Выберите пустые строки (все ячейки пусты); Супер поиск и нечеткий поиск во многих книгах; Случайный выбор …
  • Точное копирование нескольких ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставьте маркеры, флажки и многое другое …
  • Извлечь текст, добавить текст, удалить по позиции, удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии …
  • Суперфильтр (сохранение и применение схем фильтрации к другим листам); Расширенная сортировка по месяцам/неделям/дням, частоте и другим параметрам; Специальный фильтр жирным шрифтом, курсивом …
  • Объединить рабочие книги и рабочие таблицы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF …
  • Группировка сводной таблицы по номеру недели, дню недели и другим параметрам … Показывать разблокированные, заблокированные ячейки разными цветами; Выделите ячейки с формулой/именем … ->

  • Более 300 мощных функций. Поддерживает Office/Excel 2007-2019 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.

Подробнее .. . Бесплатная загрузка … Купить …


Вкладка “Office”. Интерфейс с вкладками добавлен в Office, что значительно упростит вашу работу.

  • Включить редактирование и чтение с вкладками в Word, Excel, PowerPoint , Publisher, Access, Visio и Project.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!

Подробнее … Скачать бесплатно … Купить …

  • 7 комментариев
  • Войти
  • Сортировать по самым новым

    • Лучшим
    • популярным
    • Новейшие
    • Самый старый
Вы гость
или отправьте сообщение в качестве гостя, но ваше сообщение не будет опубликовано автоматически.

Загрузка комментария … Комментарий будет обновлен после 00:00.

  • Для публикации в качестве гостя ваш комментарий не публикуется.

    АААААА. Наконец то, что работает! Gj!

    • Ответ
  • Для публикации в качестве гостя ваш комментарий не будет опубликован.

    Мне нужно удалить весь текст в ячейке, ЗА ИСКЛЮЧЕНИЕМ определенного набора слов. Например, список фруктов или овощей в столбце A, а столбец B содержит описание овощей, включая цвет, и я хочу удалить весь текст в ячейках столбца B, кроме цветных слов. Есть идеи?

    • Ответ
  • Для публикации в качестве гостя ваш комментарий не будет опубликован.

    Привет, я хочу спросить, есть ли формула для добавления точки к каждому сокращению в одной ячейке в предложении?

    пример

    825 яблочный рд ст. № 5 – я хочу добавить точку на «рд» и «ст», чтобы сделать его формальным

    надеюсь, вы можете мне помочь

    спасибо

    • Ответить
    • Для публикации в качестве гостя ваш комментарий не будет опубликован.

      Привет,
      Функция добавления текста в Kutools for Excel может помочь вам решить проблему: https://www.extendoffice.com/ product/kutools-for-excel/excel-add-same-text-to-multiple-cells.html

      • Ответить
  • Для публикации в качестве гостя ваш комментарий не публикуется.

    Formatunknown · 2 года назад

    Что делать, если вы хотите сохранить формат числа или десятичных знаков? т.е. Apple30.01? за ответ 30.01? ваш vb бросает пятно?

    • Ответ
    • Для публикации в качестве гостя ваш комментарий не публикуется.

      Привет, Formatunknown,
      В этой ситуации рекомендуется Kutools для Excel Удалить символы.
      Выберите ячейки, включите функцию «Удалить символы», отметьте только параметр «Альфа» и нажмите кнопку «ОК», чтобы удалить все буквенные символы и оставить числа, включая десятичные разряды.

      • doc-comments-3244.png
      • Ответить
  • Для публикации в качестве гостя ваш комментарий не будет опубликован.

    • Ответить
  • Удалить символы * и ?
  • Удалить символы по их типу
    • Удалить все, кроме букв и цифр (удалить пунктуацию)
    • Лишние пробелы
    • Лишние символы справа / слева
    • Цифры
    • Буквы, латиница, кириллица
  • Удалить всё, кроме…
    • Удалить все, кроме цифр (извлечь цифры)
    • Удалить все, кроме букв (извлечь буквы)
    • Другое
  • Другие операции с символами в Excel

Когда меня спрашивают, как удалить в Excel лишние символы, я не могу не задать ряд встречных вопросов:

  1. Что послужило причиной называть их лишними и избавиться от них?
  2. Что конкретно подразумевает процедура удаления? Мы будем непременно удалять их или заменим символы на какие-то другие, или, может быть, перенесем в другой столбец?
  3. Точно ли имеет смысл удалять сами символы? Может быть, стоит удалить из текста слова, в которых они содержатся? Или и вовсе содержимое ячеек целиком?
  4. Не проще ли вместо удаления этих символов рассматривать такую операцию, как извлечение из текста определенных символов кроме этих, удаляемых?

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

Удалить символы * и ?

См. Подстановочные символы в Excel.

Удалить символы по их типу

MS Excel не предлагает удаление символьных множеств по их признаку, единственной процедурой для удаления всегда остается “найти и заменить”, позволяющая удалять один символ или подстроку за раз. Но, если приложить некоторые усилия, все возможно.

Удалить все, кроме букв и цифр (удалить пунктуацию)

Удалить все символы, кроме букв и цифр, а иначе говоря, пунктуацию, — нетривиальная задача, ведь таких символов могут быть сотни! Но и она решается — смотрите статью на эту тему.

Лишние пробелы

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

Лишние символы справа / слева

Кто-то видит лишними символы справа или слева от основного текста в ячейке, желая отрезать их от него по позиции или по определенной границе. О том, как удалить N символов с начала или с конца каждой ячейки, читайте в этой статье.

В случае если границей является определенный символ и нужно удалить всё, что перед ним, поможет вот этот текст.

Цифры

Бывает, что ненужными символами становятся цифры, которых десять, и хочется более быстрый способ, чем очищать строки от них методом замены на пустоту. Как удалить цифры из текста в ячейках — этот раздел даст ответ на вопрос.

Буквы, латиница, кириллица

Аналогично сложно удалить разом все буквы алфавита, которых 26 или 33 в случае с английскими и русскими символами соответственно. О том, как удалить латиницу в Excel, читайте в моем гайдлайне.

Удалить всё, кроме…

Часты случаи, когда лишними считаются вообще все символы, кроме определенных. Тут речь уже больше об извлечении нужных символов, а не об удалении ненужных.

Удалить все, кроме цифр (извлечь цифры)

Номера телефонов, почтовые коды, числовые артикулы, IP адреса… Иногда проблемой является наличие в ячейках других символов, помимо цифр. Читайте об этом: Удалить всё, кроме цифр в ячейках Excel.

Удалить все, кроме букв (извлечь буквы)

Случай, когда в данных лишними являются любая пунктуация, цифры и прочие символы, кроме букв алфавита. Это могут быть:

  • кириллица;
  • латиница;
  • любые буквы.

Другое

Хотите узнать, как удалять другие символы в Excel? Оставляйте комментарии под этой статьей.

Не всегда нужны такие кардинальные меры, как удаление символов. Иногда необходимо просто обнаружить их наличие, извлечь или заменить на какие-то другие. В решении подобных задач вам помогут соответствующие разделы сайта:

  • Обнаружить символы;
  • Извлечь символы;
  • Изменить символы.

Также Microsoft Excel способен на полную мощность задействовать возможности регулярных выражений. Буквы, цифры, знаки препинания, специальные символы — регулярным выражениям подвластна работа с любыми данными. Подробнее на тему читайте в статье Регулярные выражения в Excel.


Смотрите также:

  • Как удалять ячейки по условию в Excel;
  • Как удалять определенные слова в Excel;
  • Как удалять ненужные столбцы и строки по множеству условий;
  • Как убрать формулы из ячеек и оставить только значения.

Хотите быстро удалять любые лишние символы или пробелы в ваших таблицах?
!SEMTools существенно расширит возможности вашего Excel.

Содержание

  1. Как оставить в ячейке Excel только числа, а весь текст удалить
  2. Способы удаления текста и сохранения числовой информации
  3. Первый метод: использование специальной формулы
  4. Второй метод: использование специального макроса
  5. Заключение и выводы о процедуре извлечение
  6. Как оставить в ячейке только цифры или только текст?
  7. Поиск по меткам

Как оставить в ячейке Excel только числа, а весь текст удалить

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

Способы удаления текста и сохранения числовой информации

Представим, что у нас есть такая информация, располагающаяся в ячейке: «Было доставлено кусков мыла 763шт». Нам необходимо сделать так, чтобы осталось только значение 763 для проведения разнообразных математических операций. Хорошо, если нужно избавиться от текстовых данных только в одной ячейке, тогда можно реализовать удаление ручным способом, но этот вариант не подходит, когда в табличке находится слишком много разной информации. Здесь необходимо применять различные специальные функции табличного редактора.

Первый метод: использование специальной формулы

Для реализации этой процедуры можно применять специальную массивную формулу. Примерная формула выглядит так:

Разберем основные моменты:

  1. Специальную формулу необходимо вбивать в поле при помощи комбинации кнопок «Ctrl+Shift+Enter».
  2. Стоит заметить, что в таком виде массивная формула может использоваться только с текстовой информацией, в которой число знаков не больше 99. Для увеличения диапазона нужно, к примеру, заменить параметр «СТРОКА($1:$99)» на «СТРОКА($1:$200)». Иными словами, мы вместо показателя 99 вводим число знаков с запасом. Если ввести слишком большой диапазон, то обработка формулы может занять длительное время.
  3. Если в текстовых данных числовые значения разбросаны по всему тексту, то формула не сможет правильно обработать информацию.

Детально рассмотрим специальную массивную формулу на таком примере: «Было доставлено кусков мыла 763шт., а заказывали 780»

  1. В поле А1 располагается сама текстовая информация, из которой мы будем извлекать числовые данные.
  2. Фрагмент: МИН(ЕСЛИ(ЕЧИСЛО(-ПСТР(А1;СТРОКА($1:$99);1));СТРОКА($1:$99))) позволяет определить позицию 1-го значения в поле. Получаем значение 29.
  3. Фрагмент: ПРОСМОТР(2;1/ЕЧИСЛО(-ПСТР(А1;СТРОКА($1:$99);1));СТРОКА($1:$99)) позволяет определить позицию последнего значения в поле. Получаем значение 31.
  4. Мы получаем такую формулу: =ПСТР(А1;29;31-29+1). Оператор ПСТР позволяет извлечь из текстовой информации, указанной 1-м аргументом, начиная с заданной позиции (29) с числом знаков, заданным 3-м аргументом.
  5. В результате мы получаем:
    =ПСТР(А1;29;31-29+1)
    • =ПСТР(А1;29;2+1)
    • =ПСТР(А1;29;3)
    • 763

Бывают ситуации обратные, когда нужно реализовать операцию извлечения односоставных текстовых данных, исключив числа.

Нам необходимо сохранить только текстовую информацию.

Специальная формула применяется по аналогичному алгоритму, что и вышерассмотренная. Она выглядит так: =ПСТР(А1;ПОИСК(«-«;А1)+1;ПОИСКПОЗ(ИСТИНА;ЕЧИСЛО(—ПСТР(ПСТР(А1;ПОИСК(«-«;А1)+1;999);СТРОКА($1:$99);1));0)-1)

Здесь мы, благодаря фрагменту ПОИСК(«-«;А1) отыскали локацию тире, а затем при помощи оператора ПОИСКПОЗ нашли в извлеченных текстовых данных позицию 1-го числа. Передали эти показатели в оператор ПСТР, который реализовал все дальнейшие преобразования.

Второй метод: использование специального макроса

Эту процедуру можно реализовать при помощи специального макроса, созданного в табличном редакторе Эксель. К примеру, у нас есть табличка, в которой существует колонка с текстовой информацией и числовыми данными. Нам нужно оставить только числовые данные, убрав при этом текст.

В табличном редакторе отсутствует интегрированная функция, поэтому нам необходимо создать такой пользовательский макрос:

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))

GetNumbers = GetNumbers & Mid(TargetCell, LenStr, 1)

Подробная инструкция по созданию пользовательского макроса выглядит так:

  1. Используя специальную комбинацию клавиш «Alt+F11», производим открытие редактора VBA. Альтернативный вариант – нажать ПКМ по рабочему листу и выбрать элемент «Исходный текст».
  2. Реализуем создание нового модуля. Для осуществления этой процедуры жмем левой клавишей мышки на элемент, имеющий наименование «Insert», а затем выбираем объект «Module».
  3. Производим копирование кода, который располагается выше, и вставляем его в созданный модуль. Копирование реализуем при помощи сочетания клавиш «Ctrl+C», а вставку – «Ctrl+V».
  4. Теперь в необходимой ячейке, в которой мы планируем вывести только числовую информацию, вбиваем такую формулу: =GetNumbers(А1).
  5. Нам нужно растянуть формулу вниз на все ячейки колонки. Для этого наводим указатель на нижний правый уголок ячейки. Курсор принял форму небольшого плюсика темного цвета. Зажимаем левую клавишу мышки и протягиваем формулу вниз до окончания таблички.

  1. Готово! Мы реализовали извлечение числовой информации при помощи специального макроса.

Заключение и выводы о процедуре извлечение

Мы выяснили, что существует несколько способов, позволяющих реализовать извлечение числовой информации. Осуществить эту операцию можно при помощи создания специальных макросов в редакторе VBA или же используя массивную формулу. Каждый пользователь может самостоятельно выбрать для себя наиболее удобный способ, который позволит ему убрать текстовую информацию из ячейки и оставить при этом числовые данные.

Источник

Как оставить в ячейке только цифры или только текст?

Вот бывает так: есть у Вас в ячейке некий текст. Допустим «Было доставлено кусков мыла 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)
Три важных момента:

  1. Формула вводится в ячейку сочетанием клавиш Ctrl+Shift+Enter, т.к. является формулой массива. Подробнее про эти формулы читайте в статье: Что такое формула массива
  2. в таком виде формула работает с текстом, количество символов в котором не превышает 99. Чтобы расширить необходимо в формуле во всех местах заменить СТРОКА( $1:$99 ) на СТРОКА( $1:$200 ) . Т.е. вместо 99 указать количество символов с запасом. Только не увлекайтесь, иначе может получиться, что формула будет работать слишком долго
  3. формула не обработает корректно текст » Было доставлено кусков мыла 763шт., а заказывали 780 » и ему подобный, где числа раскиданы по тексту.

Теперь коротко разберем формулу на примере фразы: Было доставлено кусков мыла 763шт.

  • в A1 сам текст, из которого необходимо извлечь числа: Было доставлено кусков мыла 763шт., а заказывали 780
  • блок: МИН(ЕСЛИ(ЕЧИСЛО(-ПСТР( A1 ;СТРОКА( $1:$99 );1));СТРОКА( $1:$99 )))
    вычисляет позицию первой цифры в ячейке — 29
  • блок: ПРОСМОТР(2;1/ЕЧИСЛО(-ПСТР( A1 ;СТРОКА( $1:$99 );1));СТРОКА( $1:$99 ))
    вычисляет позицию последней цифры в ячейке — 31
  • в результате получается: =ПСТР( A1 ;29;3129+1)
    функция ПСТР извлекает из текста, указанного первым аргументом( A1 ) текст, начиная с указанной позиции(29) с количеством символов, указанным третьим аргументом(3129+1)
  • И в итоге:
    =ПСТР( A1 ;29;3129+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

Данный код необходимо поместить в стандартный модуль книги. После этого в мастере функций в категории Определенные пользователем (User Defined) будет доступна функция Extract_Number_from_Text , которую можно будет применять как обычную функцию на листе.
Для извлечения только чисел
=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 601 скачиваний)

Статья помогла? Поделись ссылкой с друзьями!

Поиск по меткам

Здравствуйте скрипт при обработке ячейки:
Пр-ка ТНВД 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 сразу в случае с такими функциями.

Источник

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

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

Как удалить цифры из текста?

Программа осуществляет перебор символов в каждой ячейке и удаляет из значений ячеек только те символы, которые задал пользователь в диалоговом окне надстройки. Так, чтобы удалить из значений ячеек все цифры, нужно выбрать пункт «Только цифры».

Как удалить буквы из текста?

Чтобы удалить буквы из текста, необходимо в диалоговом окне надстройки выбрать пункт «Любые буквы», при этом в тексте ячеек цифры и знаки остаются, а все буквы, независимо от того русские они или английские, удаляются. Предусмотрено удаление из текста только латиницы (букв латинского алфавита) или только кириллицы (букв русского алфавита).

Как удалить лишние символы?

Для удаления лишних символов, необходимо выбрать пункт «Только знаки», при этом все символы кроме цифр и букв удаляются, но имеется возможность задать символы-исключения, например, чтобы все слова не слились в одну строку, можно установить флажок в поле «а также символы:» и вписать пробел. В поле для символов-исключений можно вписать любой другой символ, либо группу символов, друг за другом без пробелов или других разделителей.

 Как удалить только заданные символы?

В случае, если необходимо удалить из значений ячеек отдельные символы из разных групп, предусмотрена возможность перечислить все символы, подлежащие удалению через точку с запятой. Для удаления самого символа «;» (точка с запятой) можно использовать опцию удаления по ASCII-кодам. Например, символу «;» соответствует ASCII-код «59». Эта опция будет также полезна при необходимости удаления непечатаемых символов, например символа перевода на новую строку.

Выборочное удаление символов из ячеек Excel

быстрое удаление символовCompleteSolution

надстройка для выборочного удаления символов из ячеек Excel

Надстройка позволяет пользователям в выбранном диапазоне ячеек осуществлять выборочное удаление из значений:

1) только цифр;

2) цифр и любых символов (кроме букв);

3) любых букв, как русского, так и английского алфавита;

4) любых букв и знаков;

5) любых букв и цифр;

6) только знаков (всех, кроме букв и цифр);

7) только букв кириллицы;

8) букв кириллицы и знаков;

9) только букв латиницы;

10) букв латинского алфавита и любых знаков;

11) символов, заданных вручную либо по ASCII-кодам.

При удалении группы символов программа позволяет создавать исключения из группы в поле «кроме символов», то есть задавать символы, которые не будут удаляться.

Удаление символов из выделенного текста документа Word

удаление символов в word 

CompleteSolutionнадстройка для выборочного удаления символов из текста Word

Надстройка дает возможность удалять группы символов в выделенном тексте документа Word:

1) изменять цвет шрифта у заданных символов;

2) удалять заданные символы;

3) создавать исключения из заданной группы символов;

4) осуществлять выбор одной из групп символов (цифры, знаки, буквы латиницы, буквы кириллицы и сочетания этих групп);

5) задавать символы вручную;

6) задавать ASCII-коды символов.

Другие материалы по теме:

Зачистка текста

Зачастую текст, который достается нам для работы в ячейках листа Microsoft Excel далек от совершенства. Если он был введен другими пользователями (или выгружен из какой-нибудь корпоративной БД или ERP-системы) не совсем корректно, то он легко может содержать:

  • лишние пробелы перед, после или между словами (для красоты!)
  • ненужные символы («г.» перед названием города)
  • невидимые непечатаемые символы (неразрывный пробел, оставшийся после копирования из Word или «кривой» выгрузки из 1С, переносы строк, табуляция)
  • апострофы (текстовый префикс – спецсимвол, задающий текстовый формат у ячейки)

Давайте рассмотрим способы избавления от такого «мусора».

Замена

«Старый, но не устаревший» трюк. Выделяем зачищаемый диапазон ячеек и используем инструмент Заменить с вкладки Главная – Найти и выделить (Home – Find & Select – Replace) или жмем сочетание клавиш Ctrl+H.

Изначально это окно было задумано для оптовой замены одного текста на другой по принципу «найди Маша – замени на Петя», но мы его, в данном случае, можем использовать его и для удаления лишнего текста. Например, в первую строку вводим «г.» (без кавычек!), а во вторую не вводим ничего и жмем кнопку Заменить все (Replace All). Excel удалит все символы «г.» перед названиями городов:

clean-text1.png

Только не забудьте предварительно выделить нужный диапазон ячеек, иначе замена произойдет на всем листе!

Удаление пробелов

Если из текста нужно удалить вообще все пробелы (например они стоят как тысячные разделители внутри больших чисел), то можно использовать ту же замену: нажать Ctrl+H, в первую строку ввести пробел, во вторую ничего не вводить и нажать кнопку Заменить все (Replace All).

Однако, часто возникает ситуация, когда удалить надо не все подряд пробелы, а только лишние – иначе все слова слипнутся друг с другом. В арсенале Excel есть специальная функция для этого – СЖПРОБЕЛЫ (TRIM) из категории Текстовые. Она удаляет из текста все пробелы, кроме одиночных пробелов между словами, т.е. мы получим на выходе как раз то, что нужно:

clean-text2.png

Удаление непечатаемых символов

В некоторых случаях, однако, функция СЖПРОБЕЛЫ (TRIM) может не помочь. Иногда то, что выглядит как пробел – на самом деле пробелом не является, а представляет собой невидимый спецсимвол (неразрывный пробел, перенос строки, табуляцию и т.д.). У таких символов внутренний символьный код отличается от кода пробела (32), поэтому функция СЖПРОБЕЛЫ не может их «зачистить».

Вариантов решения два:

  • Аккуратно выделить мышью эти спецсимволы в тексте, скопировать их (Ctrl+C) и вставить (Ctrl+V) в первую строку в окне замены (Ctrl+H). Затем нажать кнопку Заменить все (Replace All) для удаления.
  • Использовать функцию ПЕЧСИМВ (CLEAN). Эта функция работает аналогично функции СЖПРОБЕЛЫ, но удаляет из текста не пробелы, а непечатаемые знаки. К сожалению, она тоже способна справится не со всеми спецсимволами, но большинство из них с ее помощью можно убрать.

Функция ПОДСТАВИТЬ

Замену одних символов на другие можно реализовать и с помощью формул. Для этого в категории Текстовые в Excel есть функция ПОДСТАВИТЬ (SUBSTITUTE). У нее три обязательных аргумента:

  • Текст в котором производим замену
  • Старый текст – тот, который заменяем
  • Новый текст – тот, на который заменяем

С ее помощью можно легко избавиться от ошибок (замена «а» на «о»), лишних пробелов (замена их на пустую строку «»), убрать из чисел лишние разделители (не забудьте умножить потом результат на 1, чтобы текст стал числом):

clean-text3.png

Удаление апострофов в начале ячеек

Апостроф (‘) в начале ячейки на листе Microsoft Excel – это специальный символ, официально называемый текстовым префиксом. Он нужен для того, чтобы дать понять Excel, что все последующее содержимое ячейки нужно воспринимать как текст, а не как число. По сути, он служит удобной альтернативой предварительной установке текстового формата для ячейки (Главная – Число – Текстовый) и для ввода длинных последовательностей цифр (номеров банковских счетов, кредитных карт, инвентарных номеров и т.д.) он просто незаменим. Но иногда он оказывается в ячейках против нашей воли (после выгрузок из корпоративных баз данных, например) и начинает мешать расчетам. Чтобы его удалить, придется использовать небольшой макрос. Откройте редактор Visual Basic сочетанием клавиш Alt+F11, вставьте новый модуль (меню Insert — Module) и введите туда его текст:

	 
Sub Apostrophe_Remove() 
   For Each cell In Selection 
      If Not cell.HasFormula Then 
         v = cell.Value 
         cell.Clear 
         cell.Formula = v 
      End If 
    Next 
End Sub

Теперь, если выделить на листе диапазон и запустить наш макрос (Alt+F8 или вкладка Разработчик – кнопка Макросы), то апострофы перед содержимым выделенных ячеек исчезнут.

Английские буквы вместо русских

Это уже, как правило, чисто человеческий фактор. При вводе текстовых данных в ячейку вместо русских букв случайно вводятся похожие английские («це» вместо русской «эс», «игрек» вместо русской «у» и т.д.) Причем снаружи все прилично, ибо начертание у этих символов иногда абсолютно одинаковое, но Excel воспринимает их, конечно же, как разные значения и выдает ошибки в формулах, дубликаты в фильтрах и т.д.

Можно, конечно, вручную заменять символы латинцы на соответствующую им кириллицу, но гораздо быстрее будет сделать это с помощью макроса. Откройте редактор Visual Basic сочетанием клавиш Alt+F11, вставьте новый модуль (меню Insert — Module) и введите туда его текст:

	 
Sub Replace_Latin_to_Russian() 
  Rus = "асекорхуАСЕНКМОРТХ" 
  Eng = "acekopxyACEHKMOPTX" 
  For Each cell In Selection 
    For i = 1 To Len(cell) 
      c1 = Mid(cell, i, 1) 
      If c1 Like "[" & Eng & "]" Then 
         c2 = Mid(Rus, InStr(1, Eng, c1), 1) 
         cell.Value = Replace(cell, c1, c2) 
      End If 
    Next i 
  Next cell 
End Sub

Теперь, если выделить на листе диапазон и запустить наш макрос (Alt+F8 или вкладка Разработчик – кнопка Макросы), то все английские буквы, найденные в выделенных ячейках, будут заменены на равноценные им русские. Только будьте осторожны, чтобы не заменить случайно нужную вам латиницу :)

Ссылки по теме

  • Поиск символов латиницы в русском тексте
  • Проверка текста на соответствие заданному шаблону (маске)
  • Деление «слипшегося» текста из одного столбца на несколько

Оставить в ячейке только числа (удалить весь текст)

Данная команда позволяет массово удалять из текст множества ячеек весь текст кроме чисел:

Оставить в ячейке только числа (удалить весь текст)

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

ostavit-v-yachejke-tolko-chisla-udalit-ves-tekst

В выделенных ячейках останутся только числа.

Для отмены операции нажмите кнопку отмены:

Добавить комментарий

Понравилась статья? Поделить с друзьями:
  • Excel удалить ведущие нули
  • Excel удалить в ячейке все после знака
  • Excel удалит пробелы в строке
  • Excel удалит пробелы в конце ячейки
  • Excel удалил лист как восстановить