Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Б2.В1 Информационные системы в экономике.doc
Скачиваний:
99
Добавлен:
18.03.2016
Размер:
3.57 Mб
Скачать

Поиск информации по выбранным данным

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

На рис. показана табличная база данных на рабочем листе БазаДанных по введенным ранее путевым листам. В столбце А находится текст, объединяющий марку автомобиля, государственный регистрационный номер и фамилию водителя.

В ячейке 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создайте пользовательские диалоговые окна Спидометр и ГСМ. Введенные в них с клавиатуры показания будут присвоены соответствующим ячейкам

Пользовательские диалоговые окна

В Excel есть возможность создания пользовательских диалоговых окон с помощью Редактора Visual Basic. Наиболее простой метод воспользоваться готовыми средствами VBA для создания пользовательского диалогового окна показанного на рис.

Такое диалоговое окно задается с помощью функции InputBox и служит для ввода одного значения при выполнении подпрограммы. Полное описание и синтаксис функции можно получить в справочной системе Visual Basic. Упрощенный же вариант синтаксиса функции: