Опубликован: 24.04.2015 | Доступ: свободный | Студентов: 145 / 0 | Длительность: 04:57:00
Лекция 2:

Основы работы в Gnumeric

2.6.6 Статистические функции.

Основные статистические функции – это min(), max() и average(), вычисляющие, соответственно, минимальное, максимальное и среднее значение для набора аргументов. Аргументы могут быть либо перечислены через точку с запятой (если данные находятся в несмежных ячейках), либо в качестве аргумента может быть использован диапазон ячеек. Также к статистическим функциям можно отнести функции sumif() и countif(), которые формально находятся в Gnumeric среди математических функций, а также функцию rank(), определяющее "рейтинг" какого-то значения в списке аналогичных значений.

В качестве примера рассмотрим следующую задачу.

Дан список участников соревнования среди студентов по бегу на 100 метров и метанию мяча. В таблице (рис. 2.64) указаны пол (юноша или девушка) и результаты. Определить места каждого участника в каждом виде соревнований, минимальный, максимальный и средний результаты в каждом виде соревнований, на сколько юноши (в среднем) метают мяч дальше, чем девушки.

Сразу под списком в соответствующих столбцах подсчитываем максимальный, минимальный и средний результаты (по столбцу С =Max(C2:C16), =Min(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, разделив сумму результатов на количество участников в каждой группе. Затем подсчитываем разницу средних значений (рис. 2.64).

Для иллюстрации использования функции rank() рассмотрим следующую задачу: На основе данных из задачи о соревнованиях распределить места в соревнованиях по бегу среди юношей, а также определить, сколько человек показали результаты ниже среднего (т.е. время больше среднего).

Для распределения участников по местам как раз и потребуется функция rank(), а кроме того потребуется COUNTIF() для вычисления с условием. Однако условие для COUNTIF() обязательно должно быть текстом, поэтому при формировании условия с вычисляемыми данными целесообразно использовать текстовую функцию concatenate(). Результат использования этих функций показан на рис. 2.65.

Решение задачи о соревнованиях

Рис. 2.64. Решение задачи о соревнованиях

Формула для определения места участника соревнований (ячейка C2) будет выглядеть следующим образом:

=rank(B2;$B$2:$B$7;1)

Абсолютные адреса диапазона использованы для обеспечения возможности копирования формулы. Третий аргумент установлен в "1", что обеспечивает обратный порядок распределения мест, т.е. чем меньше значение, тем лучше место (первое место – минимальный результат). Для обеспечения прямого порядка распределения мест (первое место – максимальный результат) третий аргумент нужно установить в "0" или не указывать.

Задача о распределении мест

Рис. 2.65. Задача о распределении мест

Среднее время определяется с помощью функции average(), а условие для подсчета аутсайдеров формируется с помощью текстовой функции concatenate(), которая "сцепляет" строки для формирования одного значения строкового типа. В данном случае в ячейке B10 записана формула

=concatenate(">";B9).

Подсчет аутсайдеров выполняется по формуле (ячейка B11)

=countif(B2:B7;B10).

К статистическим функциям относятся также функции count() (подсчет количества числовых значений в диапазоне ячеек) и counta() (подсчет количества не пустых ячеек в диапазоне). Кроме того, большое число статистических функций вычисляют статистические параметры различных распределений и обеспечивают генерацию случайных чисел с заданными параметрами распределений.