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

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

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

Представим, что у нас есть такая информация, располагающаяся в ячейке: «Было доставлено кусков мыла 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 только числа, а весь текст удалить

Специальная формула применяется по аналогичному алгоритму, что и вышерассмотренная. Она выглядит так: =ПСТР(А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. Готово! Мы реализовали извлечение числовой информации при помощи специального макроса.

Удаление цифр последовательной заменой

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

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

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

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

Удаление формул

Специального инструмента, который бы помог выполнить данную процедуру, в Эксель нет. Однако решить этот вопрос можно, причем разными методами.

Симптомы

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

####-####-####-####

В этой ситуации Excel последнюю цифру на ноль.

Разделить текст в ячейке Excel по столбцам.

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

​ вернуть!!!​ привык както формулами​ ​ использовать одну (две)​

​ не вся номенклатура.​ бампера следующая​ количество символов. Именно​ Из-за несовместимости структуры​_Boroda_​Очень нужно !!!​ получить, в соотв.​ заменой не получается,​ С1 можно ввести​

​ кода​

​ используются номера кредитных​ ​ них сотрется и​ работают формулы в​

​Рассмотрим,​

​GIG_ant​ обходится, если формулой​

​ UDF вместо кучи​ А там где​ ячейка E771SXA000​ поэтому мы называли​ данных при импорте​

​: Если сначала всегда​То что есть:​ с Правилами​

​ т.к эксель принимает​

​ формулу​0000000000​ карт или другие​ заменится на новую.​ Excel».​как разделить текст в​: ту Михаил:​

​ никак низя подскажите​ стандартных формул.​

​ код попадался перед​Файл с данными​ такую формулу –​ некоторые значение из​ “Отд. №”​То что нужно​

​Амортизатор задний 271.00.00​ * за универсальный​=ПСТР(A1;НАЙТИ(” “;A1)+1;ДЛСТР(A1))​

​, благодаря чему для​

​ числовые коды, содержащие​ Если нет пустых​В Excel есть​ ячейках​Понял!!! Вы хитро​ плз. как вставить​

​И кстати макросы​ текстом, так это​ прилагаю. Помогите очень​ гибкой, в начале​ разных категорий были​=ПСТР(E25;7;9)​Иван леконтцев​

​ плаза – код​ символ-заменитель :(​

​которая нам вернёт​

​ отображения всех цифр​ 16 цифр или​ столбцов, можно предварительно​ несколько разных способов​Excel по столбцам формулой​

​ сделали цикл функцией​ пользовательскую функцию в​ разрешать не нужно,​ и можно руками​ надо…​ статьи. Она подходит​

​ внесены в одну​Если нужно не​: текст с числами​ “271.00.00” или “271.00.00​Guest​ текст после кода​ десять кода продукта,​

​ более, необходимо использовать​ вставить столбцы. Как​ сгрупприровать данные в​. В Excel есть​ ПСТР(A1;СТРОКА($1:$30);1) добавив формулу​ ексель так что​ если UDF в​ исправить, а весь​sulfur​ для любых условий​ ячейку. Необходимо из​ текстом, а числами​

excel-office.ru>

Метод 1: копируем значения с помощью параметров вставки

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

  1. Для начала с помощью зажатой левой кнопки мыши нужно выделить область ячеек, которую мы хотим скопировать.Выделенный диапазон ячеек в Эксель
  2. Правой кнопкой мыши щелкаем по любой точке выделенного диапазона и в открывшемся контекстном меню выбираем пункт “Копировать”. Также, можно вместо этого действия можно просто нажать сочетание клавиш Ctrl+C (после того, как выполнено выделение).Копирование диапазона ячеек в Эксель через контекстное менюДля копирования данных можно также воспользоваться кнопкой “Копировать”, которая расположена на лента программы во вкладке “Главная”.Копирование диапазона ячеек в Excel с помощью кнопки на ленте
  3. Переходим в ячейку, начиная с которой мы хотим вставить скопированные данные (эта ячейка станет самой верхней левой точкой диапазона данных, который мы будем вставлять из буфера обмена). Затем правой кнопкой мыши щелкаем по выбранному элементу, в появившемся меню в группе “Параметры вставки” кликаем по варианту “Значения” (значок в виде цифр “123”).Вставка скопированных значений в Эксель
  4. В результате скопированная область данных (только конкретные числовые значения, без формул) будет вставлена в новое место.Вставленные из буфера обмена данные в Excel

Формула для удаления цифр из ячейки

В Excel есть функция «ПОДСТАВИТЬ«, она позволяет заменить символ или несколько символов, встречающиеся в ячейке, полностью, вне зависимости от того, сколько раз они встречаются в строке.

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

=ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(A1;”1″;””);”2″;””);”3″;””);”4″;””);”5″;””);”6″;””);”7″;””);”8″;””);”9″;””);”0″;””)

Автору этого сайта и надстройки !SEMTools часто приходилось решать эту и множество похожих задач, поэтому у него был огромный текстовый файлик с такими формулами. Его приходилось всегда иметь на виду, чтобы быстро использовать нужные. Это было неудобно.

Так пришла идея реализовать возможность производить такие операции в 1 клик и легко находить их. И теперь она есть, в составе целого пакета из 500+ похожих процедур надстройки !SEMTools.

Причина

Excel спецификации IEEE 754 для хранения и вычисления номеров с плавающей точкой. Excel сохраняет только 15 значимых цифр в номере и изменяет цифры после пятнадцатого места в ноль

Удалить цифры из текста ячеек в 1 клик

Процедура доступна на панели !SEMTools в разделе «УДАЛИТЬ» в меню «Удалить символы«. Перед удалением рекомендуется воспользоваться похожей функций «Найти числа в ячейках«, чтобы сначала посмотреть, какие ячейки затронет удаление. Смотрите пример:

Удаление текста с помощью заливки Flash

Flash Fill — это инструмент, который был представлен в Excel 2013 и доступен во всех последующих версиях.

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

Поэтому, если вы хотите удалить текст до или после определенного символа, вам просто нужно показать flash fairy, как будет выглядеть результат (введя его вручную пару раз), и flash fill автоматически распознает узор и даст вам результаты.

Позвольте показать вам это на примере.

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

d4de30e0b44d32a910f0b4ad74c31776.pngВот шаги, чтобы сделать это с помощью Flash Fill:

Вышеупомянутые шаги дадут вам результат, как показано ниже:

9edb11636c5c2c5927c8ff5fa4fa307e.pngВы также можете использовать сочетание клавиш Control + E для Flash Fill после выбора ячеек в столбце результатов (столбец B в нашем примере)

Flash Fill — замечательный инструмент, и в большинстве случаев он может распознать узор и дать вам правильный результат. но в некоторых случаях он может не распознать шаблон правильно и может дать неверные результаты.

Так что не забудьте еще раз проверить результаты Flash Fill.

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

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

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

Рейтинг
( 1 оценка, среднее 5 из 5 )
Загрузка ...