Как в 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!

вопрос

Те, кто работает в Эксель, часто сталкиваются с необходимостью удалить несколько символов слева и справа в ячейке excel. Провести данную процедуру можно несколькими способами. Ниже будет рассмотрены способы извлечения лишних букв или цифр.

Устранение первого элемента в таблице Эксель

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

  • Имеется табличный документ, где нужно удалить 1 (первый) элемент.
  • Для начала следует выполнить подсчет символов в ячейках. Используется оператор ДЛСТР. Осуществляется подсчет. В ячейке В2 вводится ДЛСТР (А2) и нажимается Enter. Число подсчитано – 4.

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

  • Далее следует узнать, как удалить первый левый символ в ячейке excel формулу. Применяют операцию ПРАВСИМВ. Следует навести на В2 курсор, записав следующее: =ПРАВСИМВ(А2;ДЛСТР(А2)-1. Это позволит удалить один элемент с левой стороны. А2 в данном случае координата, где следует произвести удаление, а ДЛСТР(А2)-1 – количество элементов, которые следует оставить с конца строки справа. Расчет производится путем вычисления. Отнимается один символ слева. Таблица примет следующий вид:

  • Следующий шаг – скопировать действующую формулу. В ячейке В2 установить курсор, схватить левой кнопкой мыши черный крестик в правом нижнем углу и протянуть. Значения изменятся и примут следующий вид:

Удаление буквы, цифры до определенного элемента в таблице Эксель

Нередко требуется удалить количество знаков, символов в ячейке excel до конкретного элемента. Для решения этой проблемы достаточно использовать следующую операцию: =ЗАМЕНИТЬ(A1;1;ПОИСК(«знак»;A1);). В результате таблица принимает следующий вид:

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

Удаление текста до запятой в таблице Эксель

На курсах Excel https://bryansk.videoforme.ru/computer-programming-school/excel-courses говорят о том, что если необходимо выполнить удаление до запятой, то используется следующая формула: =ЗАМЕНИТЬ(A1;1;ПОИСК(«@»;A1);). В результате пользователь получит следующий вид табличного документа:

Удаление напечатанного текста до пробела в таблице Эксель

Для того, чтобы убрать символ в ячейке excel до пробела, используют операцию: =ЗАМЕНИТЬ(А1;1;ПОИСК(«@»;А1);). В данном случае после введения формулы табличный документ будет иметь следующий вид:

После выполнения протяжки будет следующий результат:

Удаление с применением ПОДСТАВИТЬ

Удаление элементов производится также при помощи простой функции – ПОДСТАВИТЬ. Написание оператора выполняется следующим образом:

=ПОДСТАВИТЬ(данные;старые_данные;новые_данные;номер_вхождения). Расшифровка написанной строки:

  • Данные – введение информации, которая подлежит изменению.
  • Старые_данные – информация, которая подлежит изменению.
  • Новые_данные – информация, которая будет расположена на месте старого текста.
  • Номер_вхождения – необязательное условие.

К примеру, есть определенный текст, где следует удалить точки, которые расположены слева от основного текста. Тогда пользователь должен ввести формулу следующего вида: =ПОДСТАВИТЬ(А1;».»;» «). После активации формулы, все знаки, которые расположены слева от основного текста будут заменены на пробелы. Далее следует устранить пробелы. Чтобы это сделать, применяют оператор СЖПРОБЕЛЫ. При помощи функции можно найти и удалить все имеющиеся пробелы. Вид написания выглядит следующим образом: =СЖПРОБЕЛЫ().

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

Удаление с применением ПЕЧСИМВ

Еще для понимания, как удалить количество символов в ячейке excel, применяют ПЕЧСИМВ. Написание в строке выглядит следующим образом: =ПЕЧСИМВ(). При помощи данного оператора можно удалить различные непечатные знаки и символы в строке. К ним можно отнести:

  • переносы строчки;
  • значок абзаца;
  • квадраты и так далее.

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

С помощью функции ЗАМЕНА

В экселе можно найти необходимую информацию путем использования функции поиска и замены. Например, найти фрагмент текста или определенного числа. Поиск можно организовать по строкам, столбцам, по значениям или в примечаниях. Для поиска в документе можно воспользоваться двумя способами – использовать горячие клавиши CTRL+F или при помощи раздела »”»”&”»НАЙТИ”. Рассмотрим подробнее, как использовать операцию ЗАМЕНА.

Для того чтобы произвести замену какой-либо информации (текста или числа), используют горячие клавиши CTRL+H или проследовать по пути: раздел, редактирование, Найти & Выберите, Заменить. Далее следует выполнить ряд действий:

  1. Необходимая информация вводится в поле «Найти что:». Для поиска допускается использовать подстановочные знаки: знак вопроса, звездочку, тильду.

Вопросительный знак применяют, когда необходимо найти один элемент. Пример: p?t, тогда найдет pit, pet.

Звездочка – помогает находить несколько символов. Пример: p?e, тогда найдет prepare, propose, provide, а также слова с одним элементом в середине.

Тильда используется для поиска любых знаков. Пример: ps25~? будет находить «ps25?».

  1. Дальнейшие действия – ввести в поле «Заменить на :» нужную информацию, которая будет использована для замены текста поиска.
  2. Нажать «Заменить все» или «Заменить». Первая команда производит замену каждого вхождения условий. Вторая команда будет обновлять одно вхождение за раз.
  3. Ввести «>>», если необходимо продолжить поиск и выбрать:
  • «B:» – поиск данных на листе или во всем документе.
  • «Поиск:» – поиск по строке или столбцу.
  • «Посмотрите:» – поиск данных с определенной информацией. Тематика определяется поисковыми запросами – формулы, значения, заметки, примечания.

Сразу нужно сказать, что формулы, значения, заметки, примечания актуальны для вкладки найти, для замены доступны только формулы.

  1. Для поиска текста или чисел с конкретным форматированием нужно нажать «формат». После этого нажать «поиск формата».

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

Копируем из ячейки все, кроме первого символа

Есть еще один способ убрать количество символов в ячейке excel. Например, следует извлечь данные из ячейки, но за исключением первого символа. Тогда подойдет следующая формула: =MID(A1;2;LEN(A1)). В данной записи А1 является ячейкой, из которой производится извлечение. 2 – число, начиная с которого будет производиться операция. После введения формулы следует нажать Enter, а затем произвести протяжку формулы по столбцу. Таблица принимает следующий вид:

С помощью функции «Текст по столбцам»

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

Имеем таблицу следующего вида:

Первый столбец содержит информацию, которая состоит из номера и года. Следует произвести разделение данных на соседние столбцы. В ячейке В2 нужно записать такую формулу: =ЗНАЧЕН(ЛЕВСИМВ(А2;НАЙТИ(«/»;А2;1)-1)). Запись -1 говорит о том, что слэш не будет напечатан в соседнем столбце. После протяжки формулы, таблица примет следующий вид:

Далее следует выделить дату, которая будет пропечатана в столбце С2. Для этого в ячейке прописываем следующую формулу: =ДАТАЗНАЧ(ПСТР(А2;НАЙТИ(«/»;А2;1)+255)). Написание +1 в данном случае означает, что с датой не будет прописан слэш. Выдуманное число 255 – количество знаков, которое допустимо писать. По сути, отображаться будет только дата. Внешний вид таблицы после введения формулы и протяжки будет следующим:

Конечно, если разделение числовых фрагментов произведено не слэшем, а другим знаком, то указывать следует его.

С помощью автозаполнения

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

Если необходимо задать только четные или нечетные цифры, то написать 2,4 или же 1,3 соответственно. Далее путем протяжки провести по столбцу и ряд заполнится необходимыми цифровыми значениями.

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

С помощью Visual Basic

Редактор Visual Basic запускается с набора клавиш Alt+F11. При этом документ эксель остается открытым позади самого редактора. Также следует знать, что в Visual Basic можно открыть различные окна. При помощи меню View проводится управление окнами. Окна, которые может применять пользователь:

  • Проектирование.Project.
  • Кодирование. Code.
  • Установление свойств. Properties.
  • Отладчик данных. Immediate.
  • Работа с переменными. Locals.
  • Проведение отслеживания информации. Watches.

Удалить лишние символы из ячеек Excel

Удаление лишних символов в экселе – по сути, простая задача. За это в табличном документе отвечает функция CLEAN (ПЕЧСИМВ). С ее помощью возможно удалить все непечатные символы в ячейках.

Примеры лишних символов

Лишние символы могут быть разными. И методика их устранения может немного отличаться. Ниже рассмотрены примеры лишних знаков.

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

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

  • Процедура «Найти и заменить». Нужно нажать Ctrl+F и заполнить всплывающее окно. Найти – 2 пробела, заменить – 1 пробел. Это следует выполнять неоднократно, пока система не выдаст сообщение о том, что найти для замены ничего не удалось. Это происходит в том случае, когда все лишние проблемы устранены, или же в тексте есть места, где присутствует 3 и более пробелов.
  • СЖПРОБЕЛЫ. Полезный оператор, который позволяет устранить лишние пробелы. Для его применения требуется наличие свободного столбца для реализации в нем формулы.
  • если дополнительного столбца нет, и нужно изменить текст в том же месте, где он расположен, используют !SEMTools. Достаточно выделить нужный фрагмент и нажать кнопку на панели табличного документа.

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

Для того чтобы удалить последний правый символ в excel или расположенный слева от основного текста, применяют функции ЛЕВСИМВ, ПРАВСИМВ, ДЛСТР. Первые две отвечают за удаление знаков справа или слева. ДЛСТР оставляет необходимую информацию, обрезая ненужные данные до установленного элемента.

Цифры

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

  • поиск и замена;
  • многосоставная формула;
  • при помощи функции !SEMTools.

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

Латиница

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

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

Часто в табличном документе ненужными считаются все символы, кроме определенных. И здесь правильнее говорить об извлечении нужных элементов, нежели об удалении ненужных. В данной ситуации снова поможет !SEMTools. С помощью функции можно извлечь цифры, латиницу или жирный шрифт, а также определенные последовательности символов. Таким образом также можно в excel удалить первые 3 символа в ячейке или строке. Или нужное количество знаков.

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

Еще одна непростая задача – удалить все, кроме букв и цифр. Это значит – удалить пунктуацию. Таких знаков может быть несколько сотен, но все же решить данную проблему реально. Одно из самых простых и действенных решений – применение надстройки !SEMTools. В ней находим строку – символы и пунктуация. За пару кликов будут удалены все ненужные знаки.

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

Уже понятно, как удалить несколько последних знаков, символов в ячейке excel быстро и аккуратно. Но если нужно чтобы остались только цифры. В эксель документе часто содержатся списки телефонов, ip-адреса, почтовые коды. И часто другие элементы, кроме цифр, мешают. А значит, следует их устранить.Сделать это можно при помощи пользовательской функции (UDF) или же !SEMTools.

Заключение и выводы об удаление первого символы

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

На правах рекламы

Хитрости »

1 Май 2011              398254 просмотров


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

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

Чтобы правильно использовать приведенный код, необходимо сначала ознакомиться со статьей Что такое функция пользователя(UDF)?. Вкратце: скопировать текст кода выше, перейти в редактор VBA(Alt+F11) -создать стандартный модуль(InsertModule) и в него вставить скопированный текст. После чего функцию можно будет вызвать из Диспетчера функций(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
ссылки
статистика

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

Содержание

  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 или же используя массивную формулу. Каждый пользователь может самостоятельно выбрать для себя наиболее удобный способ, который позволит ему убрать текстовую информацию из ячейки и оставить при этом числовые данные.

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

Skip to content

Функция ЛЕВСИМВ в Excel. Примеры использования и советы.

В руководстве показано, как использовать функцию ЛЕВСИМВ (LEFT) в Excel, чтобы получить подстроку из начала текстовой строки, извлечь текст перед определенным символом, заставить формулу возвращать число и многое другое.

Среди множества различных функций, которые Microsoft Excel предоставляет для работы с текстовыми данными, ЛЕВСИМВ — одна из наиболее широко применяемых. Как следует из названия, она позволяет извлекать определенное количество знаков, начиная с левой стороны текста. Однако она способна на гораздо большее, чем такая простая операция. В этом руководстве вы найдете несколько базовых формул для понимания синтаксиса, а затем я покажу вам несколько способов, с помощью которых вы можете использовать ЛЕВСИМВ далеко за пределами ее базового применения.

  • Правила синтаксиса.
  • Как получить подстроку слева от определенного символа?
  • Удаляем последние N символов.
  • Как заставить ЛЕВСИМВ вернуть число, а не текст.
  • Почему не работает?

Cинтаксис.

Функция ЛЕВСИМВ в Excel возвращает указанное количество символов (подстроку) от начала содержимого ячейки.

Синтаксис следующий:

ЛЕВСИМВ (текст; [колич_знаков])

Где:

  • Текст  (обязательно) — это текст, из которого вы хотите извлечь подстроку. Обычно предоставляется как ссылка на ячейку, в которой он записан.
  • Второй аргумент  (необязательно) — количество знаков для извлечения, начиная слева.
    • Если параметр опущен, то по умолчанию подразумевается 1, то есть возвращается 1 знак.
    • Если введенное значение больше общей длины ячейки, формула вернет всё ее содержимое.

Например, чтобы извлечь первые 6 символов из A2, запишите такое выражение:

=ЛЕВСИМВ(A2; 6)

На следующем скриншоте показан результат:

Важное замечание! ЛЕВСИМВ относится к категории текстовых функций, поэтому результатом её всегда является текстовая строка, даже если исходное значение, из которого вы извлекаете цифры, является числом. Если вы работаете с числовым набором данных и хотите, чтобы было извлечено именно число, применяйте ее вместе с функцией ЗНАЧЕН, как показано в одном из примеров ниже.

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

Как извлечь подстроку перед определенным символом.

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

Если имя и фамилия разделены пробелом, проблема сводится к определению положения этого разделителя. Это можно легко сделать с помощью функции ПОИСК или НАЙТИ .

Предположим, что полное имя находится в ячейке A2, позиция пробела возвращается по этой простой формуле: ПОИСК(» «; A2)). А теперь вы вставляете это выражение в ЛЕВСИМВ:

=ЛЕВСИМВ(A2; ПОИСК(» «; A2))

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

=ЛЕВСИМВ(A2; ПОИСК(» «; A2)-1)

Таким же образом вы можете извлечь коды стран из столбца телефонных номеров. Единственное отличие состоит в том, что вам теперь нужно узнать позицию первого дефиса («-«), а не пробела:

=ЛЕВСИМВ(A2; ПОИСК(«-«; A2)-1)

Думаю, вы поняли, что можете брать эту универсальную формулу, чтобы получить подстроку, которая предшествует любому другому знаку:

ЛЕВСИМВ( строка ; ПОИСК( символ ; строка ) — 1)

Как удалить последние N символов.

Вы уже знаете, отрезать кусочек от начала текстовой строки. Но иногда вы можете захотеть сделать что-то другое — удалить определенное количество символов из конца строки и перенести оставшееся в другую ячейку. Для этого можно также применять функцию ЛЕВСИМВ в сочетании с ДЛСТР , например:

ЛЕВСИМВ ( текст ; ДЛСТР( текст ) — число_символов_для_удаления )

Это работает с такой логикой: ДЛСТР получает общее количество символов в ячейке, затем вы вычитаете количество ненужных знаков из общей длины, а ЛЕВСИМВ возвращает оставшееся.

Например, чтобы удалить последние 7 знаков из текста в A2, запишите такое выражение:

=ЛЕВСИМВ(A2; ДЛСТР(A2)-11)

Как показано на скриншоте, формула успешно отсекает слово «продукты» (8 букв, разделитель и 2 пробела) из текстовых значений в столбце A.

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

Как заставить ЛЕВСИМВ возвращать число.

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

Итак, как заставить ЛЕВСИМВ выводить числовое значение, а не текстовую строку, состоящую из цифр? Просто заключив его в функцию ЗНАЧЕН (VALUE), которая предназначена для преобразования текста, состоящего из цифр, в число.

Например, чтобы извлечь символы перед разделителем “-” из A2 и преобразовать результат в число, можно сделать так:

=ЗНАЧЕН(ЛЕВСИМВ(A2;ПОИСК(«-«;A2;1)-1))

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

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

Это лишь некоторые из множества возможных вариантов использования ЛЕВСИМВ в Excel. 

Дополнительные примеры формул ЛЕВСИМВ можно найти на следующих ресурсах:

  • Разделить строку запятой, двоеточием, косой чертой, тире или другим разделителем
  • Как разбить текстовую строку вида «число + текст» по столбцам 
  • Подсчитайте количество символов до или после данного символа

Не работает ЛЕВСИМВ — причины и решения

Если ЛЕВСИМВ не работает на ваших листах должным образом, это, скорее всего, связано с одной из причин, которые мы перечислим ниже.

1. Аргумент «количество знаков» меньше нуля

Если ваша формула возвращает ошибку #ЗНАЧ!, то первое, что вам нужно проверить, — это значение аргумента количество_знаков. Если вы видите отрицательное число, просто удалите знак минус, и ошибка исчезнет (конечно, очень маловероятно, что кто-то намеренно поставит отрицательное число, но человек может ошибиться :)

Чаще всего ошибка #ЗНАЧ! возникает, когда этот аргумент получен в результате вычислений, а не записан вручную. В этом случае скопируйте это вычисление в другую ячейку или выберите его в строке формул и нажмите F9, чтобы увидеть результат ее работы. Если значение меньше 0, проверьте на наличие ошибок.

Чтобы лучше проиллюстрировать эту мысль, возьмем формулу, которую мы записали в первом примере для извлечения телефонных кодов страны:

ЛЕВСИМВ(A2; ПОИСК(«-«; A2)-1)

Как вы помните, функция ПОИСК в наших примерах вычисляет позицию первого дефиса в исходной строке, из которой мы затем вычитаем 1, чтобы удалить дефис из окончательного результата. Если я случайно заменю -1, скажем, на -11, Эксель выдаст ошибку #ЗНАЧ!, потому что нельзя извлечь отрицательное количество букв и цифр:

2. Начальные пробелы в исходном тексте

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

Чтобы избавиться от ведущих пробелов на листах, воспользуйтесь СЖПРОБЕЛЫ (TRIM).

3. ЛЕВСИМВ не работает с датами.

Если вы попытаетесь использовать ЛЕВСИМВ для получения отдельной части даты (например, дня, месяца или года), в большинстве случаев вы получите только первые несколько цифр числа, представляющего эту дату. Дело в том, что в Microsoft Excel все даты хранятся как числа, представляющие количество дней с 1 января 1900 года. То, что вы видите в ячейке, это просто визуальное представление даты. Ее отображение можно легко изменить, применив другой формат.

Например, если у вас есть дата 15 июля 2020 года в ячейке A1 и вы пытаетесь извлечь день с помощью выражения ЛЕВСИМВ(A1;2). Результатом будет 44, то есть первые 2 цифры числа 44027, которое представляет 15 июля 2020г. во внутренней системе Эксель.

Чтобы извлечь определенную часть даты, возьмите одну из следующих функций:  ДЕНЬ(),  МЕСЯЦ() или  ГОД().

Если же ваши даты вводятся в виде текстовых строк, то ЛЕВСИМВ будет работать без проблем, как показано в правой части скриншота:

Вот как можно использовать функцию ЛЕВСИМВ в Excel. 

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

Как быстро посчитать количество слов в Excel В статье объясняется, как подсчитывать слова в Excel с помощью функции ДЛСТР в сочетании с другими функциями Excel, а также приводятся формулы для подсчета общего количества или конкретных слов в…
Как быстро извлечь число из текста в Excel В этом кратком руководстве показано, как можно быстро извлекать число из различных текстовых выражений в Excel с помощью формул или специального инструмента «Извлечь». Проблема выделения числа из текста возникает достаточно…
Как удалить пробелы в ячейках Excel Вы узнаете, как с помощью формул удалять начальные и конечные пробелы в ячейке, лишние интервалы между словами, избавляться от неразрывных пробелов и непечатаемых символов. В чем самая большая проблема с…
Функция СЖПРОБЕЛЫ — как пользоваться и примеры Вы узнаете несколько быстрых и простых способов, чтобы удалить начальные, конечные и лишние пробелы между словами, а также почему функция Excel СЖПРОБЕЛЫ (TRIM в английской версии)  не работает и как…
Функция ПРАВСИМВ в Excel — примеры и советы. В последних нескольких статьях мы обсуждали различные текстовые функции. Сегодня наше внимание сосредоточено на ПРАВСИМВ (RIGHT в английской версии), которая предназначена для возврата указанного количества символов из крайней правой части…
5 примеров с функцией ДЛСТР в Excel. Вы ищете формулу Excel для подсчета символов в ячейке? Если да, то вы, безусловно, попали на нужную страницу. В этом коротком руководстве вы узнаете, как использовать функцию ДЛСТР (LEN в английской версии)…
Как быстро сосчитать количество символов в ячейке Excel В руководстве объясняется, как считать символы в Excel. Вы изучите формулы, позволяющие получить общее количество символов в диапазоне и подсчитывать только определенные символы в одной или нескольких ячейках. В нашем предыдущем…

Понравилась статья? Поделить с друзьями:
  • Как в excel убрать цвет заливки
  • Как в excel убрать функцию с ячеек
  • Как в excel убрать формулу в экселе
  • Как в excel убрать формул цифр
  • Как в excel убрать фон картинки