В процессе изыскания столкнулся с проблемой переноса одних и тех же данных с одного листа на другой, но немного в другом формате.
Первоначально идея была через ЕСЛИ, СМЕЩ, И, ИЛИ осуществлять перенос данных, однако застопорилось все на моменте привязке к шапкам каждой отдельной таблицы. Возможно, кто-нибудь вспомнить была ли похожая тема, в поиске не нашел. Или в каком направлении думать для осуществления задумки
Суть: Во вкладке "Исход" отмечена исходная таблица, из которой данные переносятся в таблицу 2 на листе "результат".
Переносу подлежат данные, маркированные номерами 1, 2, 5, 6, 7 (причем 5,6,7 могут встречаться в таблице в разных вариациях, а могут не встречаться вовсе) Данные переносят всегда по одному принципу, который через равно проставлен в листе Результат.
Алгоритм:
Алгоритм представляется таким: 1. Создаётся первая шапка таблицы
2. Под ней строка, содержащая данные, маркированные "1" - они распределяются по своим столбцам
3. Далее создается строка в первом столбце заданный Заголовок, во втором столбце (6 объединённых столбцов), содержаться данные, маркированные "2". В зависимости от их количества - создается такое количество строк и по ним распределяются данные.
4. Создаётся вторая шапка таблицы
5. Проверяется наличие данных, маркированных "5". В случае наличия создаётся строка с наименованием "А и Е". В зависимости от количества данных под "5" - создается такое количество строк и по ним распределяются данные. В случае отсутствия переход к п.6
6. Проверяется наличие данных, маркированных "6". В случае наличия создаётся строка с наименованием "Л". В зависимости от количества данных под "6" - создается такое количество строк и по ним распределяются данные. В случае отсутствия переход к п.7
7. Проверяется наличие данных, маркированных "7". В случае наличия создаётся строка с наименованием "ГЛ". В зависимости от количества данных под "7" - создается такое количество строк и по ним распределяются данные. После создается строка с заголовком "МВВГМ" и пустая строка под ней. В случае отсутствия - перейти к следующему циклу.
Данные, промаркированные 1, помещаются в первую строку новой таблицы в таком же порядке столбцов (за исключением пропущенных - A,C,F,G,H); Данные, промаркированные 2, помещаются в строки под 1, и их количество зависит соответственно от количества проставленных 2; Данные 3 и 4 пропускаются; Данные 5, имеющие код длиной 12 символов, помещаются под создаваемую строку с наименованием "А и Е", количество подстрок зависит от количества проставленных "5" на исходном листе. В случае их отсутствия — пропуск, не создаётся строка "A и Е"; Данные 6, имеющие код длиной 15 символов, помещаются под создаваемую строку c наименованием "Л", количество подстрок зависит от количества проставленных "6". В случае их отсутствия — пропуск, не создаётся строка "Л"; Данные 7, имеющие код длиной 10 символов, помещаются под создаваемую строку c наименованием "ГЛ", количество подстрок зависит от количества проставленных "7". После их добавления ниже создается строка "МВВГМ" + пустая строчка (МВВГМ и пустая строка создается только в случае наличия строки ГЛ [а она в свою очередь зависит от наличия "7" на исходном листе {или 10-значного шифра}]). В случае кода отсутствия 7 — пропускаются, не создаётся строка "ГЛ" и "МВВГМ". Далее цикл повторяется
Здравствуйте!
В процессе изыскания столкнулся с проблемой переноса одних и тех же данных с одного листа на другой, но немного в другом формате.
Первоначально идея была через ЕСЛИ, СМЕЩ, И, ИЛИ осуществлять перенос данных, однако застопорилось все на моменте привязке к шапкам каждой отдельной таблицы. Возможно, кто-нибудь вспомнить была ли похожая тема, в поиске не нашел. Или в каком направлении думать для осуществления задумки
Суть: Во вкладке "Исход" отмечена исходная таблица, из которой данные переносятся в таблицу 2 на листе "результат".
Переносу подлежат данные, маркированные номерами 1, 2, 5, 6, 7 (причем 5,6,7 могут встречаться в таблице в разных вариациях, а могут не встречаться вовсе) Данные переносят всегда по одному принципу, который через равно проставлен в листе Результат.
Алгоритм:
Алгоритм представляется таким: 1. Создаётся первая шапка таблицы
2. Под ней строка, содержащая данные, маркированные "1" - они распределяются по своим столбцам
3. Далее создается строка в первом столбце заданный Заголовок, во втором столбце (6 объединённых столбцов), содержаться данные, маркированные "2". В зависимости от их количества - создается такое количество строк и по ним распределяются данные.
4. Создаётся вторая шапка таблицы
5. Проверяется наличие данных, маркированных "5". В случае наличия создаётся строка с наименованием "А и Е". В зависимости от количества данных под "5" - создается такое количество строк и по ним распределяются данные. В случае отсутствия переход к п.6
6. Проверяется наличие данных, маркированных "6". В случае наличия создаётся строка с наименованием "Л". В зависимости от количества данных под "6" - создается такое количество строк и по ним распределяются данные. В случае отсутствия переход к п.7
7. Проверяется наличие данных, маркированных "7". В случае наличия создаётся строка с наименованием "ГЛ". В зависимости от количества данных под "7" - создается такое количество строк и по ним распределяются данные. После создается строка с заголовком "МВВГМ" и пустая строка под ней. В случае отсутствия - перейти к следующему циклу.
Данные, промаркированные 1, помещаются в первую строку новой таблицы в таком же порядке столбцов (за исключением пропущенных - A,C,F,G,H); Данные, промаркированные 2, помещаются в строки под 1, и их количество зависит соответственно от количества проставленных 2; Данные 3 и 4 пропускаются; Данные 5, имеющие код длиной 12 символов, помещаются под создаваемую строку с наименованием "А и Е", количество подстрок зависит от количества проставленных "5" на исходном листе. В случае их отсутствия — пропуск, не создаётся строка "A и Е"; Данные 6, имеющие код длиной 15 символов, помещаются под создаваемую строку c наименованием "Л", количество подстрок зависит от количества проставленных "6". В случае их отсутствия — пропуск, не создаётся строка "Л"; Данные 7, имеющие код длиной 10 символов, помещаются под создаваемую строку c наименованием "ГЛ", количество подстрок зависит от количества проставленных "7". После их добавления ниже создается строка "МВВГМ" + пустая строчка (МВВГМ и пустая строка создается только в случае наличия строки ГЛ [а она в свою очередь зависит от наличия "7" на исходном листе {или 10-значного шифра}]). В случае кода отсутствия 7 — пропускаются, не создаётся строка "ГЛ" и "МВВГМ". Далее цикл повторяется