Уважаемые знатоки, перерыл весь форум, но подобного не нашел. Ест похожее, но проблему не помогает решить. В общем проблема в следующем: есть на листе набор данных идентичного смысла, но разные по содержанию. Требуется собрать их в структурированную таблицу. Чтобы было понятней .речь идет о перечне поставщиков с их контактными данными. Структура данных выглядит следующим образом: информация о поставщиках собрана в блоки, причем каждый блок начинается с наименования поставщика, выделенного красным шрифтом. наименование 1 адрес 1 телефон 1 наименование 2 адрес 2 дополнительно 2 телефон 2 Необходимо сформировать в таблицу: наименование 1 / адрес 1 / телефон 1 наименование 2 / адрес 2 / телефон 2 / дополнительно 2 Образец с данными прикладываю.
Пока ждал ответа, ручками уже половину списка обработал. Тем не менее, ответ будет полезен в будущем. Народ, кто знает способы решения такой задачи, не стесняйтесь - отписывайтесь.
Как мне кажется тут единственный опорный момент - это выделение красным шрифтом названия поставщика. Другими словами - блок с информацией начинается на ячейку, содержащую шрифт красного цвета и заканчивается на ячейке перед такой же ячейкой. Если есть вариант выделять такие блоки и вставлять их один под другим, то уже будет проще обработать полученную таблицу.
Dark1589 написал: Лучше конечно к названию добавить "Организация:"
Если вы о том, чтобы в коде добавить, а потом уже делить по столбцам, то все равно нужно перебирать все строки и определять кто из них название по наличию в строке двоеточия. По крайней мере других закономерностей я не обнаружил. Если же это предложение в адрес ТС, то полностью согласен.
Не получается. Чтобы воспользоваться Power Query необходимы одинаковые блоки. Т.е. количество строк в каждом блоке должно быть идентичным. У меня не так. В одном блоке количество строк - 9 , в другом - 10 , в третьем 11 в четвертом снова - 10 и так далее. Количество строк в каждом блоке "прыгает". Пройтись по всем блокам и добавить пустышки оч сложно, ибо таких блоков более 7000. Хотя Power Query неплохой инструмент.
Что значит не получается? Я вам дал рабочий скрипт, в котором все уже получилось. Вам осталось только на лист1 с данными вставить полный массив организаций, потом сохранить файл и после на листе 3 нажать правой кнопкой на таблице и выбрать Обновить. Еще нужно чтобы у вас был активирован автоматический пересчет формул, иначе скрипт не увидит правильный адрес файла, который он получает из формулы на листе2. Главные условия, для того чтобы скрипт выдал корректный результат, я описал в предыдущем посте с файлом. На размеры блоков - глубоко фиолетово.
PooHkrd, дружище, спасибо. Я просто не сразу понял, что в прикрепленном файле есть решение, а пробовал воспользоваться Power Query по видеоинструкции. А теперь все вышло!!! Еще раз громадное спасибо!
PooHkrd написал: Stics , он ему не поможет - разное количество строк, для организаций.
Вот здесь я указал что эта инструкция вам не поможет именно по причине разного размера блоков. Вы просто не внимательно читаете, а потом теряете время. Хотя, с другой стороны, ознакомление со той статьей в общем-то не помешает.
Откровенно говоря, для меня полученный результат - это какое то колдунство. Совершенно не понял как это было сделано. Даже не смотря на детальное изучение примененных шагов в Power Query
Там часть шагов рукописные, таких кнопок на панели редактора запросов нет. Чтобы пришло понимание нужно начать читать справочники по синтаксису, функциям и т.д. Короче учиться, учиться и учиться. Можно просто пытаться любую задачу решать именно этим инструментом, тогда понимание придет гораздо быстрее, но практика без теории приведет не совсем по нужному адресу.
Владимир Левый, посмотрите вариант. Делал на основе скрипта уважаемого PooHkrd. Полностью на кнопочном интерфейсе. Поддерживаю мнение про "учиться, учиться и учиться")) К сожалению, на русском не так много материала, как хотелось бы. Сам только начал осваивать PQ. Так что работаю только в кнопочном интерфейсе.
Stics, в общем-то изначально я хотел сделать так же, но почему-то шаг "Сведенный столбец" мне ошибку выдавал. Пришлось извращаться с индексами и группировкой.
PooHkrd, да, у меня тоже первоначально с этим затык был. Потом дошло, что "Сведеный столбец" корректно отрабатывает при наличии индекса. Вполне логично. Т.е. нужно понимать какая строка к какой организации относится.
Удивительно, вчера все получилось. Сегодня в этот же файл добавляю новые данные (точно такие же) и уже не получается. Пробовал скачать образец файла от PooHkrd и вставить новые данные в него - так же не работает. Точнее работает, но на выходе не структурированный набор данных а копия начальных. Все делаю точно так же как и в прошлый раз. Вот что выходит (в файле вставлены новые данные)
Думал, может быть дело в источнике данных, но вроде бы все в норме - подхватывает первый столбец полностью. Где я проглядел?
Опять же невнимательно читаете условия корректной работы скрипта. ранее у вас в качестве разделителя выступал символ ":", а теперь это символ "-" Причем если двоеточие вряд ли когда встретится в названии организации, то дефис - легко например ЗАО "Урал-Микма-Терм". Щас что-нибудь придумаем.
Действительно странно. Не обратил внимание. Я только изменил разделить с ":" на "-". Всё-таки первый вариант выгрузки с ":" более адекватен для обработки.
опытным путем установлено, что наличие кавычек (") влияет на процедуру разбиения т.е. наличие (") в записи ЗАО "Урал-Микма-Терм" приводит к корректному разбиению а запись (ЗАО Урал-Микма-Терм) разделяется по дефису (-) и вот ещё такой момент. В расширенных параметрах процедуры "Разделить столбец" установлен по умолчанию Символ кавычек. Если его выставить Нет , то разделение тоже некорректно отрабатывается