Новости:

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

Главное меню

Массив текста на столбцы

Автор nvm, 17.04.2017, 17:56

« назад - далее »

nvm

Всем бодрый вечер.
Подскажите пожалуйста как можно сделать след операцию, допустим у меня в ячейки есть массив текста и в этом тексте есть характеристики допустим длина - 10 см, ширина - 20 см, глубина 30 см. (т.е. характеристики все стандартны и после каждой идет запятая)

Как можно (любым, даже самым рутинным способом) вычленить из текста в соседние столбцы эти характеристики?

vikttur

Допустим, Вы покажете пример данных в файле Excel...

nvm


zs5

#3
При стандартной орфографии:
Внутреннее отверстие имеет диаметр - 4 см. глубина - 16 см. Общая длина - 23 см., рабочая длина - 21,5 см, макс. диаметр - 5 см.

=--ПСТР(C1;ПОИСК(F1;C1)+ДЛСТР(F1)+2;ПОИСК("№";ПОДСТАВИТЬ(C1;"см";"№";1))-1-(ПОИСК(F1;C1)+ДЛСТР(F1)+1))
Где F1 = "Диаметр"

vikttur

Цитироватьхарактеристики все стандартны и после каждой идет запятая
1. В примере запятые не везде.
2. Что значит "стандартны"? Сами параметры или их написание в тексте?
Если различия в написании есть, нужно было показать варианты.

nvm

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

Поэтому очень прошу помощи у Вас направить меня в нужном направлении как это можно сделать.

Заранее большое спасибо за любой совет!

vikttur

Данные разной структуры. Нужен макрос.

runner

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

Колхоз, конечно, не VBA, но время сократит.

zs5

#8
=--ПСТР(C1;ПОИСК(J1;C1)+ДЛСТР(J1)+2;НАЙТИ("см";C1;ПОИСК(J1;C1))-1-(ПОИСК(J1;C1)+ДЛСТР(J1)+1)),
где J1 - искомый параметр "Диаметр", "Длина", "Общая длина" и т.п.; с учетом примерного образца текста следующего вида: "Внутреннее отверстие имеет диаметр - 4 см. глубина - 16 см. Общая длина - 23 см., рабочая длина - 21,5 см, макс. диаметр - 5 см."