Есть таблица столбцов примерно 20, строк до 100 тысяч. В одном столбце содержится обобщенная информация. Название, описание и количество товара. Начальство требует дать данные какого товара сколько было продано. Вручную нереально, разбить текст из ячейки на столбцы пока непонятно как. Есть мысль все-таки как-то извлечь инфу по названию и количеству, поместив ее во вновь создаваемые столбцы, а остальные столбцы просто дублировать, т.е. размножить строки по количеству товаров в ячейке, чтобы потом воспользоваться сводной таблицей. Засада еще в том, что товаров в ячейке может быть от 1 до 35-ти (пока больше не встречал). Сам решить вряд ли в состоянии. Может кто помочь? Задача конечно не простая...
Извлечь названия и количества товара
18.04.2017 16:10:18
|
|
|
|
18.04.2017 17:04:08
Интересная задача, надеюсь ее не быстро решат и я смогу поучаствовать Можно разбить по столбцам с разделителем "_" потом редизайнером таблиц
|
|
|
|
18.04.2017 20:40:39
Дмитрию Тарковскому тоже спасибо, поизучаю про преобразование в плоскую таблицу, пока похоже это и нужно делать... Завтра потренируюсь!
|
|
|
|
18.04.2017 20:57:30
Откуда берете этот отчет? Может проще источник подрепетировать, что бы данные выводились в нормальном виде? Если у Вас 100 тыс. строк, то может та логика, которая работает на 5 строках не сработает на всех. Банально разделители будут другие.
Если в мире всё бессмысленно, — сказала Алиса, — что мешает выдумать какой-нибудь смысл? ©Льюис Кэрролл
|
|||||
|
|
18.04.2017 21:08:47
Странно, файл не приложился... Пробую еще раз. На файл от автора повлиять скорее всего не получится - эту базу закупают где-то...
|
|
|
|
18.04.2017 23:09:30
Часть названий удалось извлечь, но даже для примера универсальную формулу не придумал. Думаю, что:
1) Задача не для формул; 2) Если нужно срочно решение, обратитесь в раздел Работа; 3) Зачем платить деньги за то, с чем нельзя нормально работать.
Если в мире всё бессмысленно, — сказала Алиса, — что мешает выдумать какой-нибудь смысл? ©Льюис Кэрролл
|
|||
|
|
18.04.2017 23:27:54
Согласен с
Часть названий товара не удалось корректно "вырезать" но в целом норм, хотел доделать сегодня поэтому код ужасен )))) Причесать еще можно но тот кто делал такую выгрузку мог бы о разделителях подумать. |
|
|
|
19.04.2017 06:38:29
Посмотрите пример во вложении.
Откройте файл и выполните макрос "Main". Все ли так, как требовалось? Единственное условие это то, что столбец с описанием и количеством товаров должен быть последним в таблице.
Изменено:
Чем шире угол зрения, тем он тупее.
|
|
|
|
19.04.2017 08:19:38
|
|
|
|
19.04.2017 08:35:43
А как (по какому признаку) отделять наименование группы от наименования самого товара в первой позиции я не знаю. Если автор подскажет, то и этот вопрос будет решен.
Чем шире угол зрения, тем он тупее.
|
|||
|
|
19.04.2017 12:14:23
На 1-ом листе (согласно которому написан макрос) в столбце с описанием товара, вообще отсутствует "_1.0_". Отсюда и ошибка. Посмотрите прикрепленный файл. Доработал макрос для работы с листом 2. С листом 1 он теперь работать не будет. Если все устраивает, то можно добавить и остальные свойства товара (производитель, бренд, срок годности и т. д).
Изменено:
Чем шире угол зрения, тем он тупее.
|
|||
|
|
19.04.2017 14:51:20
Максим, ваш пример тоже хорош. интересен столбец - Ед.изм., он тоже нужен. Спасибо!
|
|
|
|
20.04.2017 07:55:30
Посмотрите прикрепленный файл. Добавил контроль на наличие количества (срока годности, изготовителя и т. п.) и вывод всех свойств товаров. Проверяйте.
Чем шире угол зрения, тем он тупее.
|
|||
|
|
20.04.2017 08:57:39
SAS888
Проверяю, только после макроса Эксель или экран тормозит по страшному, попробовал строку снизу добавить. Application.ScreenUpdating = True Не помогло... |
|
|
|
20.04.2017 09:57:12
Это торможение только когда открыто более 1 файла. Сейчас все заккрыл открыл только пример_4, запустил макрос - все быстренько ворочается. Как только стал открывать пример3 для сравнения - сразу все подвисло. Пример3 открывается очень медленно и даже на этом экране проявляется в то время как это пишу...
|
|
|
|
20.04.2017 10:14:55
Ничего не могу сказать, т. к. не могу смоделировать Ваши "тормоза". Поищите их вне макроса...
Чем шире угол зрения, тем он тупее.
|
|
|
|
20.04.2017 13:08:57
на тормоза пока забил - даже после перезагрузки и при включенном только Экселе тормоза такие же наблюдаются...
Проверил - все правильно, буду пробовать обрабатывать весь файл, только сначала поисправляю случаи "__1.0__ : __1.1__" |
|
|
|
20.04.2017 15:31:27
Почистил какое-то количество ячеек, и проверил сколько из всего - оказывается очень большой % 28 тысяч (20% примерно), это мне вручную еще несколько месяцев править. Продавцы молчат...
Приложил пример "кривых" ячеек, как бы в них "__1.0__" вынести в начало хотя бы и кол-во извлечь, оно там есть, только в виде "- 15 УПАК", "-5УПАК", еще оказалось что есть несколько серий с разным кол-вом упак отгруженных... что-то тоскливо стало... А была такая надежда на решение. М.б. все-таки как-то можно исходник "подлечить"? |
|
|
|
20.04.2017 15:36:23
А так макрос для 20-ти столбцов работает, все ок!
|
|
|
|
21.04.2017 07:11:21
Посмотрите пример во вложении. Кое-что "подлечил".
Добавил в Ваш файл пару строк из предыдущего (правильного) примера, для проверки работоспособности. Проверьте. Укажите, какие еще возможны "нестандартные" записи строк описания товара. Например, что еще, кроме "УПАК" может восприниматься, как количество? Также, я не нашел примера, где
Изменено:
Чем шире угол зрения, тем он тупее.
|
|||
|
|
21.04.2017 08:39:28
Здравствуйте, SAS888.
Что-то не хочет новый макрос у меня работать - пишет ошибку 1004 в 16-ой строке - "Range(Cells(2, j), Cells(i, j)).Value = a" Примеры нестандартных выгрузок прилагаю. Большое спасибо вам за участие! |
|
|
|
21.04.2017 09:48:14
По "вытягиванию" количества из нестандартных выгрузок я подумаю.
А пока, давайте разберемся с ошибкой. Добавил в Ваш последний файл макрос (см. вложение). Ошибки нет. Прикрепите тот файл с макросом, в котором возникает указанная Вами ошибка. P.S. Похоже, что кроме нас с Вами этот вопрос уже никому не интересен. Поэтому, лучше пишите мне на e-mail. Контакты в профиле.
Чем шире угол зрения, тем он тупее.
|
|
|
|
21.04.2017 10:04:59
Я слежу, просто понимаю что против Вашего кода я ничего лучшего не могу предложить, мне очень интересно!
|
|
|
|
21.04.2017 11:32:55
Приложил принт-скрины, значения i=k=10, j=4? Седд(1, j и 2, j - на скринах.
Ошибку выдает в присланном вами файле - я прям его запускаю, только при загрузке из форума всегда пишет что формат отличается от указанного, но я все разы открывал и работало... приложил его назад, м.б. у меня вирус какой.... |
||||
|
|
|||