отображение данных одного листа на другом с созданием дополнительных ячеек

Автор Emil410mv, 17.06.2014, 11:42

« назад - далее »

Emil410mv

Доброго всем времени суток. у меня такая проблема: на первом листе(technical proposals) список клиентов, даты, оборудование и пр, всего несколько колонок, когда все колонки заполняются (а именно дата закаса в колонке w) эта информация копируется на новый лист(comercial proposal) там с ней работает уже другой человек и в строке напротив этой информации вносит другие данные но когда на первом листе заполняется заказ который идет выше предыдущего то на втором листе этот заказ отображается в нужном месте(под правильным порядковым номером),но данные из синих колонок остаются на прежнем месте и получается путаница. т е сначала оформили заказ номер 093, забили нужную инфу на втором листе, а потом решили оформить 092, а новом листе данные соответствующие 093 теперь напротив 092. надеюсь правильно объяснил, не могу решить эту проблему. может есть способ поменять формулу так чтобы при отображении информации на листе (comercial proposal) создавалось справа несколько ячеек? пробовал макросы но это максимум на что я способен:

Sub Вставка()
Range(ActiveCell.Offset(1, 0), ActiveCell.Offset(1, 12)).Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
End Sub

IKor

Я бы посоветовал организовать файл таким образом, чтобы второй оператор (commercial proposal) руками вносил в нужную строку не только новые данные, но и уникальный идентификатор строки (номер заказа). Тогда теми же формулами в нужные строки второго листа будут подтягиваться значения, внесенные для этого же заказа на первом листе. А правильный порядок строк на втором листе можно периодически наводить при помощи сортировки данных.

Emil410mv

Цитата: IKor от 19.06.2014, 17:03
Я бы посоветовал организовать файл таким образом, чтобы второй оператор (commercial proposal) руками вносил в нужную строку не только новые данные, но и уникальный идентификатор строки (номер заказа). Тогда теми же формулами в нужные строки второго листа будут подтягиваться значения, внесенные для этого же заказа на первом листе. А правильный порядок строк на втором листе можно периодически наводить при помощи сортировки данных.

не могли бы Вы поэтапно написать что мне необходимо сделать (при этом есть ли способ добавить эти уникальные идентификаторы в уже заполненные строки?) заранее спасибо!

IKor

Emil,

Насколько я понял, перед Вами стоит задача сбора в общую базу данных информации с двух листов (от разных пользователей). Вы подразделяете информацию на первоочередную (техническую) и второй очереди (коммерческую). При этом на втором листе Вы автоматически генерируете список готовых (уже внесенных) первоочередных задач. А так как со временем порядок первоочередных задач может меняться, то меняется и сгенерированный на его основе перечень задач второй очереди, а ранее введенные данные второй очереди (коммерческие) привязаны к исходному списку первоочередных задач. При этом ранее введенные коммерческие данные оказываются привязанными некорректно.

Я предлагаю уравнять в правах технические и коммерческие задачи. И вне зависимости от очередности вносить данные в обе таблицы (на обоих листах), но не генерировать списки ранее введенных другим пользователем задач, а вносить данные в привязке к уникальным именам. В крайнем случае предупреждать пользователя о том, что введенное им уникальное имя отсутствует в другой таблице.

Посмотрите прилагаемый документ - я не стал отталкиваться от Вашего примера, но сделал новый.
Порядок моих действий:
1. Создал таблицу "Техника" на Листе1 (см. Формулы/Диспетчер_Имен)
2. Создал три уникальные записи (неповторяющиеся данные в трех строках в столбце Уникальный) и добавил для них данные в столбцах Техника1 и Техника2
3. На Листе2 создал таблицу и присвоил ей имя "Коммерция"
4. В произвольном порядке в столбце Уникальный указал несколько значений (частью не совпадающих с введенными в таблице Техника) и добавил для них данные в столбцах Коммерция1 и Коммерция2
5. При помощи формул (см. желтые ячейки) подтянул данные, введенные в таблице Техника, для строк с совпадающими уникальными именами
6. При помощи условного форматирования (см. Главная/УФ/Управление правилами) проверил совпадение уникальных имен, введенных в таблицах Коммерция и Техника. Новые имена выделены красным шрифтом.

Если у Вас возникнут вопросы по реализованным формулам - обращайтесь.

vikttur

IKor, СМЕЩ - функция летуча (пересчет при любых изменениях на листе), поэтому желательно обходиться без нежелательного применения :)
=ЕСЛИОШИБКА(ВПР($C6;Техника;ПОИСКПОЗ(F$5;Лист1!$B$4:$F$4;););"")

IKor

Цитата: vikttur от 25.06.2014, 21:15
СМЕЩ - функция летуча
Очень интересный термин :) никогда раньше не встречал...
Про пересчет при любых изменениях - буду знать.

А в принципе можно и безо всяких формул прописать явно номера столбцов - главное не забыть их поправить при изменении структуры :)

Serge 007

Цитата: IKor от 30.06.2014, 15:55
Цитата: vikttur от 25.06.2014, 21:15
СМЕЩ - функция летуча
Очень интересный термин :) никогда раньше не встречал...
Про пересчет при любых изменениях - буду знать
Application.volatile знакомо?
У функций СМЕЩ, ДВССЫЛ, СЕГОДНЯ, ТДАТА и т.д. cвойство Volatile=True
Бесплатная помощь: www.excelworld.ru
Платная помощь: sergeyizotov@excelworld.ru
Ю-money: 41001419691823 | WMR:126292472390