Консультация № 191261
03.08.2017, 12:20
0.00 руб.
1 16 0
Здравствуйте, уважаемые эксперты! Прошу вас ответить на следующий вопрос: надо из ячейки (текст с цифрами в перемешку) вытянуть часть текста с цыфрами нужными. Идет пересчет в одной ячейке товара (наименование, колличество, состав). Надо розбить, чтобы каждый товар был в отдельной ячейке (вместе с колличеством и составом). Проблемы: 1. Ячейки по разному составлены (одна начинается с "1. ...", другая - сразу текст.); 2. У меня массив из 100 ячеек, когда я буду прописывать формулу, надо либо чтобы в столбце, откуда берутся данные, добавлялись пустые ячейки, так как из 1 ячейки с множеством информации мы получаем несколько ячеек, или же чтобы разбивка делалась в сторону.

Прикрепленные файлы:
1e69897393d0fbc7d87e4aaae68057aa36ce1287.xls

Обсуждение

давно
Модератор
137394
1850
03.08.2017, 18:21
общий
Адресаты:
Дайте конкретику. Вы предоставили таблицу. Вы пишете:
- Идет пересчет в одной ячейке товара - в какой?
- Ячейки по разному составлены - как они расположены (строка, столбец?)
- Пример того, что должно получиться: было вот так (пример) - а надо вот эдак. А раз ячейки по разному составлены, лучше несколько примеров.
Хотелось бы уяснить задачу.
Об авторе:
Понеже не словес красных бог слушает, но дел наших хощет
давно
Мастер-Эксперт
259041
7459
05.08.2017, 16:34
общий
Адресаты:
Вы не отвечаете, значит, помощь больше не нужна Вам?
давно
Модератор
137394
1850
06.08.2017, 19:18
общий
Уважаемый v.zalozniy! Готов с радостью Вам помочь, но необходимы разъяснения:
1. Процесс должен быть полностью автоматизирован?
2. Я не вижу, по каким формальным признакам это можно сделать автоматически.
Ваш пример:
1.Одяг трикотажний:КУРТКА ЧОЛ. арт.8574/400 розмір L - 7 шт. Склад: 100% ПОЛІЕСТЕРКУРТКА ЧОЛ. арт.8574/400 розмір M - 4 шт. Склад: 100% ПОЛІЕСТЕРКУРТКА ЧОЛ. арт.8574/400 розмір S - 3 шт. Склад: 100% ПОЛІЕСТЕРКУРТКА ЧОЛ. арт.8574/400 розмір XL - 4 шт. Склад: 100% ПОЛІЕСТЕР Торговельна марка ZARA Виробник INDITEX S.A.Країна виробництва BD

Надо умудриться по каким-то признакам вычленить наименование и атрибуты каждого подвида товара, при этом никаких разделителей в тексте не присутствует. Благо, были бы некие определённые ключевые слова, но и их нет.
ИМХО, задача поставлена в невыполнимом виде, разве что вручную копипастить содержимое, но, насколько я понимаю, это Вы и без меня умеете.
Об авторе:
Понеже не словес красных бог слушает, но дел наших хощет
давно
Посетитель
401265
6
07.08.2017, 08:35
общий
Спасибо всем за ответы. Я не разгильдяй, не убежал, просто был временно недоступен в сети. Расскажу, вкратце: ищу работу, и мне пришел вот такой тест на знания экселя. Я не профи, но немножко понимаю в экселе. Так вот, у меня было такое же возмущение, как у Megaloman. Долго ломал голову. В итоге, кое-как сделал разделение путем разбивки текста по столбцам. Получилось нечто ужасное, но кое-как разделило. А что дальше делать, у меня идей совсем не было, вот и решил поискать на форумах. Видимо тест не решаем)
давно
Посетитель
401265
6
07.08.2017, 08:38
общий
Цитата: Megaloman
пришло письмо по почте с этим заданием. Нигде ничего дополнительного по заданию нету - только инфа из файла. Как я лично понял, задача состоит в том, чтобы формулами сделать разделение.
давно
Модератор
137394
1850
07.08.2017, 09:28
общий
Адресаты:
, по любому формулами задача не решается - надо строки вставлять. Возможно, задача решается макросом. Как идея, после первого двоеточия
1.Одяг трикотажний:
Выловить ключевое слово
КУРТКА
Посчитать количество вхождений этого слова.
Вычленить слово перед вторым вхождением КУРТКА
ПОЛІЕСТЕР
Вырезать подстроки от слова КУРТКА до ПОЛІЕСТЕР включительно, и вставить в нужную ячейку новой строки.
ИМХО, Формулами это не сделать.
Попробую поанализировать другие данные, возможен ли там этот алгоритм.
Об авторе:
Понеже не словес красных бог слушает, но дел наших хощет
давно
Модератор
137394
1850
07.08.2017, 09:31
общий
Адресаты:
мне пришел вот такой тест на знания экселя. .... кое-как сделал разделение путем разбивки текста по столбцам. Получилось нечто ужасное, но кое-как разделило.
То, что Вы выложили, не исходное задание?
Об авторе:
Понеже не словес красных бог слушает, но дел наших хощет
давно
Посетитель
401265
6
07.08.2017, 09:37
общий
Цитата: Megaloman
Исходное, я в нем ничего не изменял. Я имел ввиду, что на вкладке "массив" (основное задание) пытался что-то сделать.
давно
Модератор
137394
1850
07.08.2017, 11:16
общий
Адресаты:
Я не берусь решить эту задачу, так как не могу сообразить, на основании каких правил описаны товары, да и то, что имеется, доведено в испорченном виде - многие описания обрываются непредсказуемым образом. Вот пытался анализировать:
1. Пилососи побутові, з вмонтованим електродвигуном:
- арт.RVC16-E, Пилосос електричний (без мішка для збору пилу, потужність - 1600 Вт) - 950 шт.;
- арт.RVC20-E, Пилосос електричний (без мішка для збору пилу, потужність - 2000 Вт) - 500 шт.;
Виробник - SUZH

1.Іструменти ручні ,побутові :
-Електровикрутка Xiaomi Screwdriver wowstick 1S - 200шт., в комплекті з 7головками - насадками.
-Електровикрутка Xiaomi Screwdriver wowstick 1fS -200шт., в комплекті з 18головками - насадками.
Електровикрутка з вмонтованим еле

1.Переносні пристосування для розпилювання хімічних засобів в сільському господарстві та садівництві,компл.:
ручні оприскувачі т.м."FORTE": ОР-1,5- 9800шт,
ОР-1,2(1,2Л)- 6620шт,
OP-1,5 LUX(1,5Л)- 2160шт,
ОГ-12- 2076шт, ОГ-16- 7920шт.
Виробник - TAIZHOU KAIF

201.Порохотяги (витяжні установки) з умонтованим електродвигуном, споживчапотужністю 2200Вт, призначені для використання з деревообробними верстатами.арт.708640M
Порохотяги (витяжні установки) DC-950A, об'єм пилозбірника 58л - 10од; арт.708626CKM
Порохотя
Увы, не вижу формальных признаков для разделения описаний.
Если кто-то из экспертов этого раздела может предложить хотя-бы путь решения, буду в восторге.
Об авторе:
Понеже не словес красных бог слушает, но дел наших хощет
давно
Посетитель
401265
6
07.08.2017, 11:29
общий
Цитата: Megaloman
Вот-вот. Я пытался привязаться к ":". Но потом оказалось что не во всех случаях они встечаются. В любом случае, спасибо что тратили свое время.

П.С. я написал письмо авторам данного теста с просьбой сбросить ответ. Если сбросят - выложу.
давно
Модератор
137394
1850
07.08.2017, 12:10
общий
Адресаты:
, благополучия и успехов
Об авторе:
Понеже не словес красных бог слушает, но дел наших хощет
давно
Мастер-Эксперт
259041
7459
07.08.2017, 15:44
общий
07.08.2017, 15:53
Адресаты:
Я поддерживаю мнение уважаемого Megaloman: "формулами задача не решается - надо строки вставлять". Я заподозрил наличие скрытых разделителей в Вашем файле. У программистов популярны в качестве разделителей символы с кодом #a0 (деци=160), отображаемые в браузере и Блокноте, как обычный пробел. Однако, WinHex показал отсутствие таковых символов в текст-копиях Ваших ячеек.

Предлагаю вариант: если авторы Вашей задачи не ответят Вам подсказкой, то Вы можете сами вставить разделители в те места excel-ячеек, где текст надо разделить. Например: символ Chr160 (он тут в фигурных скобках{[$160$]}), ПереносСтроки, двойная запятая {,,} , запятая м-ду пробелов { , }, слэш {/}… Разумеется, разделитель должен быть уникальным и отсутствовать в неразделяемых фрагментах (во избежание ненужных разрезов). Тогда мы сможем помочь Вам автоматизировать разделение ячей-контента на фрагменты и "вытянуть часть текста с цыфрами нужными". Укажите, которые цифры Вы считаете нужными?

P.S: Не удаётся показать Вам тут символ неразрывного пробела Chr(160), программа rfpro-портала авто-заменяет его на обычный пробел. Но в скрипт-коде этот символ работает надёжно.
давно
Посетитель
401265
6
07.08.2017, 16:02
общий
Адресаты:
спасибо за совет, и решение. Нужные цифры - количество, где в одно ячейке 2 и более товара.
давно
Мастер-Эксперт
259041
7459
08.08.2017, 14:51
общий
Адресаты:
Вы снова не ответили на главные вопросы, и Ваш Вопрос закрыт автомати программой портала. Модераторы могут продлить истекающий срок ещё не закрытой Консультации по просьбе Автора вопроса, но Вы не попросили. Если Вам ещё нужна помощь, то пере-задайте свой Вопрос снова и обязательно укажите продуманные разделители, по которым можно "розбить, чтобы каждый товар был в отдельной ячейке (вместе с колличеством и составом)".

Помимо простых разделителей, что я предложил выше, можно использовать условные разделители типа {..} . Например, строка ячейки
КУРТКА1 ЧОЛ. арт.8574/400 розмір L - 7 шт. Склад[color=red]..КУРТКА2 ЧОЛ. арт.8574/400.[/color]
будет разрезана точкой, находящейся после точки (точка после слова арт не разрежет). Избыточная точка-разделитель после фрагмента {Склад.} не войдёт в состав разрезанных фрагов (не испортит грамматику). Но Вы должны предоставить файл с существующими в нём разделителями (где разрез нужен), отсутствующими в неразрезаемых фрагментах. Тогда возможно решение.
давно
Посетитель
401265
6
08.08.2017, 15:26
общий
Адресаты:
проблема-то как раз в этом и есть. При наличии разделителей я и сам могу выполнить задание. В случае добавления разделителей, как по мне, проще уже будет в ручную выполнить задачу, ведь все равно придется пересмотреть весь массив с целью выявления ячеек, подходящих под критерий (2 и больше позиций). Возможно, есть идеи как можно отфильтровать такие ячейки?

Вобще, задание, насколько я понял, состоит в том, чтобы посредствами формул выполнить задание. Если делать ручную работу (добавление разделителя), при условии большого массива информации, очень большая вероятность упущения.
давно
Мастер-Эксперт
259041
7459
09.08.2017, 13:24
общий
Адресаты:
Вы спросили "с целью выявления ячеек, подходящих под критерий (2 и больше позиций). Возможно, есть идеи как можно отфильтровать такие ячейки?" - я просмотрел несколько ячеек в столбце H "Опис товару_1" и заметил, что в ячейках с несколькими товарами 2жды присутствует слово "Склад: " либо "виробництва ". Можно написать скрипт, читающий столбец H , и он мигом найдёт ячейки, содержащие эти слова в количестве более 1.

"задание, насколько я понял, состоит в том, чтобы посредствами формул выполнить задание" - Вам уже неоднократно отвечали, что "по любому формулами задача не решается", потому что применение формул ограничено обработкой чисто числовых данных. А у Вас надо разрезАть бестолково-склеенные СТРОКИ - это совсем другая тема!

"Если делать ручную работу (добавление разделителя), при условии большого массива информации, очень большая вероятность упущения" - тут Вы правы! Поэтому в подобных работах я стараюсь не изменять исходный документ, а делать выборку только проблемных ячеек (неполного столбца H) скриптом и сохранять отфильтрованные части в 2…3 мини-файлика (текстовых). Например, в файл-части, куда скрипт должен сохранить ячей-фрагменты с 2мя словами "виробництва " Вы легко увидите брак скрипта (если он есть) и исправите недоделку алгоритма или ошибку фильтрации.

"При наличии разделителей я и сам могу выполнить задание" - вот к этому я и подводил Вас, чтобы Вы возвратили своему рекруту не беспомощный ответ "не умею", а показали свой деловой, оптимистичный подход: "Ваш Итоговый ФайлОтчёт испорчен, но я могу всё исправить! Дайте мне исходники (из входящей электронной почты?), из которых кто-то склеил все данные в одну кучу без разделителей, либо я рассортирую текущий докум скриптом/вручную с разделителями". Удачи Вам!
Форма ответа