
- •Введение
- •Интерфейс электронной таблицы
- •Формулы. Абсолютная и относительная адресация
- •Встроенные функции и "мастер функций"
- •Математические функции
- •Диаграммы
- •Логические функции
- •Календарные функции.
- •Выбор одного из многих вариантов. Ассоциативные массивы.
- •Статистические функции. Вычисления с критерием.
- •Работа с массивами при анализе данных
- •Заключение
- •Благодарности и литература
Статистические функции. Вычисления с критерием.
Рассмотрим следующую задачу.
Дан список участников соревнования среди студентов по бегу на 100 метров и метанию мяча. В таблице указаны пол (юноша или девушка) и результаты. Определить места каждому участнику в каждом виде соревнований, минимальный, максимальный и средний результаты в каждом виде соревнований, на сколько юноши (в среднем) метают мяч дальше, чем девушки.
Для решения этой задачи нам понадобятся статистические функции MIN(), MAX() и AVERAGE(), а также функции для вычислений с условием COUNTIF() и SUMIF(), которые занимают особое место среди математических функций OOo Calc.
Сначала кратко изучим упомянутые функции.
MIN(число1;число2...) и MAX(число1;число2...) — позволяют найти минимальное и максимальное число среди аргументов, которые могут быть числами или ссылками на ячейки с числами. Может использоваться один аргумент – диапазон ячеек.
AVERAGE(число1;число2...) — позволяет найти среднее арифметическое аргументов. Также может использоваться один аргумент – диапазон ячеек.
COUNTIF(диапазон; условие) — позволяет подсчитать количество ячеек в заданном диапазоне, значения которых удовлетворяют некоторому условию.
SUMIF(диапазон; условие; диапазон_суммирования) — позволяет подсчитать сумму ячеек по заданному условию.
Теперь перейдем непосредственно к решению задачи.
Заполняем таблицу исходными данными, как показано на рис. 21.
Рис 21. Исходные данные для задачи о соревнованиях
Сразу под списком в соответствующих столбцах подсчитываем минимальный, максимальный и средний результаты (по столбцу С =MIN(C2:C16), =MAX(C2:C16), =AVERAGE(C2:C16) и аналогично по столбцу D).
Затем подсчитываем количество юношей и количество девушек. В ячейку B22 вносим формулу
=COUNTIF(B2:B16;"юноша"),
а в ячейку B23 формулу
=COUNTIF(B2:B16;"девушка")
В ячейки C22 и C23 записываем формулы для подсчета суммы результатов по метанию для юношей и девушек соответственно
=SUMIF(B2:B16;"юноша";D2:D16)
=SUMIF(B2:B16;"девушка";D2:D16)
После чего подсчитываем среднее значение в ячейках D22 иD23, разделив сумму результатов на количество участников в каждой группе. Затем подсчитываем разницу средних значений (рис. 22).
Рис 22. Решение задачи о соревнованиях.
Работа с массивами при анализе данных
Рассмотрим некоторые приемы анализа экономических данных на примере следующей задачи.
На основе эксперимента получена следующая зависимость посещаемости дискотеки от входной платы
Входная плата, у.е. |
1 |
1,5 |
2 |
2,5 |
3 |
3,5 |
5 |
Количество посетителей |
200 |
175 |
160 |
140 |
124 |
110 |
70 |
Определить оптимальную входную плату.
Очевидно, что оптимуму соответствует максимальная выручка. Соответственно. решение задачи состоит в том, чтобы подсчитать выручку в каждом случае, найти максимальную и написать формулу, показывающую входную плату, соответствующую максимальной выручке. То есть нужно определить номер столбика, в котором получается максимальная выручка и вывести значение входной платы. Для решения задачи будем использовать функции INDEX() и MATCH() (категория "Электронная таблица"). Рассмотрим формат этих функций:
MATCH(искомое_значение; искомый_массив; тип_сопоставления) — находит позицию (порядковый номер) искомого значения в одномерном массиве. Значение аргумента "тип сопоставления" - (-1, 0 или 1) - зависит от того, упорядочен ли массив.
(-1 — массив упорядочен по убыванию, находится место наименьшего значения, которое больше или равно искомому; 0 — массив может быть неупорядоченным, находится место первого значения, равного исходному; 1 — массив упорядочен по возрастанию, находится место наибольшего значения, которое меньше или равно искомому).
Функция INDEX() имеет две формы. Рассмотрим более простую:
INDEX(массив; номер_строки; номер_столбца) — находит значение элемента, находящегося в заданном массиве на пересечении заданных строки и столбца.
Определяем выручку в каждом случае (умножив входную плату на количество посетителей), затем функцией MAX() находим наибольшую выручку. После этого функцией MATCH() определяем, на каком месте в массиве она находится и функцией INDEX() смотрим, какая входная плата находится на этом месте (рис. 23).
Рис. 23. Решение задачи о дискотеке.
В заключение, рассмотрим еще одну задачу анализа данных и, соответственно, некоторые новые функции.
Итак, задача: на основе данных из задачи о соревнованиях (п. 10) распределить места в соревнованиях по бегу среди юношей, а также определить, сколько человек показали результаты ниже среднего (т.е. время больше среднего).
Для решения задачи потребуется статистическая функция RANK() для распределения участников по местам, а также уже знакомый COUNTIF() для вычисления с условием. Однако условие для COUNTIF() обязательно должно быть текстом, поэтому при формировании условия с вычисляемыми данными целесообразно использовать текстовую функцию CONCATENATE(). Результат использования этих функций показан на рис. 24, причем формула с функцией RANK() приведена один раз, чтобы не загромождать иллюстрацию. Отметим, что для обеспечения возможности копирования формулы использованы абсолютные адреса диапазона.
Рис. 24. Распределение по местам и вычисление с условием.
Как видно из рис. 24, функция RANK() имеет три аргумента. Первый – значение, место (ранг) которого определяется. Второй аргумент – диапазон, в котором происзодит распределение по местам. Наконец, третий аргумент – указатель порядка сортировки. Если третий аргумент 0 или не указан, места распределяются по убыванию значений (т.е. чем больше – тем лучше, 1-е место – максимальное знаение). Если же поставить 1, то места будут распределяться по возрастанию (т.е. чем меньше, тем лучше, как в рассмотренном случае).
Использование функции CONCATENATE() для формирования условия позволяет работать с вычисляемыми значениями, т.е. приведенную таблицу можно использовать для любых результатов. А если вынести знак сравнения также в отдельную ячейку, можно быстро менять условия анализа данных.