Поиск информации по выбранным данным
Поиск информации по выбранным модели, регистрационному номеру и водителю, предназначен для определения последней внесенной в табличную базу данных записи по выбранным с помощью элементов управления Список данным. На рис. показана табличная база данных на рабочем листе БазаДанных по введенным ранее путевым листам. В столбце А находится текст, объединяющий марку автомобиля, государственный регистрационный номер и фамилию водителя. В ячейке D5 листа ВводДанных находится формула поиска последнего показания спидометра автомобиля, находящегося в табличной базе данных на основании заданных условий поиска: =ВПР(СЦЕПИТЬ($D$1;" Гос. Номер ";$D$2;" ";$D$3);БазаДанных!$A$2:$F$1000;6;ЛОЖЬ) В качестве искомого значения использующегося для поиска информации используется текст объединенный функцией СЦЕПИТЬ. В связи с тем, что данные на листе БазаДанных отсортированы по столбцу F по убыванию, то функция ВПР производит поиск до первой строки, удовлетворяющей условиям поиска. А уже затем из этой строки выбирает значение, находящееся в 6-м столбце справа, которое и является максимальным (последним) значением спидометра данного автомобиля. Еще раз обратите внимание - поиск данных осуществляется на основании комбинации объединенных данных: выбранной модели, регистрационного номера и фамилии водителя. Это условие может не соответствовать действительности, если на данном автомобиле работает несколько водителей, но этот тот частный случай, который можно устранить, если в объединенный функцией СЦЕПИТЬ текст в столбце А на листе БазаДанных, не вводить фамилию водителя. В ячейке D6 (последняя дата возвращения в гараж) находится аналогичная формула, но в третий аргумент введено значение 3 - поиск в столбце С листа БазаДанных. И в ячейке D7 (линейная расхода топлива норма на 100 км) введена формула, которая определяет базовую норму расхода топлива по выбранной модели автомобиля из таблицы на листе Модель: =ВПР(ВводДанных!$D$1;Модель!$B$3:$C$100;2;ЛОЖЬ) Блок ввода данных по путевому листу Следующий блок - область ввода данных, находится в диапазоне ячеек А9:D17. Ввод показаний спидометра В ячейку D9 листа ВводДанных вводятся показания спидометра при выезде из гаража. Эту информацию можно вводить и с клавиатуры, но если показание спидометра, определенное в ячейке D5 по возвращению в гараж по предыдущему путевому листу соответствует действительности, то тогда достаточно нажать на кнопку ПереносКМ. Этой кнопке назначен макрос ПереносКилометраж, производящий ввод в ячейку D9 значения показания спидометра, определенного формулой, находящейся ячейке D5. В ячейку D10 вводится показание спидометра при возвращении в гараж, а в ячейку D15 - расход топлива, указанные в путевом листе. Для того чтобы не вводить эти данные непосредственно в ячейку, с помощью функции InputBoxсоздайте пользовательские диалоговые окна Спидометр и ГСМ. Введенные в них с клавиатуры показания будут присвоены соответствующим ячейкам
|