Уокенбах Формулы в Excel
.pdfОбратите внимание, на рис. 7.7отображены два столбца распределения частот: один вчисловых значениях, а другой в процентах. Кроме того, на рис. 7.7 отображена диаграмма (или гистограмма), созданная на основе распределения частот.
|
|
8 -4! |
223 'J>,,* 1 |
-e in |
|
|
iiv^JSLjJ . ...T; |
||
1J |
55 |
- |
|
|
|
||||
•"""316""' |
|
213 |
124 |
|
5 |
|
|||
J2j |
124 |
93 |
163 |
314* |
50 |
5 0% |
|||
"зП |
211 |
41 |
231 |
241 |
212 |
100 |
9 |
9 0% |
|
A'j |
118 |
113 |
400 |
205 |
254 |
150 |
16 |
16 0% |
|
аГ: |
262 |
1 |
201 |
172 |
101 |
200 |
19 |
19 0% |
|
Б ; |
1Б7 |
479 |
205 |
337' |
118 |
250 |
18 |
18 0% |
|
|
489 |
15 |
89 |
362 |
148 |
300 |
9 |
9 0% |
|
J j |
179 |
248 |
125 |
197 |
177 |
350 |
12 |
12 0% |
|
456 |
153 |
269 |
49 |
127 |
400 |
6 |
6 0% |
||
|
|||||||||
„ |
289 |
500 |
198 |
317 |
300 |
450 |
2 |
2 0% |
|
126 |
114 |
303 |
314 |
270 |
500 |
4 |
4 0% |
||
|
151 |
279 |
347 |
314 |
170 |
|
|
|
|
Tf ! |
250 |
175 |
93 |
209 |
61 |
|
|
|
|
"i4i |
166 |
113 |
356 |
124 |
242 |
|
|
|
|
^J |
152 |
384 |
157 |
233 |
99 |
|
|
|
|
18J |
277 |
195 |
436 |
6 |
240 |
|
|
|
|
12 |
147 |
60 |
173 |
211 |
244 |
|
|
|
|
386 |
93 |
330 |
400 |
141 |
|
|
|
||
щ |
332 |
173 |
129 |
323 |
188 |
|
|
|
|
Щ |
338 |
263 |
444 |
84 |
220 |
|
|
|
|
22.} |
|
|
|
|
|
|
|
|
|
§1 |
|
|
|
|
|
|
|
|
|
I |
|
|
|
|
|
|
|
|
|
I |
|
|
|
|
|
50 |
100 150 200 250 300 350 400 450 500 |
||
EL"""^FREQUENCY Fin |
|
|
|
|
|
•if? |
Рис. 7.7. Создание распределения частот с помощью функции ЧАСТОТА
Использование формул для создания распределения частот
На рис. 7.8 отображен рабочий лист, который содержит экзаменационные оценки 50 студентов (столбец В — Grade). Формулы в столбцах G и Н вычисляют распределение оценок студентов. Минимальные и максимальные баллы для каждой оценки отображаются в столбцах D и Е. К примеру, экзаменационная оценка, находящаяся в интервале между 80 и 89 (включительно), помещается встолбец В диаграммы.
Дискретизация враспределениичастот
Прежде чем начать создавать распределение частот, вдиапазоне значений сначала необходимо определить уровни дискретизации. Количество элементов дискретизации задает число категорий в распределении. Вбольшинстве случаев каждый из элементов представляет равнозначный диапазон значений.
Для того чтобы создать 10 равномерно удаленных друг от друга уровней дискретизациидля значений диапазона Данные, в диапазон, состоящий из 10 ячеек одного столбца, введите следующую формулу массива:
{МИН(Данные)+(СТРОКА(ДВССЫЛ("1:10"))*(МАКС(Данные)-МИН(Данные)+1)/10)-1}
Данная формула создает 10 элементов дискретизации на основе значений диапазона Данные. Верхнее значение элемента всегда соответствует максимальному значениюдиапазона.
Для того чтобы создать большее или меньшее количество уровней дискретизации, необходимо использовать другое значение, отличное от 10, асаму формулу массива ввести в диапазон, содержащий такое же количество ячеек. Например, чтобы создать пять уровнейдискретизации, в диапазон, состоящий изпяти расположенных вертикально ячеек, введите следующую формулу массива:
{ М И Н ( Д а н н ы е ) + ( С Т Р О К А ( Д В С С Ы Л ( " 1 : 5 " ) ) * ( М А К С ( Д а н н ы е ) - М И Н ( Д а н н ы е ) + 1 ) / 5 ) - 1 }
190 |
Часть II. Использование функций в формулах |
LP *
90 |
|
100 |
A |
|
11 |
220% |
|
80 |
|
89 |
В |
|
10 |
20 0% |
|
51 |
|
79 |
С |
|
19 |
380% |
|
41 |
|
50 |
D |
|
6 |
12 0% |
|
0 |
|
40 |
F |
|
4 |
8.0% |
|
|
|
|
|
Grade Distribution |
|
||
2 0 |
л |
|
|
|
|
|
|
1 8 |
• |
|
|
|
|
|
|
1 0 |
• r— |
i |
|
1 |
1iwfryAi^rtfej! |
||
8 - |
|
I |
|
||||
6 |
• |
|
1 |
|
1I |
1 |
1Шжш»шшЯ |
|
|
|
I |
|
1 |
||
4 • |
|
1 |
|
1 |
|
|
|
|
|
|
I |
|
|
|
|
2 - |
|
1 |
|
1 |
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
I |
|
|
|
|
™.™••,••• |
|
||||
0 |
• |
|
|
|
1 |
|
|
|
|
A |
|
В |
С |
D |
F |
_
Рис. 7.8. Создание распределения экзаменационных отметок
Формула в ячейке G2, приведенная ниже, представляет собой формулу массива, которая подсчитывает количество баллов, относящихся к оценке А:
{=СУММ((Grades>=D2)*(Grades<=E2))}
Вспомните, мы уже использовали эту формулу в предыдущем разделе этой книги (см. раздел "Подсчет ячеек с использованием нескольких условий"). В данном примере мы просто скопировали ее на две ячейки ниже ячейкиG2.
Формулы в столбце Н вычисляют процентное соотношение оценок. Формула, содержащаяся в ячейке Н2, скопирована на четыре ячейки ниже Н2:
=G2/CYMM($G$2:$G$6)
Использование надстройки "Пакет анализа9' для создания распределения частот
Если вы предварительно установили надстройку "Пакет анализа", для создания распреде-
ления частот вы можете использовать опцию Гистограмма. Перед тем как начать работу с |
|
|
этой опцией, введите в диапазон необходимые значе- |
|
ния уровней дискретизации. После этого выберите ко- |
|
манду Сервис^Анализ данных. На экране отобра- |
|
зится диалоговое окно Анализ данных. Выберите из |
|
списка опцию Гистограмма и щелкните на кнопке |
: Параметры вывод» |
ОК, после чего на экране отобразится диалоговое окно |
i t* выходнойинтервал; |$н$2 |
Гистограмма, показанное на рис. 7.9. |
: Г Новый рабочий « к п |
|
: Гное«яр4боч«й«иигд |
В полях Входной интервал, Интервал карманов |
Г* Qapeto (отсортир< |
и Выходной интервал установите соответственно |
|
|
|
диапазоны входных данных, элементов дискретизации |
|
и выходные данные, после чего задайте дополнитель- |
Рис. 7.9. Диалоговое окно Гистограмма |
ные опции. Обратите внимание, на рис. 7.10 отобра- |
надстройки "Пакет анализа " |
жено распределение частот (и диаграмма), созданные с |
|
помощью опции Гистограмма. |
Глава 7. Способы суммирования иподсчета данных |
191 |
|
! ^ i 8 4 с i p i. |
|
G |
H |
|
t |
|
i |
|
J |
|
||||
1 : |
55 |
316 |
223 |
185 |
124 |
Bias |
Bin |
Frequency Cumulative % |
|||||||
2 ; |
124 |
93 |
163 |
213 |
314 |
50 |
|
50 |
|
|
5 |
|
5.00% |
||
3 j |
|
211 |
41 |
231 |
241 |
212 |
100 |
|
100 |
|
|
9 |
|
14.00% |
|
4 ! |
118 |
113 |
400 |
205 |
254 |
150 |
|
150 |
|
|
16 |
|
30,00% |
||
5 |
i |
262 |
1 |
201 |
172 |
101 |
200 |
|
200 |
|
|
19 |
|
49.00% |
|
6 |
j |
167 |
479 |
205 |
337 |
118 |
250 |
|
250 |
|
|
18 |
|
67.00% |
|
7l |
|
489 |
15 |
89 |
362 |
148 |
300 |
|
300 |
|
|
9 |
|
76.00% |
|
8 : |
179 |
248 |
125 |
197 |
177 |
350 |
|
350 |
|
|
12 |
|
88.00% |
||
9 I |
456 |
153 |
269 |
49 |
127 |
400 |
|
400 |
|
|
6 |
|
94.00% |
||
10! |
|
289 |
500 |
198 |
317 |
300 |
450 |
|
450 |
|
|
2 |
|
96.00% |
|
11 j |
126 |
114 |
303 |
314 |
270 |
500 |
|
500 |
|
|
4 |
|
100.00% |
||
12 j |
151 |
279 |
347 |
314 |
170 |
More |
|
|
|
0 |
|
100.00% |
|||
13" |
|
250 |
175 |
93 |
209 |
61 |
|
|
|
|
|
|
|
|
|
|
|
166* |
113 |
356 |
124 |
242 |
|
|
|
|
|
Histogram |
|
||
15; |
|
152 |
384 |
157 |
233 |
99 |
|
|
|
|
|
|
|||
|
20 |
1 |
|
|
|
|
|
|
|
||||||
16J |
277 |
195 |
436 |
6 |
240 |
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|||||||
17! |
|
147 |
80 |
173 |
211 |
244 |
|
|
|
|
|
/ |
; |
\ \ |
|
181 |
386 |
93 |
330 |
400 |
141 |
|
|
;;' |
|
|
|
|
|
||
19! |
|
332 |
173 |
129 |
323 |
188 |
1 4 |
• |
^V |
|
|
|
|
|
|
20! |
|
338 |
263 |
444 |
84 |
220 |
|
|
|
|
|
|
|
|
|
21 I |
|
|
|
|
|
§ 10 • |
|
|
|
Л * % Д ' ; |
|
||||
ill |
|
|
|
|
|
if 8- |
|
I |
|
|
|
|
h |
||
|
|
|
|
|
6> |
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
25j |
|
|
|
|
|
4 • |
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
M |
• \ |
i f |
|
||||
|
|
|
|
|
|
|
2 - |
|
|
|
|||||
27 1 |
|
|
|
|
|
0 -I |
|
|
|
|
|
|
|
||
281 |
|
|
|
|
|
|
50 |
100 |
150 |
200 |
250 |
300 |
350 |
400 |
|
291 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
30i |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
К |
! |
L |
i |
M ! './«NTJ |
|
|
|
|
-—. |
|
|
|
|
I |
<™^™™^™™_ ion nn<«. |
| |
|||
|
|
|
|
|
|
|
100 00% |
Ij |
|
|
|
80,00% |
) |
|
|
|
1 |
||
|
|
|
|
|
|
|
60,00% |
|
|
|
|
40,00% |
|
|
|
|
20.00% |
|
|
450 500 More |
|
|
|
|
1ES33 rr»qu«ncy |
|
|
||
1 -*- Cumuljlivrt X |
|
|||
„• |
.,.-.л: |
-.. |
|
Рис. 7.10. Данные распределения частоты и диаграмма созданы с помощью опции Гистограмме надстройки "Пакет анализа "
Имейте в виду, что распределение частот строится не на основе формул, а значений. Поэтому, привнесении изменений во входные данные, вы должны повторнозапустить функцию Гистограмма, чтобы модифицировать графические результаты.
Использование настраиваемых элементов дискретизации для создания гистограмм
На рис. 7.11 показан рабочий лист, в котором в столбце В перечислены оценки студентов (общее количество студентов — 67 человек). Столбцы D и Е содержат формулы, которые вычисляют верхние и нижние пределы уровней дискретизации на основе данных ячейки Е1 (под названием BinSize). Например, если ячейка BinSize содержит значение 10 (см. рис. 7.11), каждый следующий элемент будет отстоять от предыдущего на 10 единиц (1-10,11-20 и так далее).
Данная диаграмма использует в формуле РЯД два динамических имени. Имя Categories может быть определено с помощью следующей формулы:
=СМЕЩ(Лист1!$Е$4;0;0;ОКРУГЛВВЕРХ(100/BinSize;0)) Имя Frequency определяется формулой:
=СМЕЩ(Лист1!$F$4;0;0;ОКРУГЛВВЕРХ(100/BinSize;0))
В результате, после изменения ячейки BinSize, диаграмма будет корректироваться автоматически.
Дополнительная информация о создании диаграмм, использующих динамические имена в формуле РЯД, приведена в главе 17.
192 |
Часть //.Использование функций вформулах |
Q| adiustable bir s xls |
|
|
n |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
Bin Size: |
10 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
!i |
66 |
1 |
10 |
3 |
14 -/ \ |
|
|
|
|
|
|
^mmm |
|
|
|
|
|
|
|
|
|
|||||
•4^ |
Student 1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
\&|Student2 |
82 |
11 |
20 |
6 |
12- |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
M i Student 3 |
11 |
21 |
30 |
3 |
s, |
|
|
|
|
|
|
|
^ |
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
Ж-йStudent 4 |
78 |
31 |
40 |
3 |
10 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
8 |
\Student 5 |
61 |
41 |
50 |
4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
-JS Student 6 |
69 |
51 |
60 |
9 |
8 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Ш- Student 7 |
58 |
61 |
70 |
13 |
6 |
А |
|
*~ш |
|
|
|
|
Ш И Н |
^^^ШШ |
|
|||||||||||
>1iJStudent8 |
83 |
71 |
80 |
12 |
^ШШтн |
|
^^^^^^^ШЩ |
|
|
^^ Ш -Г""А |
|
|||||||||||||||
12]Student 9 |
65 |
81 |
90 |
11 |
|
ЯВЙШШШ |
|
^^^^^^^^^ША |
|
|
шщгш |
•••:<: ^^^^шШ |
|
|||||||||||||
|
LStudent 10 |
53 |
91 |
100 |
3 |
4 |
^^г^^$Л |
|
|
^ ^ ^ ^ ^ ^ ^ ^ В Ф , |
|
!Ж*« |
|
Ш;& |
|
ШШ <"S:i |
^^^^^ШШ |
|||||||||
mStudent 11 |
77 |
101 |
110 |
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
'* |
|
ЯStudent 12 |
77 |
111 |
120 |
0 |
2 |
B i l l |
i l l ШЁ ISI 11'Й Ш& WM IIIх |
|
ШЗ 118 |
Щ И |
||||||||||||||||
ШStudent 13 |
56 |
121 |
130 |
0 |
• l i i jm да лш ш м% /i« ,:m ,w .s.jfl |
|
||||||||||||||||||||
щ |
87 |
131 |
140 |
0 |
ъ\*атт\тШТфшшшршшщшятшри*ш |
щттжщшянщвттщЁвшшщг |
|
|||||||||||||||||||
щ JStudent U |
|
|||||||||||||||||||||||||
|
Student 15 |
81 |
141 |
150 |
0 |
|
10 |
2 |
0 |
3 |
0 |
4 |
0 |
5 |
0 |
6 |
0 |
7 |
0 |
8 |
0 |
9 |
0 |
100 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
Student 16 |
73 |
151 |
160 |
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Student 17 |
53 |
161 |
170 |
0 |
|
Note: The chart usesnamed formulas (Categories and Frequencies) L |
|||||||||||||||||||
Ш |
Student 18 |
18 |
171 |
180 |
0 |
|
in its SERIES formula |
|
|
|
|
|
|
|
|
|
|
|
|
."« |
||||||
'ря |
Student 19 |
58 |
181 |
190 |
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3£lStudent 20 |
70 |
191 |
200 |
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$ Л Student 21 |
30 |
201 |
210 |
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
гйвва
Puc. 7.11. Диаграмма оценок студентов, представленная в виде гистограммы; шаг между уровнями дискретизации значенийустанавливает значение ячейки Е1
Формулы суммирования
В этом разделе мы коснемся основных принципов суммирования ячеек, а также рассмотрим примеры формул суммирования: начиная спростейших формул суммирования и заканчивая сложными формулами массивов, которые вычисляют значения на основе множества критериев.
Суммирование всех ячеек диапазона
Нет ничего проще, чем прямое суммирование всех ячеек диапазона. Например, следующая формула возвращает сумму всех значений диапазона Данные:
=СУММ(Данные)
Функция СУММ может использовать до 32 аргументов. Следующая формула возвращает сумму значений впяти диапазонах, расположенных внескольких несмежных областях:
=СУММ(А1:А9;С1:С9;Е1:Е9;Gl:G9;II:19)
В некоторых случаях в качестве аргумента функции СУММ могут использоваться отдельные строки или столбцы электронной таблицы. Например, формула, приведенная ниже, возвращает сумму всех значений встолбце А. Однако, если эту формулу ввести вячейку столбца А, это сгенерирует ошибку циклической ссылки.
=СУММ(А:А)
Следующая формула возвращает сумму всех значений, содержащихся на рабочем листе Лист1 . Чтобы при создании этой формулы избежать циклической зависимости, формула должна использоваться вдругом рабочем листе, отличном от Лист1 .
=СУММ(Лист1!1:65536)
Функция СУММ достаточно универсальна. В качестве аргументов этой функции используются числовые значения, ячейки, диапазоны, текстовые представления чисел (которые интерпретируются как значения), логические значения идаже вложенные функции. Например, обратите внимание на следующую формулу:
=СУММ(В1;5;"6"; /КОРЕНЬ(4);А1:А5/ИСТИНА)
Глава 7.Способы суммирования иподсчета данных |
193 |
Данная формула вполне допустима для использования и содержит типы аргументов, которые перечислены ниже впорядке их представления:
•простая ссылка наодну ячейку;
•значение, представленное константой;
•строка, похожая начисловое значение;
•аргумент отсутствует;
•выражение, использующее другуюфункцию;
•ссылка надиапазон значений;
•логическое значение ИСТИНА.
Несмотря на всюуниверсальность,функция СУММ Вотношении логических значений (ИСТИНА или ложь) ведет себя достаточнопротиворечиво. Например, логические значения, сохраненные в ячейках, всегда обрабатываютсякако, однакопри использовании логического значения ИСТИНА Вкачестве аргумента функции СУММ оно обрабатывается как 1.
Общая сумма
В некоторых случаях, если это необходимо, пользователь может вычислить общую сумму значений заданного диапазона, иногда еще называемой "текущей суммой". Нарис. 7.12 приведен пример такого вычисления. В столбце Вприведены суммы по месяцам, а в столбце С вычисляется общая сумма, которая равна общей сумме натекущий месяц.
January
February
March
April
May
June
July
August
September
October
November
December
Рис. 7.12. С помощью простой формулы, введенной в столбец С, в нем представлена кумулятивная сумма значений из столбца В
JMjJanuary |
850 |
850 |
|
gjlFebruary |
900 |
1.750 |
|
lIlMarch |
750 |
2,500* |
|
ЩАрг.1 |
1,100 |
|
|
ЯЗЫпеМ а у |
600' |
4.200' |
|
500 |
4.700, |
|
|
JШSBJ u | y |
1ДЮ |
5,900 |
: |
Шш August |
|
|
|
HSSeptember |
|
I |
J |
0 c t o b e |
r |
||
^ЩтB November |
|
|
|
ШрресетЬег |
|
i |
g |
JBpOTAL |
|
||
|
5.900 |
t 5 |
5h*«t2ji|l|l
Рис. 7.13. Чтобы скрыть кумулятивные суммы для строк с отсутствующими
данными,используйтефункцию ЕСЛИ
В ячейку С2 введена следующая формула: =СУММ(В$2:В2)
Обратите внимание, чтоданная формула использует смешанную ссылку. Первой ячейкой диапазона, на которую будет ссылаться формула, всегда будет ячейка в строке 2.При копировании этой формулы вниз постолбцу этот диапазон будет изменяться, нотаким образом, что суммирование ячеек всегда будет начинаться со строки 2 и заканчиваться текущей строкой. Например, после копирования этой формулы вниз постолбцу С,ячейка С8 будет содержать следующую формулу:
=СУММ(В$2:В8)
194 |
Часть II.Использование функций в формулах |
Чтобы скрыть общие суммы для строк, данные в которые еще не введены, используйте функцию ЕСЛИ, как это сделано в формуле, которая введена в ячейку С2 и скопирована вниз по столбцу:
=ЕСЛИ(В2<>" ";СУММ(В$2:В2);" ")
На рис. 7.13 показано, как работает эта формула.
Суммирование n-го количества наибольших или наименьших значений
В отдельных случаях у пользователя может возникнуть необходимость суммировать некоторое п-е количество самых больших значений заданного диапазона, например, десяти. Один из способов решения этой проблемы — это сортировать диапазон ячеек в порядке убывания, а затем использовать функцию СУММи первые п значений в сортируемом диапазоне в качестве ее аргументов. Следующая формула массива выполняет эту задачу, не требуя предварительной сортировкизначений:
{=СУММ(НАИБОЛЬШИЙ(Данные;{1;2;3;4;5;б;7;8;9;10}))}
Эта формула суммирует 10 наибольших значений в диапазоне Данные. Для того чтобы суммировать 10 наименьших значений, вместо функции НАИБОЛЬШИЙ просто используйте функцию НАИМЕНЬШИЙ:
{=СУММ(НАИМЕНЬШИЙ(Данные;{1;2;3;4;5;б;7;8;9;10}))}
Обе эти формулы используют константу массива, представляющую собой аргумент функций НАИБОЛЬШИЙ или НАИМЕНЬШИЙ. В том случае, если вы имеете дело с диапазоном несоразмерно большим, чем запрашиваемое количество наибольших значений, вы можете воспользоваться формулой, приведенной ниже, которая возвращает сумму наибольших 30 значений диапазона Данные. При необходимости значение 30 может быть заменено на любое другое значение.
{=СУММ (НАИБОЛЬШИЙ (Данные; СТРОКА (ДВССЫЛС 1:30") ) ) ) }
Условное суммирование по одному критерию
Достаточно часто, в расчетах возникает необходимость использовать условную сумму. Что она из себя представляет? Это сумма, которая складывается из значений диапазона, отвечающих одному или более условиям. В этом разделе мы будем рассматривать примеры условного суммирования, удовлетворяющего только одному критерию.
Функция СУММЕСЛИ весьма полезна для суммирующих формул, использующих одно условие. Функция использует три аргумента:
•Диапазон, устанавливающий ячейки со значениями, включаемыми в сумму.
•Условие в форме числа, выражения или текста, которое определяет добавляемую ячейку.
•Диапазон суммирования — необязательный аргумент. Устанавливает диапазон ячеек, которые анализируются и подлежат суммированию. Если этот аргумент опускается, функция использует диапазон ячеек, указанный в первом аргументе.
Приведенные ниже примеры демонстрируют принцип использования функции СУММЕСЛИ. Все формулы для расчета используют данные рабочего листа, показанного на рис. 7.14, в котором столбец F содержит формулу, которая вычитает дату, указанную в столбце Е, из даты в столбце D.
Глава 7. Способы суммирования иподсчета данных |
195 |
Отрицательное значение в столбце F свидетельствует о том, что оплата просрочена. Рабочий лист использует несколько диапазонов, именуемых в соответствии со значениями строки 1.
1
2 AG-0145 шAG-0189
4AG-0220
5AG-0310
6AG-0355
7AG-0409
8•AG-0581
9AG-0600 10 AG-0602 11 AG-0633
TOTAL
13"
•H^Sheetl/
Oregon |
$5 000,00 |
03 anp |
06 |
май |
-33 1 , ,. |
j |
|
California |
$450.00 |
21 anp |
06 |
май |
-15 |
ч |
|
Washington |
$3 211,56 |
30 anp |
06 |
май |
-6 |
||
Oregon |
$250,00 |
02 |
май |
06 |
май |
-4 |
J |
Washington |
$125,50 |
06 |
май |
Обман |
0 |
||
Washington |
$3 000,00 |
12 май |
06 |
май |
6 |
||
Oregon |
$2 100.00 |
25 |
май |
06 |
май |
19 |
|
Oregon |
$335.39 |
25 |
май |
06 |
май |
19 |
|
Washington |
$65,00 |
30 май |
Обман |
24 |
|
||
California |
$250.00 |
01 июн |
Обман |
26 |
|
||
|
$14 787,45 |
|
|
|
|
36 |
|
hi - ;
Рис. 7.14. Отрицательное значение в столбце Fсвидетельствует о том, что оплата просрочена
Мастер создания формул
Начиная с версии Excel 97, в приложение Excel встроена надстройка под названием Мастер суммирования. Для того чтобы вызвать мастер суммирования, предварительно установив эту надстройку, выберите команду Сервис^Мастер^Частичная сумма.
Используя мастер суммирования вы можете устанавливать различные условия суммирования, а также создавать формулы суммирования, которые всегда будут формулами массива. Несмотря на то, что мастер суммирования представляет собой весьма удобный инструмент, тем не менее, он не универсален. Например, вы можете объединить несколько условий, используя условие и, однако не можете использовать условие или.
Имейте в виду, что таблица данных, отображенная в центральной части мастера, никоим образом не связана с данными пользователя.
Суммирование только отрицательных значений
Следующая формула возвращает сумму отрицательных значений, содержащихся в столбце F. Выражаясь другими словами, функция возвращает общее количество просроченных дней оплаты всех счетов. В нашем случае формула возвращает значение -58.
=СУММЕСЛИ(Difference;и<0")
Поскольку, в данном случае, третий аргумент опускается, второй аргумент функции (" <0") обращается к значениям диапазона Difference.
196 |
Часть II. Использование функций вформулах |
Для того чтобы суммировать отрицательные значения диапазона Difference,можно также использовать следующую формулу массива:
{=СУШ(ЕСЛИ(Differences/Difference) )}
Нет никакой необходимости записывать сложный код, чтобы ввести в формулу аргумент функции СУММЕСЛИ. Например, следующая формула создана со ссылкой на содержимое ячейки G2, которая и представляет собой аргумент функции:
=CYMM(Difference;G2)
В том случае, если аргумент вячейкеG2 изменяется, формула возвращает новый результат.
Суммирование значений
на основе диапазона Difference
Следующая формула возвращает сумму всех просроченных счетов оплаты (из столбца С):
=СУММЕСЛИ(Difference;"<0"/Amount)
Данная формула использует значения диапазона Difference, чтобы определить, какие из значений диапазона Amount участвуют в формировании суммы проведенных платежей.
Чтобы вычислить сумму значений диапазона Amount, длякоторых соответствующие значения диапазона Difference являются отрицательными, выможете воспользоваться следующей формулой:
{=СУММ(ЕСЛИ(Difference<0/Amount))}
Суммирование значений на основе сравнения текста
Следующая формула возвращает общую сумму счетов офиса Штата Орегон: =СУММЕСЛИ(Office;"=Oregon";Amount)
Использование знака равенства необязательно. Следующая формула возвращает аналогичный результат:
=CyMMEGJIM(Of fice; "Oregon" /Amount)
Чтобы суммировать общие суммы счетов всех офисов кроме Штата Орегон, используйте следующую формулу:
=СУММЕСЛИ(Office; "oOregon" ;Amount)
Суммирование значений наоснове сравнения даты
Следующая формула возвращает общую сумму счетов, дата оплаты которых после 1 июня 1999 года:
=СУММЕСЛИ(DateDue;">="&ДАТА(1999;1;б);Amount)
Обратите внимание, что второй аргумент функции СУММЕСЛИ представляет собой выражение, использующее функцию ДАТА, которая возвращает значение даты. Заключенный в ка-
Глава 7.Способысуммированияиподсчета данных |
197 |
вычки оператор сравнения, используя оператор &, объединяет значение с результатом, полученным функцией ДАТА.
Формула, приведенная ниже, возвращает общую сумму счетов, дата оплаты которых приходится на будущий период времени (включая текущую дату):
=CyMMEOIM(DateDue;">="&СЕГОДНЯ()/Amount)
Условные суммы на основе множества критериев
Все примеры, рассмотренные нами в предыдущем разделе, использовали только одно условие сравнения данных. В этом разделе мы будем работать с формулами суммирования, использующими множество условий. Имейте в виду, что функция СУММЕСЛИ не работает со множеством условий, поэтому здесь необходимо использовать формулу массива. На рис. 7.15 показан рабочий лист, аналогичный использовавшемуся в предыдущем разделе, данные которого мы будем использовать.
У, |
Oregon |
|
ОЗапр |
|
шшт'"""^'" |
|
|||
|
AG-0145 |
$5 000.00 |
Об.май |
|
|||||
3 |
AG^)189 |
California |
$450,00 |
21anp |
Об.май |
-15 |
. 1I |
||
4"* AG-0220 |
Washington |
$3 211.56 |
X |
апр |
Об.май |
•6 |
|||
SjAG-0310 |
Oregon |
$250.00 |
02 |
май |
Об.май |
•4 |
|||
6 -iAG-0355 |
Washington |
$125.50 |
Обман |
Об.май |
0 |
||||
7 |
jAG-0409 |
Washington |
$3 000,00 |
12 май |
06 май |
6 |
|
|
|
в fAG-0581 |
Oregon |
$2 100.00 |
25.май |
06 май |
19 |
|
|
||
9 |
lAG-0600 |
Oregon |
$335.39 |
25 |
май |
Об.май |
19 |
|
|
IOjAG-0602 |
Washington |
$65.00 |
30 |
май |
Об.май |
24 |
|
|
|
11 |
AG-0633 |
California |
$250.00 |
01.июн |
Об.май |
26 |
|
|
|
12 |
TOTAL |
|
$14 787.45 s |
|
|
|
36 |
; |
3" |
Ж. |
|
|
|
|
|
|
Рис. 7.15. На этом рабочем листе суммирование проводится с использованием множества условий
Использование оператора И
Предположим, что вам необходимо подсчитать общую сумму по счетам, оплата которых просрочена и которые, в то же время, относятся к счетам офиса штата Орегон. Иными словами, значения, содержащиеся в диапазоне Amount будут суммироваться только в том случае, если они одновременно соответствуют следующим условиям:
•В диапазоне Difference им соответствуют отрицательные значения.
•Соответствующий им текст в диапазоне Office— это текст Oregon.
Приведенная ниже формула массива выполняет следующее: {=СУММ((Difference<)*Office="Oregon")*Amount)}
Данная формула создает в памяти системы два новых массива:
• Булев массив, содержащий значение ИСТИНА в том случае, если соответствующее значение диапазона Difference меньше нуля, и значение ЛОЖЬ— если значение диапазона больше нуля.
198 |
Часть II. Использование функций вформулах |
• Булев массив, содержащий значение ИСТИНА в том случае, если соответствующее значение диапазона Ojfice равно значению Oregon, и значение ЛОЖЬв обратном случае.
Умножение булевых значений дает следующие результаты:
ИСТИНА * ИСТИНА = 1 ИСТИНА * ЛОЖЬ = О ЛОЖЬ * ЛОЖЬ = О
Значение диапазона Amount, соответствующее заданным условиям, возвращается как ненулевое значение только в том случае, если оба соответствующих ему значения, находящихся в массивах памяти, имеют значение ИСТИНА. Результатом является сумма значений диапазона Amount, удовлетворяющих определенным условиям.
Можно предположить, что предыдущая формула массива переписана с использованием функции СУММПРОИЗВ, выполняющей умножение и сложение элементов массивов:
=СУММПРОИЗВ((Difference<0);(Office="Oregon")/Amount)
Однако, в силу некоторых причин, функция СУММПРОИЗВ обрабатывает булевы значения некорректно, поэтому данная формула не работает. Тем не менее, можно использовать другую формулу, которая умножает булевы значения на1:
=СУММПРОИЗВ(1*(Difference<0);1*(Office="Oregon")/Amount)
ИспользованиеоператораИЛИ
Предположим, что вам необходимо получить общую сумму просроченных счетов или счетов офиса штата Орегон. Иными словами, вы должны суммировать те значения диапазона Amount, которые отвечают хотя бы одному из следующих условий:
•В диапазоне Differenceим соответствуют отрицательные значения.
•Соответствующий им текст в диапазоне Office— это текст Oregon.
Приведенная ниже формула массива выполняет следующее: {=СУММ(ЕСЛИ((Office="Oregon")+(Difference<0);l;0)*Amount)
Знак (+) означает объединение условий, количество которых не ограничивается двумя, как это показано в данном примере, а может быть и больше.
Использование условий ИиИЛИ
Как правило, все становится несколько сложней, когда пользователь использует условие, состоящее из двух операторов И и ИЛИ. Например, предположим, что нам необходимо суммировать значения диапазона Amount, отвечающие следующим условиям:
•В диапазоне Differenceим соответствуют отрицательные значения.
• Соответствующий им текст в диапазоне Office— это текст Oregon или C a l i f o r n i a .
Обратите внимание, что второе условие в действительности состоит из двух условий, объединенных с помощью оператора ИЛИ. Эта задача выполняется с помощью следующей формулы:
{СУММ((Difference^)*ЕСЛИ((Office="Oregon")+(Office="California");1)*
Amount)}
Глава 7. Способысуммирования иподсчета данных |
199 |