Работа со списками
3.4 Функции базы данных.
Отдельная группа функций электронной таблицы (категория "База данных") позволяет проводить вычисления на основе данных из списка с условиями, определяемыми блоками критериев (как в расширенном фильтре). При использовании этих функций для диапазона данных, занимаемого списком, автоматически производится отбор значений в указанном столбце по указанным критериям, и производятся соответствующие вычисления.
Некоторые часто используемые функции этой категории приведены в таблице ниже.
Название, аргументы | Описание |
---|---|
daverage(диапазон; поле;критерии) | Вычисляет среднее значение по указанному полю для данных, соответствующих критерию (пример: средний оклад у мужчин). |
dcount(диапазон; поле;критерии) | Вычисляет количество значений по указанному числовому полю (пример: количество незамужних женщин, имеющих детей). |
dcounta(диапазон; поле;критерии) | Вычисляет количество значений по указанному полю (пример: количество мужчин). |
dmin(диапазон; поле;критерии) | Вычисляет минимальное значение по указанному числовому полю (пример: минимальный оклад у мужчин). |
dmax(диапазон; поле;критерии) | Вычисляет максимальное значение по указанному числовому полю (пример: максимальное имеющееся у сотрудника количество детей). |
dsum(диапазон; поле;критерии) | Вычисляет сумму значений по указанному числовому полю (пример: общее количество детей у холостых мужчин). |
Остальные функции баз данных в Gnumeric, при необходимости, легко изучить самостоятельно.
Рассмотрим пример использования функций базы данных для вычисления количества женщин с различными уровнями образования. Внимательно посмотрев описание функций категории "База данных", можно понять , что для такой задачи потребуется использовать функцию dcounta(), которая подсчитывает количество значений (непустых ячеек) в указанном столбце при указанных условиях. Условия и результаты работы функции показаны на рис. 3.26.
Блок критериев должен состоять как минимум из двух ячеек – имени поля и условия поиска по этому полю. Поскольку все поля текстовые, то условием является полное соответствие текста. В данном случае (для первого результата в ячейке M6) имеем формулу =dcounta($A$7:$J$85;$H$7;L4:M5), где
- $A$7:$J$85 – диапазон ячеек, занимаемый списком (базой данных) в абсолютных адресах;
- $H$7 – абсолютный адрес ячейки с именем поля, по которому производится подсчет (в данном примере – поле "Образ");
- L4:M5 – диапазон ячеек блока критериев.
Результаты подсчета находятся соответственно в ячейках M6, M9, M12 и M15.
Работа со списками не является сильной стороной Gnumeric, однако выполнение часто требуемых операций всё-таки обеспечивается.
В следующей главе мы рассмотрим возможности Gnumeric по построению диаграмм, которые являются действительно серьёзными.