Страница 1 из 2

функция подстановки в Excel

Добавлено: 18 мар 2009, 11:24
mokintoh
Помогите пожалуйста! Есть два файла с базой сотрудников (к примеру 1файл-приемник, 2 файл-передатчик). Необходимо сравнить их и заполнить отсутствующие поля в файле-приемнике, такие как должность, разряд и т.д (не одно поле). Я встретил здесь очень интересный файл надстройки от Teslenko_EA, но он не всегда может выручить - для нескольких полей приходится процедуру подстановки повторять и колонка вся должна быть пустой, а файлов-передатчиков может быть два сразу или через месяц снова прийти, но это полбеды)) встречаются два Иванова Ивана Ивановича и он забьет первого из них :confused: . Различить данных сотрудников можно только по дате рождения (табельный номер есть только в файле-приемнике, в организации передатчика его не знают). И возможно ли организовать добавление нового сотрудника, если он есть в передатчике, а в приемнике пока нет (или хотябы как-то об этом оповещать)? Заранее извиняюсь если данная тема уже была - искал по поиску (может не нашел).

Re: функция подстановки в Excel

Добавлено: 18 мар 2009, 15:28
Teslenko_EA
Здравствуйте mokintoh.
"два файла с базой " - очевидно речь о файлах в таблицах которых находится база данных, а не радио устройства (приемник, передатчик :) )
При работе с таблицами баз данных у каждой записи (строки) должен быть уникальный ключ, поле (столбец) которому можно ее идентифицировать.
Ни дата рождения ни фамилия идентификатором быть не могут (в Вашем случае). Табельный номер для этой цели подойдет, но необходимо чтобы во всех таблицах записи (строки) сотрудников имели такой ключ. Единожды прописав табельный номер во всех таблицах Вы лищите себя проблем в дальнейшем.
файл надстройки о котором Вы упоминали, это образец создания инструмента для решения таких задач в Excel.
Но если подобная задача не последняя, я рекомендую Вам заняться изучением SQL и Баз данных, такие задачи это их категория.
Евгений.

Re: функция подстановки в Excel

Добавлено: 19 мар 2009, 07:38
mokintoh
Спасибо за ответ. Решения значит не получится? Вторичные файлы присылает организация, которая не знает табельные номера наших сотрудников, и не будет их у себя проставлять - вот в чем дело. Наверное можно применить простой вариант не влезая в SQL (хотя спасибо за литературу - обязательно займусь изучением) изобразить формулу сравнения используя ВПР.

Re: функция подстановки в Excel

Добавлено: 19 мар 2009, 08:53
Naeel Maqsudov
&quot писал(а):Наверное можно применить простой вариант не влезая в SQL
SQL - это все-таки более простой вариант.
В SQL одним единственным запросом можно выбрать из файла-передатчика данные, которые отсутствуют в приемнике (по критериям ФИО+дата рождения). Т.е. полностью новые.
Вторым запросом можно выбрать те, которые выборочно обновляются. И т.д.
SQL - в данном случае это панацея :)
И он к листам MS Excel вполнен применим.

Re: функция подстановки в Excel

Добавлено: 19 мар 2009, 18:03
mokintoh
В общем теорию я понял - бери учебники и штудируй... Интересно только как скоро это я изобрету? Мне сегодня нужен именно этот вариант решения, завтра я пока не знаю - на сколько реально возникнет потребность полученных мною знаний. Специфика работы не та, чтобы постоянно творить, в общем то потому я сюда и обратился в надежде, что уже были у кого-то такие проблемы и ему реально помогли готовым решением. А пока это все выростает в курсы самоосознания твоей неполноценности... Я постараюсь изучить "панацею" - SQL, но это займет явно не 1 день. А мне нужно заполнить ячейку C2 когда совпадут данные в ячейках А2 и B2 в первой и во второй таблице - вот и все! Может есть все-таки еще тут светлые головы?

Re: функция подстановки в Excel

Добавлено: 20 мар 2009, 13:57
Aent
Mokintoh, если вам не охота заморачиваться с изучением SQL и жалко на это времени - оформите вашу проблемку как freelans заказ. За "пару" тысяч IMHO тут найдётся достаточное количество специалистов готовых потратить часик на её решение.
Почему часик а не пару минут ? Потому что "дьявол в подробностях" и промышленная задача отличается от учебного примера.
Можно так же попробовать получить решение на халяву опубликовав запрос в
разделе "Решите мне задачку" этого форума ...

Re: функция подстановки в Excel

Добавлено: 20 мар 2009, 14:16
Naeel Maqsudov
mokintoh писал(а):Вторичные файлы присылает организация, которая не знает табельные номера наших сотрудников....... изобразить формулу сравнения используя ВПР.
Не понял причем тут ВПР. Обычных операций сравнения должно хватить вполне.
Этот разговор будет предметным, если будут файлы.
Эсли это дело такое разовое, то можно и макрос написать, но нет никакого желания делать "абстрактный" макрос. Давайте Ваши файлы с фальсифицированными данными. По паре десятков записей к каждом для отладки хватит.

Re: функция подстановки в Excel

Добавлено: 20 мар 2009, 17:27
mokintoh
Ок. Высылаю образцы, надеюсь разберетесь в сути. Заранее благодарен!
А времени не сколько жалко - сколько просто не хватает. Специфика работы не такая чтобы сидеть только над этим

Re: функция подстановки в Excel

Добавлено: 21 мар 2009, 01:11
Teslenko_EA
Здравствуйте mokintoh.
Решение с применением ADO и SQL.
Евгений.

Re: функция подстановки в Excel

Добавлено: 21 мар 2009, 07:52
mokintoh
Огроменное спасибо Евгений! Все работает отлично, теперь то мне и не надо будет судорожно конопатиться в поисках верного решения :p Диапазон сравнения данных расширить уж как нибудь думаю смогу своими бестолковыми ручонками))
Надеюсь, что данное решение пригодится и остальным страждущим...
Всем до свидания.