Использование функции ВПР и добавления строки/столбца

Автор Gostello, 24.05.2009, 19:34

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

Gostello

Добрый день.

  Прошу знающих людей подсказать по такому вопросу.
Есть список:
   
                                A       B       C
                   1        яблоки   20   10кг
                   2   апельсины   30   20кг
                   3   мандарины   40   30кг
                   4   дыни          50     40кг

И есть второй список(из другой книги/файла)  :      
   
                      A       B       C 
                    1       яблоки   15    20
                    2  апельсины   25    30
                    3  мандарины   35    40
                    4    персики   45      50
Вопросы:
1. Как правильно сделать так, чтобы из второго списка информация проверялась и в случае совпадения вносились изменения в первый список.
2. Одно из важных примечаний - из второго списка в первый добавлялись бы не достающие ячейки/строки.

                Т.е., итог сопоставления и добавления данных д.б. след. вида:

                                A       B       C 
                    1       яблоки   15    20кг
                    2  апельсины   25    30кг
                    3  мандарины   35    40кг
                    4   дыни         50     40кг
                    5    персики   45      50

Заранее благодарю.


_Boroda_

См. Лист3.
Для простоты сделал не из разных книг, а из разных листов. Для книг - просто поменяй ссылки в формулах.
Скажи мне, кудесник, любимец ба'гов...



Яндекс-деньги: 41001632713405
Webmoney: R289877159277; Z102172301748; E177867141995

Gostello

_Boroda_ - Спасибо большое. :o

  Дабы не создавать еще одну тему прошу подсказки по 1 вопросу:
Приведу пример:

Есть
     A           B              C             D
              Машина1  Машина2  Машина3
фрукт1       1              1            0
фрукт2       1              2            1
фрукт3       2              0            1

и существует заказ на фрукты:

фрукт1       1             
фрукт2       1             
фрукт3       1           

Вопрос в том, как сделать так, чтобы первым был приоритет машине со всеми позициями (при наличии всех необходимых позиций заказ формировался из одной), а в случае отсутствия какой-нибудь из позиций приоритет отдавался машине с бОльшим количеством наименований?
   

_Boroda_

Скажи мне, кудесник, любимец ба'гов...



Яндекс-деньги: 41001632713405
Webmoney: R289877159277; Z102172301748; E177867141995

Gostello

#4
_Boroda_ еще раз большое спасибо

   Прошу знающих людей проконсультировать по след. вопросу:

Есть файл MS Excel, возможно сделать так, чтобы в отчет на листе этого документа добавлялась информация из другого файла MS Excel?
    ! Важно - информация второго файла MS Excel конверт. из базы 1С.

Пример.
Книга  / Лист   / Данные
Фирма / Отчет / Счет № 35.45.897465. (ссылка из др. документа - итого и др. информация)     

В случае изменения номера счета в документы вносились новые данные из последнего счета (изм. итого и др.)

    Заранее благодарю.


_Boroda_

Скажи мне, кудесник, любимец ба'гов...



Яндекс-деньги: 41001632713405
Webmoney: R289877159277; Z102172301748; E177867141995

Gostello


Michael Holbrook

Всем привет, у меня задача во многом идентичная, поэтому решил не создавать новую тему.

Есть два файла - "Инвентаризационная" с номенклатурой и есть файл "База данных с группами123456" - изымающий данные по номенклатурному коду с наименованием, количеством и единицами измерения данной позиции из файла "Инвентаризационная". Во втором файле вся номенклатура разбита на группы и производители. Все это я реализовал с помощью функции ВПР, которая по номенклатурным кодам в обоих файлах изымает данные.

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

В моем примере я выделил цветом, что в файле "Инвентаризационная" есть уникальный номенклатурный код "02325", в его строке указаны идентификаторы производителя "002" и группы "00010".
В файле "База данных с группами123456" производитель "002" с группой "00010" находится на строке 140 - тоже указал цветом.

Задачей является - автоматическая вставка строки в файле "База данных с группами123456" ниже 140й строки с заполнением данных с наименованием, количеством и единицами измерения этого уникального кода "02325".

Надеюсь на вашу помощь!

Архив с двумя файлами прекреплен.

Hugo121

Предполагаю, что файл "База данных с группами123456.xlsb" формируется из некой базы данных. Если не так - то это нужно сделать.
И вот в эту базу нет проблем добавить запись. И затем сформировать этот файл из этой базы.
И будет у Вас нормальная база. А может и есть где-то, поищите :)
А в таком варианте вряд ли кто сделает - это ведь не первый форум с этим вопросом?
Сделать конечно можно - но даже и продумывать задачу не хочется... Кому нужен этот гемор?
Может быть так где-то за... Да ну, нет :)
webmoney: E265281470651 Z422237915069

Michael Holbrook

Цитата: Hugo121 от 30.04.2014, 00:53
Предполагаю, что файл "База данных с группами123456.xlsb" формируется из некой базы данных. Если не так - то это нужно сделать.
И вот в эту базу нет проблем добавить запись. И затем сформировать этот файл из этой базы.
И будет у Вас нормальная база. А может и есть где-то, поищите :)
А в таком варианте вряд ли кто сделает - это ведь не первый форум с этим вопросом?
Сделать конечно можно - но даже и продумывать задачу не хочется... Кому нужен этот гемор?
Может быть так где-то за... Да ну, нет :)
Файл "Инвентаризационная" - это экспортированный файл номенклатуры из 1С. Фактически, моя задача состоит в том, чтобы все наполнение этого файла рассортировать по группам и производителям. И чтобы каждой позиции можно было указать, на какой полке склада она лежит.

Michael Holbrook

Для лучшего понимая и примера создал простой файлик.
На первом листе номенклатура, напротив которой стоят значениях их групп и производителей.
Задача состоит в том, чтобы занести каждую позицию в свою группу на листе 2. Т.е. "автомат 2" занести в лист 2 в группу 1.1. в производитель "Siemens", автомат 3 в группу 1.1. в производитель "Eaton" и так далее.

В общем необходимо отслеживать на листе 1 те позиции, которых нет на листе 2 и заносить их в свою группу.

Hugo121

#11
Вот именно это "занести" и геморой.
Намного проще из этого листа1 сделать Лист2 совершенно с нуля.
Т.е. схематично так - собираете все данные Листов1 в одну базу (за всё время - где-то ведь есть исходник того, что сейчас в Лист2?).
Удаляете дубликаты, если они там появились.
Если в Лист1 не хватает данных
1. Модульные приборы
1.1. Автоматические выключатели
и т.д., то добавляете туда и их.
И затем когда нужен Лист2 - быстренько простым кодом получаете его из база_Лист1

Т.е. вот из такого:


         Наименование   Код группы   Код производителя
1. Модульные приборы   1.1. Автоматические выключатели   SIEMENS   автомат 2   00001   001
1. Модульные приборы   1.1. Автоматические выключатели   SIEMENS   автомат 5   00001   001
1. Модульные приборы   1.1. Автоматические выключатели   SIEMENS   автомат 7   00001   001
1. Модульные приборы   1.1. Автоматические выключатели   EATON   автомат 3   00001   002
1. Модульные приборы   1.1. Автоматические выключатели   EATON   автомат 9   00001   002
2. Контакторы   2.1. Силовые контакторы   SIEMENS   контактор 3   00002   001
2. Контакторы   2.1. Силовые контакторы   SIEMENS   контактор 5   00002   001
2. Контакторы   2.1. Силовые контакторы   Eaton   контактор 4   00002   002
2. Контакторы   2.1. Силовые контакторы   Lovato Electric   контактор 1   00002   003
2. Контакторы   2.1. Силовые контакторы   Lovato Electric   контактор 2   00002   003

И в общем Код группы   и Код производителя для формирования Лист1 и не нужны...
webmoney: E265281470651 Z422237915069

Michael Holbrook

Цитата: Hugo121 от 30.04.2014, 17:00
Вот именно это "занести" и геморой.
Намного проще из этого листа1 сделать Лист2 совершенно с нуля.
Т.е. схематично так - собираете все данные Листов1 в одну базу (за всё время - где-то ведь есть исходник того, что сейчас в Лист2?).
Удаляете дубликаты, если они там появились.
Если в Лист1 не хватает данных
1. Модульные приборы
1.1. Автоматические выключатели
и т.д., то добавляете туда и их.
И затем когда нужен Лист2 - быстренько простым кодом получаете его из база_Лист1

Т.е. вот из такого:


         Наименование   Код группы   Код производителя
1. Модульные приборы   1.1. Автоматические выключатели   SIEMENS   автомат 2   00001   001
1. Модульные приборы   1.1. Автоматические выключатели   SIEMENS   автомат 5   00001   001
1. Модульные приборы   1.1. Автоматические выключатели   SIEMENS   автомат 7   00001   001
1. Модульные приборы   1.1. Автоматические выключатели   EATON   автомат 3   00001   002
1. Модульные приборы   1.1. Автоматические выключатели   EATON   автомат 9   00001   002
2. Контакторы   2.1. Силовые контакторы   SIEMENS   контактор 3   00002   001
2. Контакторы   2.1. Силовые контакторы   SIEMENS   контактор 5   00002   001
2. Контакторы   2.1. Силовые контакторы   Eaton   контактор 4   00002   002
2. Контакторы   2.1. Силовые контакторы   Lovato Electric   контактор 1   00002   003
2. Контакторы   2.1. Силовые контакторы   Lovato Electric   контактор 2   00002   003

И в общем Код группы   и Код производителя для формирования Лист1 и не нужны...
Hugo121, спасибо за совет! Попробую разобраться с тем, что Вы написали!

Hugo121

#13
Вообще-то воткнуть на первый лист по этим номерам тоже можно - но т.к. там уже есть другие данные, то нужно и это обработать (заменить цифры кому нужно, кого нет того добавить, да и ещё в нужное место) - а вот это гемор.
И ещё эта группировка...
Проще рассортировать исходную базу и сгенерить Лист1 с нуля.

webmoney: E265281470651 Z422237915069