Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Уокенбах Формулы в Excel

.pdf
Скачиваний:
190
Добавлен:
26.03.2016
Размер:
35.82 Mб
Скачать

Обратите внимание, на рис. 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