Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
КИС_Лаб_4 / ЛАБА 4 ФУНКЦИИ ДЛЯ РАБОТЫ С БАЗАМИ ДАННЫХ.doc
Скачиваний:
48
Добавлен:
02.02.2015
Размер:
573.95 Кб
Скачать

Бдсумм(данные;5;о4:р5),

мы найдем, на какую сумму Джен продала блеск для губ.

Рис. 4-2 Примеры применения функций баз данных

Эту же формулу также можно ввести в виде

Бдсумм(данные;«Сумма»;о4:р5).

Как видно из рис 4-2, Джен продала блеск для губ на сумму $5461,61.

ПРИМЕР 2Какое среднее количество губной помады продает Джен каждый раз в Восточном регионе?

Можно вычислить это значение, введя в ячейку N8 формулу

Дсрзнач(данные;4;о7:q)8)

Используя 4 в качестве значения параметра поля, мы указываем столбец Единицы, и диапазон критериев O7:Q8 задает строки базы данных, в которых Имя — Джен, значение поля Продукт — губная по­мада и значение поля Местоположение — восток.

Применение функции ДСРЗНАЧ гарантирует нам, что мы вычисляем среднее количе­ство проданной продукции для отмеченных строк. Как видно из рис. 4-2, в сред­нем Джен продавала 42,25 единицы губной помады за одну транзакцию в Вос­точном регионе.

ПРИМЕР 3Какую сумму составляют продажи Эмили и продажи в Восточном регионе?

В ячейке N11 (рис. 4-2) мы можем вычислить суммарный объем продаж ($76156,48) тор­гового агента Эмили или продаж, произведенных в Восточном регионе, ис­пользуя формулу

Бдсумм(данные;5;о10:р12).

Критерии в диапазоне О10:Р12 указывают продажи в Восточном регионе или торгового агента Эмили.

В Excel предусмотрено, чтобы функция не учитывала дважды продажи агента Эмили в Восточном регионе.

ПРИМЕР 4На какую сумму продали губной помады Колин и Зарет в Восточном регионе?

Формула БДСУММ(данные;5;О13:Q15) в ячейке N14 вычисляет суммарный до­ход от продажи губной помады торговыми агентами Колин и Зарет ($1073,20) в Восточном регионе.

Обратите внимание, что O14:Q14 содержит критерии, которые отбирают губную помаду, проданную в Восточном регионе агентом Колин, a O15:Q15 — губную помаду, проданную в Восточном регионе агентом Зарет. Вспомните, что критерии в разных строках интерпретируются как ИЛИ.

ПРИМЕР 5. Сколько продаж губной помады осуществлено вне Восточного региона?

В ячейке N17 мы вычисляем общее количество транзакций по продаже губной помады (164) вне Восточного региона по формуле

Бсчёт(данные;4;о16:р17).

Используем функцию БСЧЁТ для решения этой задачи, потому что нам нужен такой критерий, чтобы функция подсчитала число строк, со­держащих продажи губной помады и регионы, отличные от Восточного.

Excel интерпретирует выражение <>восток в диапазоне критериев, как «не восток».

Так как функция СЧЕТ считает числа, мы должны сослаться на столбец, содержащий числовые значения. Столбец 4 (Единицы) содержит чис­ла, поэтому мы указали его в формуле. Формула БСЧЁТ(данные;3;О16:Р17) верну­ла бы 0, так как третий столбец базы данных (столбец J рабочего листа) не со­держит числовых значений.

Конечно же, корректное значение воз­вратит и формула

Бсчёта(данные;3;о16:р17),

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

Сравните с функцией СЧЕТЗ, которая используется для подсчета количества непустых ячеек в интервале или массиве.

ПРИМЕР 6На какую сумму продала губной помады Джен в 2004г.?

Главная задача в этом примере указать только продажи, осуществленные в 2004 г. Включив в одну строку диапазона критериев ссылку на поле Дата, и используя выражения >=1/1/2004 и <1/1/2005, мы охватываем только про­дажи 2004 г.

Таким образом, введя в ячейку N19 формулу

БДСУММ(данныe;5;O18:R19),

мы найдем общую сумму продаж губной помады торговым агентом Джен ($1690,79) в период с 01.01.2004 по 01.01.2005.

ПРИМЕР 7 Сколько единиц товара продано по цене не ниже $3,20?

Этот пример содержит вычисляемый критерий. Вычисляе­мый критерий отбирает строки базы данных на основании того, истинно или ложно значение вычисляемого условия для каждой строки. В этом примере мы хотим отобрать строки, для которых отношение Сумма/Единицы >=$3,20.

Запомните. При установке вычисляемого критерия (рис. 4-3) заголовок в первой строке, выше вычисляемого критерия, не должен быть заголовком столбца.

Например, вы не можете использовать Имя, Продукт или другой заголовок из строки 4 этого листа. Если же вы введете заголовок столбца, вычисляемый критерий примет значение ИСТИНА на основе значений первой строки базы данных.

Таким об­разом, для указания строк, для которых средняя цена выше или равна $3,20, мы должны ввести =(L5/K5)>=3,2 в диапазон критериев под заголовком, кото­рый не совпадает с заголовком столбца. Если первая строка данных не удо­влетворяет этому условию, вы увидите значение ЛОЖЬ в соответствующей ячейке листа, но Excel продолжит обработку всех строк, для которых цена за единицу продукции выше или равна $3,20.

Рис. 4-3 Пример вычисляемого критерия

Введя в ячейку N22 формулу

БДСУММ(данные;4;О21:О22),

мы найдем общее количество проданного това­ра (1127) для которого цена выше или равна $3,20. Обратите внимание, что ячейка О22 содержит формулу =(L5/K5)>=3,2.

ПРИМЕР 8 На какую сумму каждый торговый агент продал товар каждого вида?

Используем в этом примере функцию БДСУММ, диапа­зон критериев которой не содержит ни столбец Имя, ни столбец Продукт.

Ис­пользуя таблицу данных, можно легко просмотреть все возможные комбина­ции имени и вида продукции в диапазоне критериев и вычислить суммарный доход для каждой комбинации.

Введем имя любого торгового агента в ячейку Х26 и наименование про­дукции любого вида в ячейку Y26 (рис. 4-4). Затем введем в ячейку Q25 формулу БДСУММ(данные;5;Х25:Y26), которая подсчитает общий доход от продаж ка­рандаша для глаз, выполненных Бетси (рис.4-4).

Далее введем имя каждого торгового агента в диапазон ячеек Q26:Q33 и название каждого вида продукции в диа­пазон R25:V25.

Затем выделим диапазон с таблицей данных (Q25:V33) и щел­кнем в меню Данные команду Таблица подстановки. В поле Подставлять значения по столбцам в укажем ячейку Y26, а в поле Подставлять значения по строкам в — ячейку X26.

Полученный результат показан на рис. 4-4.

Рис. 4-4 Совместное использование таблицы подстановки с функцией БДСУММ

Каждая запись в таблице под­становки вычисляет доход, полученный для разных комбинаций Имя/Про­дукт, так как имена, указанные в таблице подстановки, помещаются в ячейку Х26, а виды продукции — в ячейку Y26. Например, мы определили, что Эшли продала губной помады на $3245,44.

Этот пример демонстрирует, как применение функции баз данных в со­четании с таблицами подстановки позволяет быстро получить разнообразные статистические данные.

Полезные ухищрения, используемые при определении диапазона критериев

Приведем несколько приемов, которые помогут нам установить соответствующий диапазон критериев.

Предположим, заголовок столбца в первой строке диапа­зона критериев соответствует столбцу, содержащему текстовые данные (напри­мер, столбец Н):

  • *Эшли* указывает записи, содержащие строку Эшли в столбце Н;

  • А?Х указывает записи столбца Н, начинающиеся с символа А и имеющие третьим символом X (второй символ может быть любым!);

  • <>*В* указывает записи столбца Н, которые не содержат символ В.

Если заголовок столбца в первой строке диапа­зона критериев соответствует столбцу, содержащему числовые значения (напри­мер, столбец I) то:

  • >100 указывает записи столбца I, содержащие значение, превышающее 100;

  • <>100 указывает записи столбца I, содержащие значение, не равное 100;

  • >=1000 указывает записи столбца I, содержащие значение не меньше 1000.

ПРИМЕР 9 В базе данных, для каждой торговой транзакции указаны доход, дата и код товара. Есть ли легкий способ выяснить доход от транзакции, зная дату и код товара?

Файл dget.xls (рис. 4-5) содержит базу данных, в которой указаны доход, дата и код товара для набора транзакций продаж.

Для определения дохода от транзакции при известных дате транзак­ции и коде товара используем функцию БИЗВЛЕЧЬ.

Синтаксис функции БИЗВЛЕЧЬ следующий:

БИЗВЛЕЧЬ(база_данных;поле#;критерий).

  • Для указанных значений база_данных (диапазон ячеек) и поле# (номер столбца в диапазоне, начиная с самого левого) функция БИЗВЛЕЧЬ возвращает запись столбца поле#, удовлетворяющую критерию.

  • Если не окажется записи, удовлетворяющей критерию, функция БИЗВЛЕЧЬ возвращает ошибку #ЗНАЧ (#VALUE).

  • Если критерию удовлетворяет более одной записи, функция БИЗВЛЕЧЬ возвра­щает ошибку #ЧИСЛО! (#NUM!).

Пусть наша база данных размещена в диапазо­не ячеек B7:D32 (рис. 4-5). Предположим, что мы хотим узнать доход, полученный в результате про­дажи товара с кодом 62426 от 09.01.2006. Если в указанный день была выполнена лишь одна транзакция такого вида, то формула (введенная в ячейку G9) БИ3BJIEЧЬ(B7:D32;1;G5:H6) возвратит доход от этой транзакции, равный $980.

Рис. 4-5 Пример функции БИЗВЛЕЧЬ

Обратите вни­мание, мы использовали 1 для аргумента поле#, так как заголовок Доход разме­щен в первом столбце базы данных.

Диапазон критериев G5:H6 гарантирует, что мы отберем транзакцию, содержащую код товара 62426 за 09.01.2006.

Тренинг

(пункт 4.1. Получение итоговых данных)

  1. Какое количество блеска для губ продала Зарет на протяжении 2004 и 2005 гг. (файл s91_l_3.xls)?

  2. Создайте таблицу подстановки, которая содержит суммарный доход каждого торгового агента и количество проданного им товара (файл s91_l_3.xls).

  3. Сколько блеска для губ продала Колин вне Западного региона (файл s91_l_3.xls)?

  4. Файл s91_4.xls содержит для выбранных домов следующую ин­формацию:

  • площадь;

  • цена;

  • число ванных комнат;

  • число спальных комнат.

Используя эту информацию, ответьте на следующие вопросы.

4.1. Какова средняя цена всех домов, имеющих общее количество ван­ных и спальных комнат >= 6?

4.2. Сколько продается домов с общим количеством ванных и спальных комнат <=5 и ценой выше $300000?

4.3. Сколько домов имеют по крайне мере 3 ванных комнаты, но суммарное количество ванных и спальных комнат <=6?

4.4. Какова наивысшая цена для домов с площадью не более 3000 квад­ратных футов и общим количеством ванных и спальных комнат <=6? (Совет: используйте функцию ДМАКС для решения этой задачи.)