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

от admin

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

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

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

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

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

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

в ASAP Util есть такая функция, но работает только с английским языком.

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

в ASAP Util есть такая функция, но работает только с английским языком.

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

в ASAP Util есть такая функция, но работает только с английским языком.

Подскажите пожалуйста. Автор — qpp
Дата добавления — 04.07.2012 в 12:06

Excel 2003 EN, 2013 EN

И ещё Автор — Формуляр
Дата добавления — 04.07.2012 в 12:17

Интересное решение, попробую разобраться на досуге.

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

тк для этого
МАТЕРИАЛ ПЕРЕВЯЗОЧНЫЙ АДГЕЗИВНЫЙ, ИМЕЮЩИЙ ЛИПКУЮ ПОВЕРХНОСТЬ, ДЛЯ ИСПОЛЬЗОВАНИЯ В МЕДИЦИНЕ, В КАРТ. КОРОБКАХ, КОД ОКП 939370:ГИПОАЛЛЕРГЕННЫЙ ФИКСИРУЮЩИЙ ПЛАСТЫРЬ НА ПЛАСТ. КАТУШКАХ: «OMNIPOR» РАЗМ.5СМХ9.2М, АРТ. — 9005829 — 80 УПАК. (ПО 2 ШТ) В 2 КАРТ.КОР. САМОКЛЕЯЩАЯСЯ ПОВЯЗКА ДЛЯ УХОДА ПОСЛЕОПЕРАЦИОННЫМИ РАНАМИ СО СПЕЦИАЛЬНОЙ НЕ ПРИКЛЕИВАЮЩЕЙСЯ К РАНЕ : «COSMOPOR ADVANCE|», РАЗМ.15X8CM, АРТ. — 9010141 — 12 УПАК. (ПО 25 ШТ), В 1 КАРТ.КОР.

формула не работает.

Интересное решение, попробую разобраться на досуге.

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

тк для этого
МАТЕРИАЛ ПЕРЕВЯЗОЧНЫЙ АДГЕЗИВНЫЙ, ИМЕЮЩИЙ ЛИПКУЮ ПОВЕРХНОСТЬ, ДЛЯ ИСПОЛЬЗОВАНИЯ В МЕДИЦИНЕ, В КАРТ. КОРОБКАХ, КОД ОКП 939370:ГИПОАЛЛЕРГЕННЫЙ ФИКСИРУЮЩИЙ ПЛАСТЫРЬ НА ПЛАСТ. КАТУШКАХ: «OMNIPOR» РАЗМ.5СМХ9.2М, АРТ. — 9005829 — 80 УПАК. (ПО 2 ШТ) В 2 КАРТ.КОР. САМОКЛЕЯЩАЯСЯ ПОВЯЗКА ДЛЯ УХОДА ПОСЛЕОПЕРАЦИОННЫМИ РАНАМИ СО СПЕЦИАЛЬНОЙ НЕ ПРИКЛЕИВАЮЩЕЙСЯ К РАНЕ : «COSMOPOR ADVANCE|», РАЗМ.15X8CM, АРТ. — 9010141 — 12 УПАК. (ПО 25 ШТ), В 1 КАРТ.КОР.

формула не работает.

Сообщение Интересное решение, попробую разобраться на досуге.

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

тк для этого
МАТЕРИАЛ ПЕРЕВЯЗОЧНЫЙ АДГЕЗИВНЫЙ, ИМЕЮЩИЙ ЛИПКУЮ ПОВЕРХНОСТЬ, ДЛЯ ИСПОЛЬЗОВАНИЯ В МЕДИЦИНЕ, В КАРТ. КОРОБКАХ, КОД ОКП 939370:ГИПОАЛЛЕРГЕННЫЙ ФИКСИРУЮЩИЙ ПЛАСТЫРЬ НА ПЛАСТ. КАТУШКАХ: «OMNIPOR» РАЗМ.5СМХ9.2М, АРТ. — 9005829 — 80 УПАК. (ПО 2 ШТ) В 2 КАРТ.КОР. САМОКЛЕЯЩАЯСЯ ПОВЯЗКА ДЛЯ УХОДА ПОСЛЕОПЕРАЦИОННЫМИ РАНАМИ СО СПЕЦИАЛЬНОЙ НЕ ПРИКЛЕИВАЮЩЕЙСЯ К РАНЕ : «COSMOPOR ADVANCE|», РАЗМ.15X8CM, АРТ. — 9010141 — 12 УПАК. (ПО 25 ШТ), В 1 КАРТ.КОР.

формула не работает.

93937059290058298022158901014112251 — солить будем?

93937059290058298022158901014112251 — солить будем? RAN

Быть или не быть, вот в чем загвоздка!

93937059290058298022158901014112251 — солить будем? Автор — RAN
Дата добавления — 04.07.2012 в 12:55

прошу прощения, принял к сведению и буду выкладывать файл впредь для примера.

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

я вначале привел для примера ASAP Util которая это делает, но только с англ. знаками.

прошу прощения, принял к сведению и буду выкладывать файл впредь для примера.

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

я вначале привел для примера ASAP Util которая это делает, но только с англ. знаками. qpp

Сообщение прошу прощения, принял к сведению и буду выкладывать файл впредь для примера.

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

я вначале привел для примера ASAP Util которая это делает, но только с англ. знаками. Автор — qpp
Дата добавления — 04.07.2012 в 13:00

В 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 на несколько ячеек.

​ в столбце А.​​ плаза»?​: Смотрите текстовые функции.​Подходит, нет?​​ включая ведущими нулями​ текстовый формат. Это​ это сделать, смотрите​ таблице по нашим​ специальная функция –​
​ массива. Значит цикл​ бы она была​ Personal.xls или как​ текст даже тот​: во-первых, если у​ при решении подобного​ этой ячейки отделить​Код=—ПСТР(E25;7;9)​ результаты в столбцах​Guest​ Например =ПОДСТАВИТЬ()​sergejkov​ в Excel. Дополнительные​ вызвано тем, что​
​ в статье «Как​ условиям, например, по​ «Текст по столбцам».​ все же можно​
​ в каждой новой​ у меня в​ кусок в 3​ вас так мало​ рода задач. Гибкость​ целые числовые значения.​vitaliyms​ В и С.​: Побольше бы данных,​kim​: Pavel55 , вау!​
​ сведения об этой​ в Excel используется​ добавить строку, столбец​ датам, по определенному​ Где она находится​ организовать(хоть и с​ книге и не​ MyFunc.xls:​ тыс позиций, очень​ номенклатуры, то ее​ придает ей сложная​ Пример таких неправильно​: А бывает ещё​разделить текст ячейки на несколько ячеек Excel.​в ячейках столбца​ хочется посмотреть из​: Для замены #​ на простом столбце​ проблеме читайте в​ точность до 15​
​ в Excel» тут.​ периоду, шагу цен,​ и как с​ такими наворотами, но​ спрашивала постоянно про​ ​=MyFunc.xls!ExtractString(A1)​​ много времени занимает.​ проще вручную перебрать​ комбинация из функций​ импортированных данных отображен​ и так​ В прописываете такую​ чего код состоит.​ на пусто можно​ все получилось!​ статье Создание или​ цифр. Любые цифры​Можно указать формат​
​ сумм, т. д.​ ней работать, смотрите​ можно !). Благодарю.​ включение макросов.​=MyFunc.xls!ExtractNumber(A1)​ Так что спасибо​во-вторых, у нас​ НАЙТИ. Пользователю формулы​
​ ниже на рисунке:​_Boroda_​
РАЗДЕЛИТЬТЕКСТ ИЗ ОДНОЙ ЯЧЕЙКИ НА НЕСКОЛЬКО В EXCEL.​ формулу:​ ..И формат желательно​ =ПОДСТАВИТЬ(A1;»#»;»»)​ОГРОМНОЕ СПАСИБО. ​ удаление пользовательского числового​ после 15-й округляются​ Ячеек столбцов. Например,​

ЗАПИМАТЬ ТЕКСТ ИЗ ОДНОЙ ЯЧЕЙКИ В НЕСКОЛЬКОВ EXCEL.

​ Как это сделать,​ в статье «Разделить​ Беру формулу на​Hugo​А формулы тут​ всем огромное кто​ наименования не стандартизованы.​ достаточно определить закономерность​Сначала определим закономерность, по​: А почто сразу​
​=ЛЕВСИМВ (A1;НАЙТИ («​ *.xls​Для звездочки =ПОДСТАВИТЬ(A1;»*»;»»)​попробую это на​ формата с сохранением​ до нуля, что,​ если вы делите​ смотрите в статье​
​ текст Excel на​ вооружение.​: Если у Вас​ в копилке должны​ помог.​ Есть и такие,​ и указать их​ которой можно определить,​

Форматирование чисел в виде текста

​ не показываете все​​ «;A1)-1)​Владимир​Про артикулы не​ более сложных столбцах​ начальных нулей в​ наверняка, будет неприемлемым.​ столбец на дни​ «Как группировать в​ несколько ячеек» тут.​ЗЫ: Не в​ ещё нет Personal.xls,​ быть, или вот,​Добрый день, подскажите​ где номер идет​ в параметрах функций:​ что данные из​ варианты?​в ячейках столбца​: Это я был.​ понял. ​ ;)​

​ числовых кодах.​Если число имеет текстовый​ и месяцы, год,​ Excel».​Здесь рассмотрим,​ обиду Hugo, ваш​ то его проще​ несколько версий:​ пожалуйста как дополнить​ в начале строки.​ будут это квадратные​ разных категорий, несмотря​=СЖПРОБЕЛЫ(ПСТР(ПОДСТАВИТЬ($E242;»Цех №»;ПОВТОР(» «;999));999*СТОЛБЕЦ(A242);999))​ С другую:​Guest​kim​sergejkov​В некоторых случаях номера​ формат, это легко​

​ то можно указать​Здесь рассмотрим,​как разделить в​ пример с макросом​ всего создать так​Function GetNumeric(t As​ вышеприведённый код, что​

​ Кто знает что​ скобки либо другие​ на то, что​vitaliyms​=ПРАВСИМВ (A1;ДЛСТР (A1)-ДЛСТР​

​: Пишет ИМЯ?​​: А кажись понял.​: на более сложных​ может отформатирован и​ определить, поскольку число​ «Формат данных столбца»​как разделить текст в​

​Excel формулой текст числа,​​ тоже вполне подходит.​​ — включаете запись​​ Range)​​ б цифры переносились​ там еще у​​ разделительные знаки. Например,​​ они находятся в​​: Прошу прощения но​​ (B1)-1)​

​Guest​​ Так?​​ данных не работает​​ хранящиеся в ячейках,​ будет выровнено в​ — «дата».​ ячейке Excel на​

​ макроса, как место​​Dim j As​

​ не только с​ вас попадается.​ это могут быть​ одной и той​ нашёл ещё вариант​после копируйте ячейки​

​: Вот пример​sergejkov​ 🙁 — надо​ как текст, который​ ячейке по левому​Нажимаем кнопку «Готово».​ несколько ячеек.​.​: Чего обижаться. Я​ сохранения макроса выбираете​ Integer, l As​ латинскими буквами но​Я бы на​ пробелы если нужно​ же строке. В​ (я просто разбираюсь​ и обратно вставляете​vikttur​: вот теперь так​ отделить именно цифры(артикул)​ позже может привести​ краю, а не​ Получилось так.​​Например, предложение из​​У нас такая​ б такую формулу​ Personal.xls, записываете простой​ String​ и с русскими,​ вашем месте раскошелился​ разделить строку на​ нашем случае нас​ с новым документом​ но уже через​: Вас давно просят​ как нужно :)​

​ в начале строки,​ к проблемам с​ по правому.​Так можно разделить текст​ первой ячейки разнести​ таблица с данными.​ не в жисть​ макрос (например, пишите​For j =​ и как можно​ на услуги фрилансера,​ слова и т.п.​ интересуют только числа,​ поэтому не все​ спец. вставку только​ четкие критерии кода.​ спасибо!​ а не просто​ вычислениями или Фрукты​Выделите ячейку или диапазон​

​ из одной ячейки​ по словам в​В столбце А написан​ не сочинил :)​ в А1 что-нибудь).​ 1 To Len(t)​ убрать лишние перенесенные​ т.к. это задача​В данном примере функция​ которые находятся вне​ варианты сразу выложил)​

как разделить столбец на цифры и текст

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

​Макросом проще, и​
​ Останавливаете запись.​If IsNumeric(Mid(t, j,​ символы, например убрать​ коммерческая и занудная.​ НАЙТИ во втором​
​ квадратных скобок. Каким​vikttur​ удалить лишнии пробелы. ​ генератора» удалится «генератора»,​ ;)​иначе при отсутствии​

​ Это иногда происходит​​ которые требуется отформатировать​ столбцов. Например, здесь​ ФИО, дату, т.д.​

​ слеш из кода​ контроля больше -​Теперь через Alt+F11​ 1)) Then l​ первый дефис: -ПС-12212​ Мало кто захочет​ аргументе определяет положение​

​ способом можно быстро​

​: Это у кого​Вадим гусев​

​ Вам так и​ps вопрос про​ артикула в строке​

​ при импорте или​

​ как текст. Выделение​ разделили дату отдельно​

​ и года. Нам​​ можно любые знаки​ заходите в редактор,​ = l &​
​Sub CodeToNextColumn() Dim​
​ решать ее для​ относительно первой закрывающейся​ выбрать из строк​

​ же такие кривые​​: Это делается еще​ нужно?​ *# , *##​ из наименования пропадает​ копировании чисел из​ ячейки или диапазона.​ по столбцам –​
​ есть список с​ нужно их разделить.​ препинания в любую​ слева в окне​
​ Mid(t, j, 1)​ cell As Range,​ вас бесплатно​ скобки. А в​

​ целые числа и​​ рученьки? Так испортить​
​ до Экселя.​Guest​
​ пока открыт.​ первое слово :(​ базы данных или​
​Совет:​ число, месяц, год.​ фамилиями, именами в​В ячейке В27​ группу добавить. Иногда​
​ пректов открываете свой​Next j​ rgX As Object​

​deniking​​ третьем аргументе эта​
​ поместить их в​ данные — это​Открываете эксель и​

​: Работает. Только мне​​Смысл в том​может быть есть​ другого источника данных.​
​ Можно также выделить пустые​
​Для большей наглядности​

​ одном столбце. Нам​​ пишем такую формулу.​

​ бывает нужно.​​ Personal.xls, в модуле​

​GetNumeric = Val(l)​​ Set rgX =​: Здравствуйте,​ же функция вычисляет​
​ отдельные ячейки? Эффективным​ еще уметь нужно.​

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

​ =ЗНАЧЕН(ЛЕВСИМВ(A27;НАЙТИ(«/»;A27;1)-1))​vikttur​ удаляете свой ненужный​End Function​ CreateObject(«VBScript.RegExp») rgX.IgnoreCase =​deniking​ положение нужного нам​ решением является гибкая​Логика: унифицируем разделитель​ нужный документ (я​ не коды.​

​ в конце строки​​ на буквы и​ необходимо преобразование чисел​

​ как текст, а​​ можно выделить некоторые​ в одном столбце,​Пояснение к формуле.​
​: Вторую формулу можно​
​ макрос, вместо него​Public Function ExtractNumber(S​

​ True ‘Ищем без​​. Это классическая задача​ текста в строке​

​ формула основана на​​ между текстами и​ так понял -​Есть мысли?​
​ указано количество еиниц​ цифры?​

​ из текстового формата​ затем ввести числа.​ строки, столбцы (например,​
​ а имена в​В конце формулы​ привязать к первой:​ помещаете текст функций.​ As String)​ различения по регистру​
​ на регулярные выражения.​ относительно второй открывающийся​ текстовых функциях.​ числами (меняем символ​
​ текстовый)​

​Guest​​ в упаковке(*6, *24​sergejkov​ обратно в числовой.​

​ Такие числа будут​​ итоговые) выделить другим​ другом столбце. Например,​ мы написали «-1».​

Читать:
Что с авито почему не открывается сегодня

​=ПРАВСИМВ(A1;ДЛСТР(A1)-ДЛСТР(E1))​​Теперь эти функции​Dim i As​
​ (есть номера с​ Вот решение:​
​ квадратной скобки. Вычисление​

​В ячейку B3 введите​​ переноса и №​при этом откроется​: Это не страшно,​ и т.п.)​: пример сложных данных:​ Подробнее читайте Преобразование​ иметь текстовый формат.​ цветом, разделительной линией.​ чтобы определить пол​ Это для того,​

​Guest​ доступны в любой​
​ Integer, str As​ буквами в нижнем​
​Sub CodeToNextColumn() Dim​ в третьем аргументе​
​ следующую формулу:​

​ на пробел) и​ окно импорта данных.​

​ таких позиций не​​под # я​9450/4450 ХИЛЛс ДИЕТА​ чисел из текстового​На вкладке​ Подробнее, смотрите в​
​ людей в списке.​ чтобы знак слеша​: или еще проще:​ книге под эти​ String​ регистре) rgX.Pattern =​

​ cell As Range,​ более сложное и​Теперь скопируйте эту формулу​ извлекаем между пробелами​

​ В нем будет​​ очень много.​ подразумевал цифры. еще​ кон.д/кошек S/D 156гр*24​ формата в числовой.​Главная​

​ статье «Разделительная линия​​ Подробнее об этом​

​ не писался с​​=ПОДСТАВИТЬ(A1;E1;)​

​ пользователем на этом​​For i =​

​ «[-A-Z\d]<2,>» ‘Номер -​​ rgX As Object​ оно подразумевает вычитание​
​ вдоль целого столбца:​ каждое второе слово:​ возможность задать тип​Думаю просто их​

​ бывают варианты /#​​5280 ХИЛЛc НБ​Можно также использовать функцию​в группе​
​ строк в таблице​

​ читайте в статье​​ кодом в столбце​DV_68​ компьютере в разделе​
​ 1 To Len(S)​ это последовательность не​

​ Set rgX =​​ одной большей длинны​Выборка чисел из строк​=СЖПРОБЕЛЫ(ПСТР(ПОДСТАВИТЬ(» «&СЖПРОБЕЛЫ(ПОДСТАВИТЬ(ПОДСТАВИТЬ($E244;»№»;» «);СИМВОЛ(10);» «));»​ разделителей полей.​
​ так4 и оставить​ и /##​ Корм сух.д/КОТЯТ Курица/овощи​ текст для преобразования​Число​

​ Excel» тут.​ «В Excel по​ В.​
​: Можно пойти от​ «Определённые пользователем».​If InStr(1, «1234567890,»,​ менее 2-х символов,​
​ CreateObject(«VBScript.RegExp») rgX.IgnoreCase =​ текста от меньшей.​ в отдельные ячейки.​

​ «;ПОВТОР(» «;99));99*СТОЛБЕЦ(A244)*2;99))​​Sm​vikttur​
​вот :(​ 300гр*6​ числа в текст​щелкните стрелку рядом​Можно разделить ячейку​
​ имени определить пол».​Копируем формулу по​ обратного, тогда без​

​Макросы можно не​​ Mid(S, i, 1))​ состоящая ‘из дефисов,​
​ True ‘Ищем без​

​ А чтобы учитывать​​​
​_Boroda_​
​: А что, в​
​: Пытать Вас, что​
​kim​
​2806 12589 Brit​

​ в заданном числовом​ с полем​ по диагонали и,​
​Выделяем ячейки, текст​

Как в Excel отделить текст от цифры в одной ячейке и перенести из по другим. (в пояснении скрины)

​ столбцу. Получится так.​

​ массива.​

​ разрешать, по крайней​​ <> 0 Then​ латинских букв и​ различения по регистру​ еще 2 пробела​
​Функция ПСТР возвращает текстовое​: Охохохонюшки​ славной Курдюмовке таперича​
​ ли? Что предпочитаете​: Я так понимаю,​
​ Care Cat Light​ формате. Примеры этот​
​Числовой формат​ в каждой части​
​ в которых нужно​В столбце С устанавливаем​Сначала цифры:​ мере на 2000​ str = str​ цифр. Application.ScreenUpdating =​

​ (есть номера с​​ следует вычитать число​ значение содержащие определенное​
​=СЖПРОБЕЛЫ(ПСТР(ПОДСТАВИТЬ(» «&СЖПРОБЕЛЫ(ПОДСТАВИТЬ(ПОДСТАВИТЬ($E244;СИМВОЛ(10);» «);»№»;» «));»​ не модно различать​ — средневековье или​ Вы вообще хотите​ д/стареющих кошек, склонных​
​ способ сохранения начальных​и выберите пункт​ написать текст. Читайте,​ разделить или весь​ формат «Дата». Какими​

​=—ПРАВСИМВ(A1;СЧЁТ(ПОИСК(<0:1:2:3:4:5:6:7:8:9>;A1)))​​ так, может на​ & Mid(S, i,​ False ‘Отключаем обновление​ буквами в нижнем​ 3. В результате​
​ количество символов в​ «;ПОВТОР(» «;99));99*СТОЛБЕЦ(A244)*2;99))​ понятия «число» и​
​ электрический стул? :)​ от них избавиться?​
​ к полноте всех​ нулей в числовых​
​Текстовый​

​ как это сделать,​​ столбец.​ способами установить формат,​Затем остальное:​ 2003/7/10 иначе, не​ 1)​ экрана для ускорения​ регистре) rgX.Pattern =​ чего получаем правильное​ строке. Аргументы функции:​_Boroda_​ «цифра» ?​Вы написали, что​

Отделить в ячейки буквы от цифр (Формулы/Formulas)

​Guest​​ пород 7,5кг​ кодахсм. Дополнительные сведения​
​.​ в статье «Как​Заходим на закладке «Данные»​ смотрите в статье​=ПОДСТАВИТЬ(A1;C1;)​ знаю.​Next​

​ процесса. Set cell​​ «[-A-Z\d]<2,>» ‘Номер -​
​ количество символов в​ ​Первый аргумент – это​

​: Виктор​​> В нем​ формула работает, значит,​
​: Про звездочки вам​

​ПРО ПАК БИСКВИТ​​ об использовании функции​Примечание:​
​ разделить ячейку в​
​ в раздел «Работа​ «Число Excel. Формат»​
​DV_68​

​GIG_ant​​ExtractNumber = str​ = Cells(1) ‘Начинаем​

​ это последовательность не​​ разделенной строке. С​ ссылка на ячейку​vikttur​
​ будет возможность задать​

​ кодом является все,​​ ведь давно ответили.​ Смат Риводс Мини​ текст отображается функция​ Если пункт​ Excel» здесь.​ с данными» и​

​ здесь.​​: Поторопился, при одинаковых​: Спасибо Hugo.​End Function​ с верхней левой​ менее 2-х символов,​
​ помощью такой гибкой​ с исходным текстом.​: Это же надо. ​ тип разделителей полей​ что после последнего​ Ответы читали?​ 200гр​
​ текст.​Текстовый​

​Удобнее работать в​​ выбираем функцию «Текст​
​В ячейке С27​ цифрах не пройдет((​

​Буду пробывать, я​​Public Function ExtractString(S​

​ ячейки активного листа.​​ состоящая ‘из дефисов,​ формулы можно делать​Второй аргумент – это​

​ Одинаковой дорогой идете,​​А как быть​​ пробела?!​

​Guest​​kim​sergejkov​не виден, прокрутите​

Как разделить текст по ячейкам формула в Excel

​ таблице, где в​ по столбцам». В​ пишем такую формулу.​kim​ понимаю что язык​ As String)​ While Not IsEmpty(cell)​ латинских букв и​ выборку разной длинны​ позиция первого символа,​ товарищи​ с​»Подшипник 180202 генератора»​: Даже не знаю​: =ЕСЛИ(ЕЧИСЛО(—ЛЕВСИМВ(A1;1));ЛЕВСИМВ(A1;МИН(ПОИСК(«/»;A1);ПОИСК(» «;A1))-1);A1)​: Имеем столбец с​ список до конца​ ячейках не видны​ появившемся окне «Мастер​ =ДАТАЗНАЧ(ПСТР(A27;НАЙТИ(«/»;A27;1)+1;255))​: Можно еще:​ программирования намного гибче​Dim i As​ ‘Идем по ячейкам​

Как разделить текст на две ячейки Excel

​ цифр. Application.ScreenUpdating =​ разделенного текста из​ с которого должна​vitaliyms​с. Бiльшая Курдюмiвка​ — где здесь​ как Вас отблагодарить!​Для первого столбца.​ подобным содержаним:​ с помощью полосы​ нули. Как их​ текстов», в строке​Пояснение в формуле.​=—ПРАВСИМВ(A1;СЧЁТ(ИНДЕКС(-ПСТР(A1;СТРОКА($1:$99);1);)))​

Строки для разделения на ячейки.

​ чем стандартные формулы​ Integer, str As​ вниз, пока не​ False ‘Отключаем обновление​ разных длинны исходных​ начинаться разделенная строка.​:​ 00789​ текст, где код?​Это именно то,​ По аналогии для​0202 Гантеля резиновая​ прокрутки.​ убрать, скрыть, заменить,​ «Формат исходных данных»​В формуле написали​=ПРОСМОТР(9E+307;—ПРАВСИМВ(A1;СТРОКА($1:$15)))​ екселя, и все​ String​ дойдем до пустой.​

​ экрана для ускорения​ строк.​

​Последний аргумент – это​СПАСИБО​

Текст разбит на ячейки.

​?)​»Подножки Universal Great​

Описание формулы для разделения текста по ячейкам:

​ второго напишите сами?​ 150 мм​Числовой формат списка​ читайте в статье​

  1. ​ указываем – «С​ «+1» — это​Ivian​
  2. ​ таки жалко что​For i =​ ‘Если ячейка -​ процесса. Set cell​
  3. ​deniking​ количество символов, которое​buchlotnik​Саша русанов​

​ Wall Hover» -​Оромнейшая Вам благодарность!​kim​020543 Кольцо резиновое​ в Excel Online​ «Как убрать нули​ разделителями». Нажимаем кнопку​ значит, чтобы в​: Здравствуйте! Столкнулся с​ есть такие задачи​ 1 To Len(S)​ не объединенная и​ = Cells(1) ‘Начинаем​: Доброго времени суток.​ должна содержать разделенная​: до кучи на​: Встроенный бейсик в​ здесь, похоже, без​Максим​: Кстати если для​ 70 мм​Советы:​ в Excel».​

​ «Далее».​ ячейке с датой​ проблемой изъятия цифр​ которые невозможно реализовать​If InStr(1, «QWERTYUIOPASDFGHJKLZXCVBNM,.-<>=*/​ в ней есть​ с верхней левой​ Помогите человеку, который​ строка.​ регулярках с паттерном​ нем напиши программу​ кода?​: Помогите разобраться. Нужно​ первой строки правильно​02064 Кольцо резиновое​ ​Примечание:​Здесь указываем в строке​ не был написан​ из текста (формат​ только силами ексель(без​ «, UCase(Mid(S, i,​ номер согласно шаблону​ ячейки активного листа.​ в VBA не​С первым аргументом ПСТР​

​ «\d+»​ читаешь ячейку распознаешь​»Подрамник двигателя на​ удалить код наименований​ так — 9450/4450​ 80 мм​Чтобы использовать десятичные знаки​Мы стараемся как​ «Символом – разделителем​ слеш (косая черточка).​ ячейки: общий). Покопав​ ВБА). Может в​ 1))) <> 0​ — копируем номер​ While Not IsEmpty(cell)​ шарит, а слышал​ все понятно –​Часто приходится оптимизировать структуру​ знаки по кодам​ BQб» — с​ товаров который стоит​то достаточно​Подскажите пожалуйста:​ в числах, хранящихся​ можно оперативнее обеспечивать​ является» — «пробел».​«255» — это​ форум нашел эту​ будущем разработчики включат​

Нужен макрос для Excel, отделяющий текст от цифр

​ Then str =​​ вправо. If Not​ ‘Идем по ячейкам​ только поверхностно.​ это ссылка на​ данных после импорта​
​ в ansi и​ этим что?​ вконце. в exel​=ЕСЛИ(ЕЧИСЛО(—ЛЕВСИМВ(A1;1));ЛЕВСИМВ(A1;ПОИСК(» «;A1)-1);A1)​Как разделить цифровой​ как текст, возможно,​ вас актуальными справочными​ Поставили «пробел», потому​ количество символов, которые​ тему и вот​ в стандарт какие​
​ str & Mid(S,​ cell.MergeCells And rgX.Test(cell)​
​ вниз, пока не​Задача такая, в​
​ ячейку A3. Второй​ в Excel. Некоторые​
​ вставляешь или в​
​Guest​ не очень силен,​Dophin​
​ код(часто кроме цифр​ придется вводить эти​ материалами на вашем​
​ что в нашем​ могут отобразиться в​ данная комбинация сработала:​
​ нибудь простейшие циклы​ i, 1)​ Then cell.Offset(, 1)​

​ дойдем до пустой.​​ exel есть список​ аргумент мы вычисляем​ разные значения попадают​ одну ячейку или​
​: даже если так​ разбираюсь по-тихоньку, поэтому​: давайте пример, а?)​ содержит «/») и​ числа с десятичными​ языке. Эта страница​ списке имя и​ ячейке. По факту,​
​Но все испортил​ (или запросы) вот​Next​ = rgX.Execute(cell)(0) Set​ ‘Если ячейка -​ деталей которые с​ с помощью функции​ в одну и​

​ в другую (цифры​​ всё будет работать,замечательно.​​ лучше готовую формулу.​​kim​ текста в разные​ разделителями.​
​ переведена автоматически, поэтому​ фамилия написаны через​ отображается столько символов,​ / (слэш). Число​ тогда было бы​ExtractString = Application.Trim(str)​ cell = cell.Offset(1)​ не объединенная и​ номером находятся в​ НАЙТИ(«]»;A3)+2. Она возвращает​ туже ячейку образуя​ в одном диапазоне​просто на самом​ Очень нада. Формат​: Приблизительно так. ​ столбцы?​При вводе номер, который​ ее текст может​ пробел. Если бы​ сколько есть в​ выходит совсем другое.​ полегче!​End Function​ Wend Application.ScreenUpdating =​ в ней есть​ одной ячейке, номер​ очередной номер символа​ целую строку как​ таблицы, русские буквы​ деле есть и​ у всех ячеек​sergejkov​psкакто я виде​ начинается с нуля​ содержать неточности и​ имя и фамилия​ дате (после слеша).​Надо изъять цифры​Михаил С.​Function NumbersOnly(srcStr As​
​ True ‘Включаем обновление​ номер согласно шаблону​ состоит из цифр​ первой закрывающейся квадратной​

​ одно значение. Возникает​​ вроде за 180​ позиции без номеров,​ примерно такой​: 🙁 совсем не​ на форуме подобный​ — например, кода​ грамматические ошибки. Для​ (др. слова) были​Копируем формулу по​ из подобной строки:​: К данной задаче​ String) As String​ экрана. End Sub​ — копируем номер​ и символов латинского​ скобки в строке.​ вопрос: как разбить​

​ и далее)​ есть номера перед​Активатор замка электрический​ понимаю как это​ код, но сейчас​ продукта — Excel​ нас важно, чтобы​ написаны через запятую,​ столбцу. Получится так.​Образец №112/54​ это не относится.​
​Dim objRegEx As​GIG_ant​ вправо. If Not​ алфавита, нужно его​ И к этому​ строку на ячейки​vitaliyms​ текстом.​ S11-6205360​ работает :(((((​ не могунайти. да​ приведет к удалению​ эта статья была​ то мы бы​Внимание!​Но и это​Hugo​ Object​: Добрый всем день.​ cell.MergeCells And rgX.Test(cell)​ отделить от названия​ номеру мы добавляем​ в Excel. Программа​: Уважаемые умы прошу​Но мне нужно​Амортизатор 5-й двери​буду вникать и​ и обрабатывал он​ ноль по умолчанию.​ вам полезна. Просим​ указали разделителем «запятая».​Если числа разделены​ еще не все,​: Не относится, но​Set objRegEx =​Данная тема уже​ Then cell.Offset(, 1)​ и перенести в​ еще число 2,​

Отделить формулой текст от чисел

​ располагает разными поисковыми​​ помощи ещё раз.​
​ чтоб уюрать эти​ правый 6309020-0000​ RTFM :(​ не совсем корректно.​ Если это не​ вас уделить пару​В этом окне, в​ не слешем, а​ к полученным цифрам​ всёж использовать комбинацию​ CreateObject(«VBScript.RegExp»)​ обсуждалась но именно​

​ = rgX.Execute(cell)(0) Set​​ соседний столбик.​ так как нам​
​ функциями: одни ищут​В этой же​ номера​Амортизатор задний 271.00.00​
​остается вопрос с​New​ является вас не​ секунд и сообщить,​ разделе «Образец разбора​ другим знаком, то​

​ надо добавить числовой​
​ из 4-х формул,​

​With objRegEx​ в таком разрезе​ cell = cell.Offset(1)​Пример *** ****Кронштейн​

​ нужен номер символа​ по ячейках другие​
​ таблице нужно чтобы​Guest​ плаза​
​ отсутствием артикула в​: Я не специалист​
​ устраивают, можно создать​ помогла ли она​ данных» сразу видно,​ в формуле указываем​
​ префикс (пусть 42),​
​ с повторами, массивную​
​.Global = True​

​ ответа не нашел.​ Wend Application.ScreenUpdating =​
​ заднего брызговика 57707XA270​ после пробела за​ ищут по содержимому​
​ в ячейке Н25​: Вот это, то​
​Амортизатор задний BQ2915050-60AO​ начале строки ПРО​ по формулам, но​ пользовательский числовой формат,​ вам, с помощью​ какие столбцы у​
​ это знак.​
​ как я понял,​
​ — это имхо​

​.Pattern = «[^0-9,]»​ Задача такова: есть​
​ True ‘Включаем обновление​*** ****Кронштейн заднего​ квадратной скобкой. В​
​ ячеек. Ведь выполнять​ было тоже самое​
​ что надо. ​Нужно как то​ ПАК БИСКВИТ Смат​ попробую )​ который начинает Excel,​ кнопок внизу страницы.​
​ нас получатся. Нажимаем​
​Примеры других формул​
​ это можно осуществить​

​ перебор. могли мелкомягкие​ ‘»\D»​
​ столбец содержащий значения:​ экрана. End SubС​
​ брызговика 7707XA280​ последнем аргументе функция​
​ поиск по текстовой​
​ что и в​
​Спасибо огромное. ​ отделить эти номера​
​ Риводс Мини 200гр​Предположим, что текст​
​ чтобы сохранить начального​
​ Для удобства также​ кнопку «Далее».​
​ выбора данных с​

​ командой СЦЕПИТЬ. Файл​​ одну формулу придумать​

​NumbersOnly = .Replace(srcStr,​ несколько букв+несколько цифр.​ уважением, Aksima​*** ****Накладка заднего​ вычисляет какое количество​ строке, которая содержится​ ячейки Е25 только​Julia​Казанский​потому как вся​ «0202 Гантеля резиновая​ нуля. Например если​ приводим ссылку на​

​Здесь, в разделе​​ разными условиями смотрите​ прилагаю.​ на каждое действие.​ vbNullString)​ Возможно ли не​Скорее всего, для​ бампера E771SXA000​ символов будет содержать​ в ячейке ¬–​ цифры без букв​: вот пример​
​: Или четкий критерий,​ строка ереносится в​ 150 мм» находится​ ввода или вставки​ оригинал (на английском​ «Поместить в:» указываем​ в статье «Как​Заранее спасибо!​
​GIG_ant​End With​ применяя макросов отделить​ примера выбрали лишь​и надо​ разделенная строка после​
​ это также распространенная​китин​KH 8625—8шт.​ из чего состоит​ стлбец артикулов :(​ в ячейке А1,​

​ коды продуктов 10​​ языке) .​
​ диапазон столбцов, в​ сделать выбор в​Владимир​: К данной задаче​Set objRegEx =​ буквы от чисел​ часть всей номенклатуры​*** ****Кронштейн заднего​ разделения, учитывая положение​ потребность пользователей Excel.​: и вам здравствуйте. ​BG 1802001-3—4шт.​ код, например цифры,​ps и еще​ то можно в​ значного на листе,​

​Если необходимо, чтобы приложение​​ которые поместятся новые​ ячейке Excel» тут.​

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

​KH 23020007—18шт.​​ знаки «-» и​ вопрос сразу -​

​ ячейку В1 ввести​ Excel будет изменить​ Excel воспринимало некоторые​ данные.​Как выделить в​ посмотреть и те​

​Пока не понял​​End Function​

​ соседних столбцах ?​Теле-ту​ \ 57707XA270​Обратите внимание! Что в​ будем использовать для​=ПСТР(E25;ПОИСК(«№»;E25)+1;25)​KH 8629/8—8шт.​ «.», латинские буквы.​ как избавиться от​ формулу​

​ номера следующим 0784367998​ типы чисел как​Внимание!​ ячейке из большого​

​ данные, которые сработали.​​ как работает, но​GIG_ant​Hugo​: Спасибо огромное за​
​*** ****Кронштейн заднего​ нашем примере все​ разделения строк.​vikttur​KH 23020008—12шт.​Или пример с​

​ возможны символов в​​=ЛЕВСИМВ(A1;НАЙТИ(» «;A1))​ для 784367998. В​
​ текст, можно применить​

​Столбцы этого диапазона​​ текста число, чтобы​
​ И поместите туда​

​ мою веру в​​: to Hugo​: Почему так макросов​ помощь. Действительно это​
​ брызговика \ следующая​
​ исходные и разделенные​
​Допустим на лист Excel​
​: Если номер всегда​

​подскажите пожалуйста как​

30 строками в​ конце строки типа​

​которая нам вернёт​​ этом случае можно​
​ текстовый формат вместо​
​ должны быть пустыми,​

​ оно считалось, смотрите​​ формулу, которая это​ «негибкие» формулы екселя​я с макросами​ боитесь? :)​ только часть текса​ ячейка \ 7707XA280​ строки имеют разную​

​ были импортированные данные​ 3-значный:​ отделить символы которые​
​ Excel, что есть​ *# , *##​

​ значение кода «0202»​

​ создать пользовательский числовой​ числового. Например, если​ иначе информация в​ в статье «Не​ сделала.​ вам Михаил удалось​ не очень дружен,​Ведь намного проще​ как пример, а​

​ длину и разное​​ из другой программы.​=ПРАВБ(E25;3)​ находятся до —шт.​ и что надо​ («звездочка число») ?​А в ячейку​

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

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

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

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

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

Похожие статьи