Программа подстановки данных из одного файла в другой (замена функции ВПР)

Сравнение столбцов в Excel, и подстановка значений в таблицу

Программа предназначена для сравнения и подстановки значений в таблицах Excel.

Если вам надо сравнить 2 таблицы (по одному столбцу, или по нескольким),
и для совпадающих строк скопировать значения выбранных столбцов из одной таблицы в другую,
надстройка «Lookup» поможет сделать это нажатием одной кнопки.

 

То же самое можно сделать при помощи формулы =ВПР(), но:

  • формулы могут тормозить работу с файлом при пересчёте, если объём данных большой (много строк или столбцов)
  • если источник данных или файл, в который подставляются данные, каждый раз новый, — требуется время на прописывание или редактирование формул
  • если с файлами работают люди, «далёкие» от Excel, - их проще обучить нажимать одну кнопку, чем объяснять им, как прописывать эти формулы
  • иногда нужны дополнительные возможности (не учитывать заданные слова и символы при сравнении, выделять цветом изменения, копировать недостающие строки, и т.д.)

 

В настройках программы можно задать:

  • где искать сравниваемые файлы (использовать уже открытый файл, загружать файл по заданному пути, или же выводить диалоговое окно выбора файла)
  • с каких листов брать данные (варианты: активный лист, лист с заданным номером или названием)
  • какие столбцы сравнивать (можно задать несколько столбцов)
  • значения каких столбцов надо копировать в найденные строки (также можно указать несколько столбцов)
  • каким цветом подсвечивать совпавшие и ненайденные строки (для каждого из 2 файлов)
  • исключаемые при сравнении символы и фразы

Справка по надстройке Lookup

 

Меню программы сравнения таблиц Excel и подстановки данных

Как скачать и протестировать программу

Комментарии

Игорь, у меня стоит Excel 2010, программа перестала запускаться.

День добрый.
Данная настройка подойдет для сравнивания двух разных таблиц, с разным количеством столбцов и строк, с разным форматом ячеек, числовой и денежный, дата и общий.
При этом сравнить надо строчку по параметрам столбцов дата, номер, сумма одновременно.
Количество строк более 30.000

Подробный ответ есть здесь:
http://excelvba.ru/faq/virus

Добрый день.

Проверка на вирустотале показала результат - 13 из 53 антивирусов считают что файл содержит троян W97M.Downloader.DPW
Как вы считаете, почему это может происходить?

Проблема пришла с очередным обновлением Windows.
Чтобы программа снова начала работать, найдите обновление с названием Secure Excel 2013, и отмените это обновление (и всё снова будет работать)

Добрый день!

Вчера прошло обновление Windows 10, после него Lookup перестал запускаться. Как можно исправить проблему?

Спасибо!

Можно написать макрос, запускающий подстановку из всех файлов из заданной папки.
Если готовы оплатить такой макрос (вместе с программой), - сделаю.

Да, согласен, что можно написать прогу, что выдаст лист 100 нужных столбцов для принимающего файла, типа
1-5, 6-10, и прочее
И скопировать их и запустить макрос 100 раз
Но, может, завалялась готовая у вас?:)

Здравствуйте, Игорь!
Подскажите пожалуйста - возможно ли как-то пустить в качестве исходных файлов сразу штук 100, Все значения копировались бы просто в следующие справа столбцы. То есть условно каждый раз добавляется 5 столбцов. Хорошо знаком с java и matlab - догадываюсь, что изменения не очень большие нужны, как например добавить в первый пустой столбец справа.
Может быть, у вас уже есть где-то такой файл? Искал - не нашел.

Спасибо!

Денис, подсвечивается как использованная только одна строка, - потому что так оно и есть.
Мы ведь подставляем в совпавшую строку только одно значение (а не несколько значений из всех подходящих строк), - потому и помечается только одна строка (независимо от того, сколько одинаковых строк есть в таблице «откуда брать данные», - всегда берется одна в качестве источника данных, - первая или последняя найденная)

Добрый день Игорь - подскажите, если в колонке "откуда брать данные" находится несколько одинаковых значений - то у нас подсвечивается как "использованная строка" только одно из них ,а остальные подсвечиваются как "незадействованные строки". Таки это ошибка нашей настройки или так работает программа.?

Дмитрий, надстройка предназначена для ПОДСТАНОВКИ данных в совпадающие строки,
а не для копирования произвольных ячеек из одной таблицу в другую.

Формулы ведь могут быть в любых ячейках, - тут совсем другой макрос нужен
(в цикле перебрать все ячейки с формулами, и скопировать их в соответствующие ячейки другого листа)

Подскажите можно ли с помощью надстройки скопировать ТОЛЬКО формулы из одной книги в другую а данные оставить неизменными ?

Удалить то можно было бы, только вот лицензия на Аваст куплена на год. Выбрасывать деньги не хочется.

Я бы посоветовал удалить нафиг этот Аваст.
Несколько раз обращался к ним в техподдержку, - всё обещают убрать ложную сработку, а по факту - ничего не делают.

Скриншот из переписки с ними:
avast support reply

 

Спасибо, уже придумали как обойти этот момент. Антивирус блокирует загрузку вашей программы. Отключили Аваст, загрузили, запускаем, антивирус блокирует и удаляет.. Как работать?)

Здравствуйте. Такой возможности нет.
При совпадении, данные подставляются только в ту же строку. При несовпадении, данные могут подставляться в конец таблицы.
Других вариантов вставки нет.
Можем написать макрос под заказ.

Здравствуйте. Возможно ли cделать так, чтобы данные, которые мы вставляем после выборки, добавлялись в ячейку с этими же данными? Например, 1 столбец Артикул, 2 Наименование на англ языке, по артикулу идет сравнение и вставляется перевод из другого листа в ячейку на англ языке не удаляя ее содержимое, а добавляя данные (на русском языке) второй строкой?

Выбирайте способ оплаты через Робокассу, - там есть возможность оплатить картой VISA / Mastercard

Каким образом я могу приобрести программу у меня истек пробный период
имеется ввиду оплату я из Узбекистана

Спасибо большое. После настройки работает отлично. Сегодня купил лицензию. При необходимости докуплю еще.
Вообще было бы здорово, если бы надстройка могла еще разносить данные.
Скажем - сравнивать значения одного из столбцов в исходной таблице и переносить значения заданных столбцов в другую таблицу в столбец с заголовком, равным сравниваемому столбцу исходника.
Для примера есть массив данных с клиентами и указанием купленного товара. Одна строка, один товар, один клиент - запись. А на выходной таблице по вертикали клиенты, по горизонтали номенклатура товаров.
В результате получился бы уже не аналог ВПР, а аналог сводных таблиц. У них в EXCEL тоже хватает недостатков и продуманная альтернатива не помешает.

Здравствуйте, Александр
Порядок столбцов, - да, обязательно должен совпадать.
Если вы сравниваете столбцы 1,2,3 со столбцами 4,8,7 другого файла, - это значит, что сравниваются попарно столбцы 1 и 4, 2 и 8, 3 и 7
(а не так, что столбец 2 сравнивается с одним из столбцов 4,8,7)

Да, могу помочь с настройкой. Звоните в скайп

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

Я в курсе, - если речь про антивирус Аваст.
Написал в очередной раз в их техподдержку, - обещали исправить в следующих обновлениях.

PS: Хотите, чтобы антивирус и защищал, и лишний раз не ругался? Поставьте нормальный антивирус, - например, бесплатный Касперский.

антивирус ругается на файл

Здравствуйте, Анна.
«Немного не совпадают», — это, по сути, то же самое, что и «не совпадают»
Потому, в общем случае, это не автоматизировать (кроме как предварительно составив таблицу соответствий)

Если значение одной таблицы входит в значение из другой, - можно сделать при помощи ВПР, поиском по ИскомаяЯчейка&"*"
Т.е. найти текст «Ленина 1» в ячейке «Ленина 1/2» можно.
Но никак не найти текст «Ленина 1» в ячейке «Ленина дом 1» - там получится сложный алгоритм, дающий кучу ошибок.

PS: моя надстройка ищет только по точному совпадению.
Отдельные символы при сравнении можно исключить (такие как пробелы, дефисы и т.п.) - но в вашем случае это проблему не решит.

Добрый день!
Мне нужно подтянуть данные из одной таблицы в другую, но наименования по которым подтягиваю немного не совпадают (т.е. в 1-ой таблице в ячейке написано Ленина 1, а во 2-ой таблице Ленина 1/2). Через ВПР это не получается так как есть несовпадения. Руками форматировать очень долго. Как это можно сделать?

Здравствуйте, Татьяна.
Сейчас в программе нет такой возможности, - вставка ведётся только на один лист.
Можно вставлять по-очереди на все листы, активируя очередной лист, и нажимая кнопку «Подставить данные» для каждого из листов

Игорь, здравствуйте. Скачала и установила вашу надстройку по замене функции ВПР. Вопрос, как сделать так, чтобы данные подставлялись во все листы файла, оформленные по одному шаблону, а не только в активный? У меня несколько файлов по разным направлениям и в них менеджеры ведут понедельные отчеты в течение года. Т.е. чем дальше, тем мне будет проблематичнее подставлять в эти файлы свои данные. Пробовала выделять все листы перед подстановкой данных - не срабатывает, только в первый лист...

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

Отправить комментарий

Содержание этого поля является приватным и не предназначено к показу.
CAPTCHA
Подтвердите, пожалуйста, что вы - человек:
 __        __         __     __ __  __        _____
\ \ / / _ __ \ \ / / \ \/ / ___ |__ /
\ \ /\ / / | '_ \ \ \ / / \ / / __| / /
\ V V / | |_) | \ V / / \ \__ \ / /_
\_/\_/ | .__/ \_/ /_/\_\ |___/ /____|
|_|
Введите код, изображенный в стиле ASCII-арт.