- •Лабораторная работа № 4 «Функции для работы с базами данных»
- •4.1. Получение итоговых данных
- •Бдсумм(данные;5;о4:р5),
- •Бдсумм(данные;«Сумма»;о4:р5).
- •Дсрзнач(данные;4;о7:q)8)
- •Бдсумм(данные;5;о10:р12).
- •Бсчёт(данные;4;о16:р17).
- •Бсчёта(данные;3;о16:р17),
- •4.2. Фильтрация данных
- •4.3. Объединение данных
- •4.4. Получение промежуточных итогов
Бдсумм(данные;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. Получение итоговых данных)
Какое количество блеска для губ продала Зарет на протяжении 2004 и 2005 гг. (файл s91_l_3.xls)?
Создайте таблицу подстановки, которая содержит суммарный доход каждого торгового агента и количество проданного им товара (файл s91_l_3.xls).
Сколько блеска для губ продала Колин вне Западного региона (файл s91_l_3.xls)?
Файл s91_4.xls содержит для выбранных домов следующую информацию:
площадь;
цена;
число ванных комнат;
число спальных комнат.
Используя эту информацию, ответьте на следующие вопросы.
4.1. Какова средняя цена всех домов, имеющих общее количество ванных и спальных комнат >= 6?
4.2. Сколько продается домов с общим количеством ванных и спальных комнат <=5 и ценой выше $300000?
4.3. Сколько домов имеют по крайне мере 3 ванных комнаты, но суммарное количество ванных и спальных комнат <=6?
4.4. Какова наивысшая цена для домов с площадью не более 3000 квадратных футов и общим количеством ванных и спальных комнат <=6? (Совет: используйте функцию ДМАКС для решения этой задачи.)
