Страницы: 1
RSS
Сложная нумерация строк в группе.
 
Добрый день, уважаемый форум. Помогите решить одну задачу.  
Есть многоуровневый список в нем есть агрегаты, узлы и детали.  
Агрегат состоит из узлов и деталей, каждый узел может тоже состоять из узлов и деталей.  
Для каждого агрегата начинается новый список номеров, потом добавляются  доп номера узлов внутри агрегата, потом могут добавляться дополнительные номера в узле, а потом дополнительные номера уже в деталях.  
Пытался написать формулу, чтобы пронумеровать строки так как в примере, но не смог.  
Помогите пожалуйста.  
И можно ли потом выбрать на отдельном листе уникальные узлы с кодом?
 
{quote}{login=McCinly}{date=14.01.2010 10:22}{thema=Сложная нумерация строк в группе.}{post}Пытался написать формулу, чтобы пронумеровать строки так как в примере, но не смог. И можно ли потом выбрать на отдельном листе уникальные узлы с кодом?{/post}{/quote}  
1. А как в примере? Нумерация по коду? Объясните.  
2. На отдельном листе уникальные узлы с кодом выбрать можно.
 
С нумерацией понял.
 
{quote}{login=vikttur}{date=14.01.2010 11:34}{thema=}{post}С нумерацией понял.{/post}{/quote}  
Отдельные узлы на листе "Калькуляции"
 
Что значит "Узел повторяет агрегат, значит новый уровень"?  
Почему повторяется узел 1-1-1, 2-1-2?
 
Есть Агрегаты (не менее одного). Состоят из узлов (не менее одного в агрегате). Узлы состоят из деталей (не менее одной в узле).  
 
Повторение узлов (1-1-1, 2-1-2...) нарушает нормальную нумерацию. Без этого никак?  
Столбец А, по моему мнению, нужно формировать таким образом (два варианта):  
1. Агрегат-Первый узел агрегата-Перечень деталей первого узла-Второй узел агрегата-Перечень деталей второго узла-...-Второй агрегат-...  
2. Агрегат-Перечень узлов агрегата-Перечень деталей первого узла-Перечень деталей второго узла-...-Перечень деталей последнего узла-...-Второй агрегат-...
 
{quote}{login=vikttur}{date=14.01.2010 12:10}{thema=}{post}Что значит "Узел повторяет агрегат, значит новый уровень"?  
Почему повторяется узел 1-1-1, 2-1-2?{/post}{/quote}  
 
На первом уровне сразу после агрегата идет перечисление узлов и деталей из которых состоит агрегат. Для деталей стоят нормы, для узлов нет. После того как окончились детали входящие в агрегат, начинается расшифровка узла.    
Попробую описать построчно:  
1.   АГРЕГАТ1  
----- Начало расшифровки Агрегата1 -----  
1.0. УЗЕЛ0 САМ АГРЕГАТ1  
1.1. УЗЕЛ1 ДЛЯ АГРЕГАТ1  
1.2. УЗЕЛ2 ДЛЯ АГРЕГАТ1  
1.3. УЗЕЛ3 ДЛЯ АГРЕГАТ1  
1.0.1. ДЕТАЛЬ1 ДЛЯ АГРЕГАТ1  
1.0.2. ДЕТАЛЬ2 ДЛЯ АГРЕГАТ1  
1.0.3. ДЕТАЛЬ3 ДЛЯ АГРЕГАТ1  
1.0.4. ДЕТАЛЬ4 ДЛЯ АГРЕГАТ1  
---- Конец расшифровки Агрегата1 --------  
---- Начало расшифровки Узла1 из Агрегата1 ----  
1.1. УЗЕЛ1 ДЛЯ АГРЕГАТ1  
1.1.1. УЗЕЛ1 ДЛЯ УЗЛА1 ИЗ АГРЕГАТА1  
1.1.2. УЗЕЛ2 ДЛЯ УЗЛА1 ИЗ АГРЕГАТА1  
1.1.0.1.  ДЕТАЛЬ1 ДЛЯ УЗЛА1 ИЗ АГРЕГАТА1  
1.1.0.2.  ДЕТАЛЬ2 ДЛЯ УЗЛА1 ИЗ АГРЕГАТА1  
1.1.0.3.  ДЕТАЛЬ3 ДЛЯ УЗЛА1 ИЗ АГРЕГАТА1  
---- Конец расшифровки Узла1 из Агрегата1 ----  
---- Начало расшифровки Узла1 из Узла1 из Агрегата1 ----  
1.1.1. УЗЕЛ1 ДЛЯ УЗЛА1 ИЗ АГРЕГАТА1  
1.1.1.1.  ДЕТАЛЬ1 ДЛЯ УЗЛА1 ИЗ УЗЛА1 ИЗ АГРЕГАТА1  
1.1.1.2.  ДЕТАЛЬ2 ДЛЯ УЗЛА1 ИЗ УЗЛА1 ИЗ АГРЕГАТА1  
1.1.1.3.  ДЕТАЛЬ3 ДЛЯ УЗЛА1 ИЗ УЗЛА1 ИЗ АГРЕГАТА1  
---- Конец расшифровки Узла1 из Узла1 из Агрегата1 ----  
---- Начало расшифровки Узла2 из Узла1 из Агрегата1 ----  
1.1.2. УЗЕЛ2 ДЛЯ УЗЛА1 ИЗ АГРЕГАТА1  
1.1.2.1.  ДЕТАЛЬ1 ДЛЯ УЗЛА2 ИЗ УЗЛА1 ИЗ АГРЕГАТА1  
1.1.2.2.  ДЕТАЛЬ2 ДЛЯ УЗЛА2 ИЗ УЗЛА1 ИЗ АГРЕГАТА1  
1.1.2.3.  ДЕТАЛЬ3 ДЛЯ УЗЛА2 ИЗ УЗЛА1 ИЗ АГРЕГАТА1  
---- Конец расшифровки Узла2 из Узла1 из Агрегата1 ----  
---- Начало расшифровки Узла2 из Агрегата1 ----  
1.2. УЗЕЛ2 ДЛЯ АГРЕГАТ1  
1.2.1. ДЕТАЛЬ1 ДЛЯ УЗЕЛ2 ИЗ АГРЕГАТА  
1.2.2. ДЕТАЛЬ2 ДЛЯ УЗЕЛ2 ИЗ АГРЕГАТА  
1.2.3. ДЕТАЛЬ3 ДЛЯ УЗЕЛ2 ИЗ АГРЕГАТА  
1.2.4. ДЕТАЛЬ4 ДЛЯ УЗЕЛ2 ИЗ АГРЕГАТА  
---- Конец расшифровки Узла1 из Агрегата1 ----  
Формулу для определения типа строки АГРЕГАТ, УЗЕЛ или ДЕТАЛЬ в примере есть.  
 
Максимальный уровень вложенности узлов 4.  
 
Я хочу нумерацию сделать, чтобы получить уникальные узлы, а  потом собрать расход материалов на листе "Калькуляции" по каждому узлу.  
 
Если эта задача неразрешима в Excele, буду искать другие возможности.    
Уверенность, что в Excele можно сделать всё, пока остается ;)
 
---- Начало расшифровки Узла2 из Агрегата1 ----  
1.2. УЗЕЛ2 ДЛЯ АГРЕГАТ1  
1.2.1. ДЕТАЛЬ1 ДЛЯ УЗЕЛ2 ИЗ АГРЕГАТА  
1.2.2. ДЕТАЛЬ2 ДЛЯ УЗЕЛ2 ИЗ АГРЕГАТА  
1.2.3. ДЕТАЛЬ3 ДЛЯ УЗЕЛ2 ИЗ АГРЕГАТА  
1.2.4. ДЕТАЛЬ4 ДЛЯ УЗЕЛ2 ИЗ АГРЕГАТА  
****---- Конец расшифровки Узла1 из Агрегата1 ----  
Исправляю ***) ---- Конец расшифровки Узла2 из Агрегата1 ----  
Формулу для определения типа строки АГРЕГАТ, УЗЕЛ или ДЕТАЛЬ в примере есть.
 
2-1-0-5  
деталь5 узла0 агрегата2 (т.е. деталь самого агрегата).  
Что значит вторая цифра? В примере принимает значение "0" - когда непосредственно Агрегат, или "1" - если не Агрегат.
 
2-1-0-5  
 
Это пятая деталь в первом узле, второго агрегата. Должно быть так...  
 
А 2.0.5 - это 5-я деталь, во втором агрегате.
 
2-1-0-5  
Что значит "0"?
 
То, что это деталь в узле верхнего уровня. Если нуля нет, то это деталь сразу внутри узла.  
Если по порядку идет Узел, Узел, Деталь - то эта деталь самого верхнего предыдущего узла, потом опять будет: деталь, узел, деталь - в этом случае деталь входит непосредственно в узел.  
 
Стоимость материалов на узел будет складываться из деталей узла и деталей подузлов если есть.  
 
Как-то так...  
 
На самом деле в агрегате может быть до 100 узлов, в среднем расшифровка состоит из 2000-5000 строк (это узлы+детали), и все узлы считать очень долго. Вот попытка упростить расчет.
 
Запутали. В файле четырехзначная нумерация, в посте – трехзначная. Не понял :(  
Давайте так:  
1 цифра -???, например, ???  
2 цифра -???, например, ???  
и т.д.
 
Накобасил, но вроде работает:)
 
Эээ, ну дак, (застенчиво мнёт в руках меховой треух и снимает валенки))))  
Как бы правила:  
1) Агрегат состоит из узлов и деталей  
2) Узел состоит из узлов и деталей.  
3) Сразу после объявления агрегата (первое появление нового агрегата в списке) идет перечень из чего состоит агрегат: узлы и детали.  
4) Сразу после объявления узла идет перечень из чего состоит узел: узлы или детали.  
5) После объявления верхнего уровня идет расшифровка состава узлов входящих в этот уровень.  
6) Потом повторяется все в цикле, пока не закончится весь агрегат.  
   
Пример делал вручную, мог ошибиться. Нужна нумерация многоуровневая "почти" примерно так как в ворде.  
 
Оглавление  
Том 1      Это   - 1.  Агрегат  
Том 1, Введение  - 1.0. Агрегат=Узел  
Том 1, Глава 1   - 1.1. Агрегат-Узел1  
Том 1, Глава 2   - 1.2. Агрегат-Узел2  
Введение, Часть 1   - 1.0.1. Агрегат-Деталь1  
Введение, Часть 2   - 1.0.2. Агрегат-Деталь2  
Глава 1             - 1.1. Агрегат-Узел1  (Заголовок или оглавление Главы 1)  
Глава 1, Часть 1    - 1.1.1.  Узел1 - Деталь1 (если только одни детали в узле)  
Или    
Глава 1, Подглава1  - 1.1.1.  Узел1 - Узел1 (Узел входит в Узел1)  
Глава 1, Часть 1    - 1.1.0.1 Узел1 - Деталь (Деталь входит в узел (1.1.) у которого есть подузлы) ,а ниже будет обзательно повтор оглавление подглавы1  
Глава 1, Подглава1  - 1.1.1.  Узел1 - Узел1 (Узел входит в Узел1)  
Глава 1, Часть 1    - 1.1.1.1 Узел1 - Узел1 -Деталь (Деталь входит в узел у которого нет подузлов).  
Нумерация может увеличиваться в длину.  
 
Переминаюсь с ноги на ногу... Ну как смог так и объяснил (очень сильно старался попонятнее).    
Большое спасибо вам vikttur.
 
Для одного агрегата считает хорошо, а если больше1, то узел равый агрегату берется из первого агрегата. См. строку 39 в вашем файле.    
 
В вашей формуле ПОИСКПОЗ(A38;$A$2:A39;0) возвращает узел    
верхнего агрегата: 1-1-0-1  
А нужно 2-1-0-1.  
И уровни вложенности тоже ограничены, если еще один подузел, то рушится вот эта часть формулы ЗАМЕНИТЬ(B38;7;ДЛСТР(B38)-6;ПСТР(B38;7;3)+1))
 
Спасибо, да еще Большое - за непонятливость? Попробуем добивать (задачу или друг друга?) :)  
 
1-0-0 - том1 (агрегат1). Т.е. первая цифра - это том.  
2-1-2 - узел2 тома2 (агрегата2). Что обозначает вторая цифра ("1")?  
 
«Глава 1, Часть 1 - 1.1.1. Узел1 - Деталь1 (если только одни детали в узле)  
Или    
Глава 1, Подглава1 - 1.1.1. Узел1 - Узел1 (Узел входит в Узел1)»  
Рассуждения к цитате:  
1-1-2-1 – это может быть и деталь1 узла2 агрегата1 (у узла2 нет «подузлов»), и узел1 узла2 агрегата1 (у узла2 есть «подузлы»)? Т.е. одинаковая кодировка узла или детали?  
Или во втором случае будет уже пятизначная кодировка?  
 
«Глава 1, Часть 1 - 1.1.0.1 Узел1 - Деталь (Деталь входит в узел (1.1.) у которого есть подузлы) ,а ниже будет обзательно повтор оглавление подглавы1  
Глава 1, Часть 1 - 1.1.1.1 Узел1 - Узел1 -Деталь (Деталь входит в узел у которого нет подузлов).»  
Рассуждения к цитате:  
В двух случаях четырехзначный номер, но обозначает разное. Или и здесь полная запись для двух случаев разная?
 
Добавьте (исправьте) шифры в примере.
 
{quote}{login=vikttur}{date=15.01.2010 10:21}{thema=}{post}Добавьте (исправьте) шифры в примере.{/post}{/quote}  
 
Исправил шифры и показал как считается потом.
 
Выше был я
 
Передачу получил. Буду думать :)
 
{quote}{login=vikttur}{date=15.01.2010 12:39}{thema=}{post}Передачу получил. Буду думать :){/post}{/quote}  
Я все шифры затеял, чтобы потом собрать стоимость материалов на узлы, а сейчас думаю, что наверное зря.    
 
Задачу выбора узлов и расчета калькуляции, быстрее можно было решить простым перебором строк и массивами.    
Я сначала подумал, что проставить формулы, а потом по подстроке шифров выбирать узлы и что в них входит будет быстрее. Сама задача с шифрами интереснее калькуляций получилась )))
 
В Вашей кодировке просто читать только левую и правую часть кода. Середина - кошмар для Excel'я (и чем больше вхождений "узел в узел", тем больше кошмар :)) - нужно сначала определить, к какой части относятся цифры, потом определить, есть ли дальнейшее вхождение, потом...  
Если все-таки хотите применить шифр, то Ваш вариант для Excel'я не очень хорош.  
Во-первых, сложно разбираться, когда Узел - это и составляющая изделия, и составляющая узла, и составляющая узла узла и т.д. :)  
Сравните: Агрегат-Узел-Узел-Узел-Узел-Деталь  
И, например: Агрегат-Узел-Подузел-Блок-Схема-Деталь  
Есть разница?  
Каждой конкретной части изделия должна соответствовать определенная позиция шифра.  
Например, имеем шесть позиций вхождений.  
01.00.00.00.02.33 - деталь33 схемы2 агрегата1;  
01.10.00.00.00.15 - деталь15 узла10 агрегата1;  
05.00.00.12.00.00 - блок12 агрегата5;  
06.00.00.00.00.03 - деталь3 агрегата6.  
При такой записи Excel можно научить видеть позицию цифры и определять, к какой части это относится.  
Если нужно отметить код не составляющих, а блока (узла, агрегата), для которого дается перечень составляющих, можно применить букву:  
01.У.00.00.00.00 - далее будет состав узла агрегата1 (то, что в Вашем варианте выглядело как Узел0) и т.д.
 
Адаптеры  
Адаптеры | PCI/PCMCIA Адаптеры  
Адаптеры | PCI/PCMCIA Адаптеры | TP-Link  
Адаптеры | USB Адаптеры  
Адаптеры | USB Адаптеры | Alpha  
 
задать нумерацию  
 
1  
1|2  
1|2|3  
1|4  
1|4|5  
 
да так, чтобы всё начиналось например с 171, т.е.  
 
171  
171|172  
171|172|173  
171|174  
171|174|175
 
{quote}{login=Deamelfuse}{date=26.07.2011 06:07}{thema=У меня вот такая проблема возникла как подбной структуре}{post}Адаптеры  
Адаптеры | PCI/PCMCIA Адаптеры  
Адаптеры | PCI/PCMCIA Адаптеры | TP-Link  
Адаптеры | USB Адаптеры  
Адаптеры | USB Адаптеры | Alpha  
 
задать нумерацию  
 
1  
1|2  
1|2|3  
1|4  
1|4|5  
 
да так, чтобы всё начиналось например с 171, т.е.  
 
171  
171|172  
171|172|173  
171|174  
171|174|175{/post}{/quote}  
 
я так понял, что вас максимум два подуровня?  
известны ли вам все возможные уровни?
 
Посмотрите тему:  
http://www.planetaexcel.ru/forum.php?thread_id=16100  
Нумерация с подпунктами.
Страницы: 1
Читают тему
Наверх