Страницы: 1
RSS
Сделать визуальную структуру
 
Добрый день!
Не могу составить визуальную структуру из данных приложенных в таблице
-Категория
--Подкатегория
---Подподкатегория
----.......
id_category - это уникальный номер категории
id_parent - это номер категории куда относится подкатегория
level_depth -уровень вложения

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

Подскажите пожалуйста как решить!
 
Для примера десяток другой строк структурируйте вручную, для наглядности
Согласие есть продукт при полном непротивлении сторон
 
Сделал на листе пример структуру для Ванн ( 2-Категория 1уровень)
0 - Корень
1- Главная
2 - Категория 1уровень
6 - Категория 2 уровень для Категории 1
7 - Категории 3 уровень для Категория 2 уровень для Категории 1

На листе Категория вывел все категории (2 - Категория 1уровень)
 
Miha, используйте в макросе рекурсию. Алгоритм точно прописать не могу, т.к. с подобной задачей не сталкивался, но задаче решаемая - главное не лениться и делать.

Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori
 
типа такого?
 
Нет! Вы сделали просто по уровням!
Нужно что бы в одну строку была категория и относящиеся к ней подкатегории. Как описывал выше!
 
так дайте наименования категорий, подкатегорий и подподкатегорий. А то у Вас таблица из цифровых столбцов, непонятно что куда относится
 
Исходный вид таблицы закладка "оригинал" в файле!
Таблица имеет поля:
id_category - это уникальный номер категории
id_parent - это номер категории куда относится подкатегория
level_depth -уровень вложения

Т.е. если вы находите в столбце id_category номер 76, то в столбце  id_parent будет 75,
делаем такую же операцию для  id_category номер 75, в столбце  id_parent будет 37,
делаем такую же операцию для  id_category номер 37, в столбце  id_parent будет 2,
делаем такую же операцию для  id_category номер 2, в столбце  id_parent будет 1,
делаем такую же операцию для  id_category номер 1, в столбце  id_parent будет 0,

Таким образом визуально это будет выглядет так:
Корень
-Главная
--Унитазы
---Gala
----Коллекция Klea

Цель привести таблицу закладка "оригинал" в вид визульнно понятной и удобной структурой для работы
 
Цитата
yarik1983 написал: непонятно что куда относится
Как раз всё понятно, только лень делать за кого-то работу - макрос с нуля писать. Не видно никаких потуг со стороны ТС сделать желаемое.

Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori
 
Вы не правы!
К сожалению не умею писать макросы!(((
Придумал как сделать через ВПР, но как то не очень изящно получилось!
 
Miha, я тоже не умел. Учусь до сих пор. Понимаете, требуемое можно сделать. Главное - это иметь представление об общем алгоритме действий. Попробуйте описать Ваши действия вручную на бумаге, а после попытайтесь перевести это на язык понятный экселю.
И покажите Ваш вариант с ВПР.

Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori
 
К сожалению не могу приложить файл, система не пропускает так как вес больше 100 КБ
Выложил на диски
https://yadi.sk/i/rB1Ine4KiYsYi

Слева столбцы выделеные фиолетовым работа с ВПР, справа полученный результат!

Единственное что равнение получилось по последним категориям, а нужно по первым!
Т.е. если кто подскажит как сдвинуть в результате пустые строки в лево а значение в право, буду признателен!
Сейчас
Корень|Пусто|Пусто|Пусто|Пусто
Должно быть
Пусто|Пусто|Пусто|Пусто|Корень
Изменено: Miha - 20.08.2015 11:17:11
 
Miha, увидел. Хорошо. Попробую помочь.

Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori
 
Т.е. уточню вопрос!
В файле закладка "сдвиг" сейчас равнение по столбцу 5 далее если это главная категория то пусто
Нужно сделать равнение по столбцу 1. Далее будет пусто.
Цель что бы категории одинакового уровня были в одних и тех же столбцах
 
Делюсь  http://my-files.ru/zi9at7.test.xlsx
Там на листе5 надо фильтрами играться, чтоб убрать лишнее, а так в принципе структура создана и собрана.
 
Хотя-бы отписались, подошло или нет....
 
Я прошу прощение отлучался!
Спасибо вам большое за участие и за ваш вариант!
 
Miha, формулу в E2 и протянуть вниз:
=ЕСЛИ($B2;$D2&"|"&ИНДЕКС($E:$E;ПОИСКПОЗ($B2;$A:$A;0));$D2)
Если надо по яч. разнести, то скопировали, вставили как знач., данные/текст по столбцам. (макрос писать неохота, т.к. нет чёткого понимания конечного рез-та)

Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori
 
Варианты для размышлений...
Всё сложное - не нужно. Всё нужное - просто /М. Т. Калашников/
 
Господа большое спасибо всем за помощь и участие!
Особенно хочу поблагодарить:
Михаил Лебедев, JayBhagavan, yarik1983,

Решение найдено вопрос закрыт!
Еще раз спасибо!

P|S
Михаил Лебедев, Ваше решение очень понравилось!
Страницы: 1
Наверх