Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Вопрос по функции ВПР в Excel'e. Как ускорить процесс поиска и переноса из другой таблицы?

Виталий Родионов Мастер (1261), на голосовании 7 лет назад
Есть большая база данных, которая сама по себе загружается около 30 секунд. Более того она обновляется в отдельный файл почти каждый день.
Для получения нужных данных из этой таблицы, я создавал отдельный файл, в который вводил кодовый номер в первом столбце, и остальные столбцы автоматом заполнялись нужными данными с помощью функции ВПР.

Однако размер конечного файла непостоянный, и формулу ВПР приходилось периодически менять, ориентируя на более новый файл базы данных. И это каждый раз становилось мучением, т. к. каждое это изменение принималось таблицей в течении минуты, и если нужно было растянуть формулу на соседние ячейки для увеличения списка, то и это занимало немало времени. Вероятно дело в том, что в каждой ячейке, кроме ячейки ввода, стоит по отдельной формуле ВПР, которая производит поиск почти по всей базе данных каждый раз. При попытке выделить для ВПР не весь диапазон ячеек, а только два нужных стоблца, приводит к ошибке, которую сейчас затруднюсь воспроизвести, но полагаю, если бы это можно было сделать, это решило бы часть проблемы, а может и всю. Помогите немного разобраться с ситуацией или может подскажите альтернативную формулу, которая бы могла например указать сразу диапазону ячеек обращаться за искомым в нужную таблицу и нужные столбцы.
Дополнен 7 лет назад
Пример:
Есть код... ну допустим футболиста, одного из всех возможных в мире. И после этого кода идут миллион параметров этого футболиста, вплоть до мельчайших деталей личной жизни, химического состава крови и т .д. Это изначальная база.
Но мне вот лично это все не нужно, однако изменить базу я прав не имею. Поэтому я беру новый файл Excel, и пишу там первую строчку "код", а в последующих трех нужные для поиска параметры футболиста. Например, чтобы ВПР добывал его зарплату (откуда-нибудь из 54 столбца), затем в след ячейке чтобы отображалась страна этого футболиста (расположенная к примеру в столбце 158 изначальной таблицы), ну и для кучи, пусть еще будет рост футболиста, отображенный в столбце 546. Для отбора я пытался выделить при вставке в формулу первый столбец с кодом (по которому впр будет искать) и столбец с искомым значением. Но выдавалась какая-то ошибка (не за рабочим компом, так что не могу быстро повторить и написать конкретней). Поэтому приходилось выделять все столбцы от №1 (с кодом) до искомого (будь то 54 или 546) и полагаю, что именно это и грузило систему больше всего, особенно когда понимал, что нужно увеличить список, и растягивал все ячейки с формулами вниз автокопированием (или как это называется, когда за плюсик внизу ячейки тянешь?), тогда компьютер повисал на несколько минут.
Голосование за лучший ответ
Полосатый жираф Алик Искусственный Интеллект (313088) 7 лет назад
А конкретней... Вот ты пишешь ВПР (хорошо бы полностью формулу хотя бы для одной ячейки). Что меняется и в какую сторону?
Виталий РодионовМастер (1261) 7 лет назад
Добавил пример в вопросе. :)
Виталий РодионовМастер (1261) 7 лет назад
Попробовал сделать на простом файле. Получается, что при выделении двух отдельных столбцов, в форме формулы появляется красное "Знач", а после заполнения всего остального, выдается ошибка, что в функции слишком много аргументов
Виталий РодионовМастер (1261) 7 лет назад
Формулу составляю не сам, а с помощью формы заполнения. То есть щелкаю на ячейку где будет искомое значение, затем со второй строкой щелкаю на открытую другую таблицу и выделяю там нужные столбцы при нажатом ctrl (но это и не срабатывает, поэтому приходится выделять диапазон ячеек), затем ввожу номер столбца для поиска и аргумент "ложь". Остальная формула составляется программно. :)
Полосатый жираф Алик Искусственный Интеллект (313088) Блин! Я же просил: "Напиши сюда формулу. И укажи, в какой ячейке она стоит".
Abram Pupkin Высший разум (102372) 7 лет назад
"... которая сама по себе загружается около 30 секунд ..."
С этим надо бороться еще на корню.
Разработчик - Макрос - Начать запись
сочетание клавиш : STRL+ S
Неспеша, удаляем все ненужные столбцы в таблице.
после удаления последнего - сотанавливаем запись макроса.
загружаем новую таблицу
нажимаем STRL+ S
дальше работаем с маленькой таблицей
Виталий РодионовМастер (1261) 7 лет назад
Не совсем понял. Основную глобальную таблицу я могу открыть только в режиме "для чтения", разве могу я при этом создавать макросы или делать что-либо еще?
А вам что-либо и не надо. скопировать и вставить таблицу в нужное место - и будет "праздник на вашей улице"
Похожие вопросы