Вопрос № 63804: Уважаемые эксперты подскажите, пожалуйста, как в excel сделать, чтобы данные одной таблицы подставлялись в другую в зависимости от выбранных строк
Например: при выборе наименования цена подставлялась автоматически.
...
Вопрос № 63.804
Уважаемые эксперты подскажите, пожалуйста, как в excel сделать, чтобы данные одной таблицы подставлялись в другую в зависимости от выбранных строк
Например: при выборе наименования цена подставлялась автоматически.
Отправлен: 23.11.2006, 04:24
Вопрос задала: Надежда (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Genyaa
Здравствуйте, Надежда!
Смотря о чем идет речь - о настройке формы или шаблона, например, счета/накладной или о необходимости обрабатывать немеренный список данных, который еще при этом периодически меняется и всю обработку необходимо производить заново для каждого обновления?
В первом случае достаточно настроить список данных в диалоге проверки данных для ячейки наименования, а в поле цены вписать формулу с функцией вертикального поиска (ВПР) или поиска позиции (ПОИСКПОЗ) и индекса (ИНДЕКС).
Во втором случае, вероятно, лучше будет создать макрос. Но можно ограничиться и формулами, если составление формулы и ее копирование не кажется слишком затруднительным делом.
Для первого случая (т.е. для решения через формулы) последовательность действий я бы предложил следующую:
(здесь лист книги Excel с Товарами и их Ценами я называю "Прайс", а лист с формой "Форма", оба листа находятся в одной книге. При этом Товар и соответствующая ему цена в Прайсте всегда находятся на одной строке таблицы, необязательно в смежных столбцах)
- в Прайсе колонке с товарами присваиваем имя "Товары", для этого выделяем соответствующий столбец (можно весь), далее Меню-Вставка-Имя-Присвоить в поле имени вводим слово "Товары" (без кавычек, конечно)
- в Прайсе колонке с ценами присваиваем имя "Цены" - точно так же, только имя вводим "Цены"
- переходим на лист Формы
- в ячейке выбора товара (допустим это A1) делаем - Меню-Данные-Проверка - на вкладке Параметры - в поле Тип данных - выбираем Список - в поле Источник - вводим "=Товары" (без кавычек)
- ОК
- после этого в этой ячейке можно выбирать значение из выпадающего списка товаров (при этом любое другое значение ввести не получится - и этого хорошо для нас)
- в ячейке, где должна появляться цена, соответствующая товару, вводем следующую формулу:
=ИНДЕКС(Цены;ПОИСКПОЗ(A1;Товары;ЛОЖЬ()))
- после этого выбирая товар в поле товара, в поле цены будет появляться сответствующая цена.
Однако для этого решения необходимо, чтобы все наименования товаров были уникальными, иначе в поле цены будет всегда появляться цена, соответствующая первому в списке товару с этим наименованием.
При необходимости в нести в Прайс новый товар, можно просто добавлять новую строку в конец списка, если имена присваивались целым столбцам. Если же имена присваивались только выделенным (заполненным) областям в Прайсе, до добавление нового товара необходимо производить путем вставки пустой строки внутрь существующего списка (при этом именнованные области Товары и Цены в Прайсе будут расширяться сами) и ее заполнения наименованием нового товара.
--------- Всякое решение плодит новые проблемы.
Ответ отправил: Genyaa (статус: 9-ый класс)
Ответ отправлен: 23.11.2006, 10:38 Оценка за ответ: 5