Уважаемые форумчане! Помогите решить задачу: есть таблица со списком, например 1000 товаров. У каждого товара есть свой ID и несколько ячеек с текстовыми данными (например: цена, цвет, вес). Имеется вторая таблица с теми же товарами (ID), но в этой таблице другие текстовые данные (например: адрес, размер). Нужно из двух таблиц сделать одну, но чтоб у товара (ID) были все данные из первой и второй таблицы. Вся проблема в том, что во второй таблице может быть 500 товаров (т.е. количество товаров не совпадает). На данный момент из-за незнания использую трудоёмкий ручной способ: сортирую товары по ID в таблицах, потом сопоставляю и переношу колонки с данными из второй таблицы в первую... Если возможность автоматизировать этот процесс?
[вложение удалено Администратором]
обязательно применять для этого Basic?
В каком формате сейчас таблицы?
Таблицы в формате .ods - насколько обязательно или нет применять Basic я не знаю... Если есть другие решения кроме применения макросов, то вполне возможно их применить - главное результат...
хорошо.
Посмотрите формулу VLOOKUP. Может, будет достаточно её одной. Остальное трудно сказать без контекста.
Посмотрел VLOOKUP с помощью встроенной в программу справки - прошу прощения, но мало что понял. Прикрепил к первому сообщению файл с примером, взгляните если вас не затруднит...
собственно, вот.
Формулы можно посмотреть в колонке цен. При желании, можно сделать обработку Н/Д с помощью условных функций, чтобы показывать внешне пустую ячейку. Или же условным форматированием.
[вложение удалено Администратором]
Спасибо огромное! Буду пытаться применить на практике...
Helen, ещё раз огромное спасибо! Освоил с вашей помощью работу по подстановке данных, правда из-за того что товаров достаточно много у меня получилась примерно такая формула VLOOKUP($E$2:$E$10040;$G$2:$H$4010;2;0) - т.е. для критериев поиска тоже установен диапазон, насколько это правильно не знаю, но работает! Проблему можно считать решённой, если вы сможете мне подсказать, как избавиться от #Н/Д - что только не перепробывал - всё безрезультатно. Итоговый файл будет сохраняться в формате .csv и далее загружаться на веб-сайт, поэтому необходимо сделать ячейки с #Н/Д пустыми...
P.S. Извините, что напрасно вас побеспокоил - нашёл решение на вашем форуме, просто сайт тормозил и не хотел открывать другие страницы форума.
Ещё раз огромное спасибо! Все вопросы решены!!!
Цитата: Proof от 16 июля 2012, 04:03...сможете мне подсказать, как избавиться от #Н/Д...
Это очень простой трюк. Просто в формуле вызываем VLOOKUP() дважды: первый раз проверяем не ошибку ли он возвращает, а во второй - собственно найденное значение. Как-то так:
=IF(ISERROR(VLOOKUP($E$2:$E$10040;$G$2:$H$4010;1;0));"";VLOOKUP($E$2:$E$10040;$G$2:$H$4010;2;0))
PS. Что-то не нравится мне диапазон $G$2:$H$4010 в качестве второго параметра, как-то не очень наглядно получается... Может, стоит попробовать присвоить ему осмысленное имя (Ctrl+F3)? Формула
=IF(ISERROR(VLOOKUP(Tovar;Opisanie;1;0));"";VLOOKUP(Tovar;Opisanie;2;0))
выглядит более читаемой, хотя делает то же самое