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

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

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

Примеры формул, использующих циклические ссылки

Ниже приведено несколько примеров использования умышленных циклических ссылок. Они демонстрируют применение циклических ссылок для создания "временного снимка" ячейки, вычисления всегда-самого-большого значения, решения рекурсивного уравнения и решения системы уравнений.

Для работы приведенных ниже примеров флажок итерации должен быть установлен. Выберите команду Сервис^Параметры и щелкните на вкладке Вычисления. Убедитесь, что флажок итерации установлен.

Создание временного снимка ячейки

На рис. 16.5 показан рабочий лист, разработанный таким образом, что элементы в столбце А отмечаются "временным снимком" в столбце В. Формулы в столбце В отслеживают значе-

ния в соответствующих

ячейках столбца А. При внесении записи в столбце А формула воз-

вращает текущие дату и время.

ШВЕ

 

шшшюшж... С

 

 

В ячейке В2 содержится формула, скопиро-

А

;,... 0,

j E _.

ванная в другие ячейки столбца В:

1 ь

Oerta Entry

TlmeStenH»

 

-1

 

 

2

54.5

6

10 99 132PM

 

 

= Е С Л И ( Е П У С Т О ( А 2 ) ; " " ; Е С Л И ( В 2 = " " ; Т Д А ТА

3

509.32

6

10 99

1 33 PM

 

\

4

434

5 1 01 12 58 PM

 

О ; В 2 ) )

 

 

 

5

290.4

5 1 01 12 58 PM

 

шт.

Данная формула

использует функцию

6

43.34

5

1 01 12 59 PM

 

 

7

 

 

 

 

 

 

ЕСЛИ для проверки ячейки А2. Если ячейка

8

 

 

 

 

 

 

9

 

 

 

 

 

 

пуста, формула возвращает пустую строку.

to

 

 

 

 

 

 

1 1 j

rt\sheetl/

 

 

<t

. .

i

Если ячейка А2 не пустая, формула проверяет

 

 

 

 

 

 

 

 

 

 

значение в ячейке В2 (имеет место цикличе-

Рис. 16.5. Использование формулы с цикличе-

ская ссылка). Если В2 пуста, формула воз-

ской ссылкойдля созданиявременных снимков

вращает дату и время. Второй оператор ЕСЛИ

записей вячейках столбцаА

 

 

используется для того, чтобы предотвратить выполнение повторного пересчета.

Вычисление всегда-самого-большого значения

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

Формула в ячейке С1 отслеживает всегда-самые-большие показатели— максимальное значение, введенное когда-либо в столбце В. Эта формула, использующая циклическую ссылку, выглядит следующим образом:

=МАКС(В:В;С)

Формула использует функцию МАКС длявозврата максимального значения столбца В илиячейки С1. В данном примере отображается значение 98223. Оноотносится к одному из предыдущих месяцев (другими словами, в текущее время данное значение несодержится в столбцеВ).

370

Часть V. Совершенное владение формулами

 

 

Г

в ™

с | '

 

1 IApril Sale$

 

 

123

323..All-<Time High!

j

2...\

Amount Sold

 

 

j'

3

iSales Rep

 

 

4

Ijackson

 

49

032

 

 

 

5

! Smith

 

56

892

 

 

 

6

ILopez

 

32

445

 

 

 

7

|Peterson

 

55

678

 

 

 

JMRayez

 

59

898

 

 

 

1

3

 

 

""

hi

,

±,n

И

4 * MJ\Sheetl/'

 

Рис. 16.6. Использование формулы с циклической ссылкой для постоянного отслеживания максимального значения когда-либо введенного в столбце В

 

5

1

SOn/SkWfQtM)

2 >

12

1

 

 

19

1

 

 

25

1

 

S з

14

1

 

6 -

18

1

 

7 i

23

1

f

 

8

1

h'p!—

17

1

 

9

1

 

; ii*

 

4

1

^1

12:

21

1

T":

': 13!

16

1

 

; Uj

22

1

 

 

29

1

 

t, /pr-p

Рис. 16.7. Использованиеформул с циклическими ссылками для генерирования уникальных случайных чиселв столбцеА

Генерирование уникальных случайных чисел

Циклические ссылки могут использоваться для генерирования уникальных случайных чисел из заданного диапазона. Рабочий лист, представленный на рис. 16.7, генерирует 15 случайных чисел в диапазоне от 1 до 30 в столбце А. Числа генерируются уникальными, то есть они не повторяются. Данный метод может применяться для получения случайных выигрышных номеров лотереи.

Столбец В содержит формулы, подсчитывающие, сколько раз использовалось каждое отдельное число в диапазоне А1: А15. Например, приведенная ниже формула из ячейки В1 показывает, сколько раз в диапазоне А1: А15 использовалось значение, содержащееся в ячейке А1.

=СЧЕТЕСЛИ($А$1:$А$15;1)

Каждая формула в столбце А содержит циклическую ссылку. Формула проверяет сумму значений ячеек в столбце В. Если сумма не равна 15, генерируется новое случайное число. Когда сумма ячеек столбца В становится равной 15, значит все значения в столбце А уникальны. Вот какой вид имеет формула в ячейке А1:

=ЕСЛИ(СУММ($В$1:$В$15)<>15;ЦЕЛОЕ(СЛЧИС()*30+1);А1)

Ячейка D1 содержит формулу, которая отображает статус операции. Если сумма значений ячеек столбца В не равна 15, то в D1 отображается CALC AGAIN (для проведения вычислений нажмите <F9>). Когда в ячейках столбца В отображаются все единицы, в D1 содержится

SOLUTION FOUND.

=ЕСЛИ(СУММ(В1:В15)<>15;"CALC AGAIN";"SOLUTIONFOUND")

Для генерирования нового набора случайных чисел выберите любую ячейку из столбца В, затем нажмите клавишу <F2> для ее редактирования и далее нажмите клавишу <Enter>.Количество вычислений зависит от:

установок параметров итерации на вкладке Вычисления диалогового окна Параметры. Если установить большее число итераций, шанс найти 15 уникальных чисел будет выше;

соотношения количества требуемых чисел и количества возможных значений. В дан-

ном примере ищется 15 чисел из 30 значений. Меньшее количество вычислений потребуется, например, если искать 15 значений среди 100 возможных.

Глава16.Умышленные циклическиессылки

371

Решение рекурсивного уравнения

К рекурсивным уравнениям относятся уравнения, в которых переменная содержится с обеих сторон знака равенства. Ниже приведены примеры рекурсивных уравнений:

x=cos(х)

x=SQRT(x+5) х=2(1/х) х=5+(1/х)

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

Формула сходится кчислу 0,618033988749895, что является значением х, удовлетворяющим уравнение.

В некоторых случаях данная техника неработает. Давайте, например, рассмотрим следующее уравнение:

х=5+(1/х)

Если в ячейку А1 ввести приведенную ниже формулу, будет возвращен признак ошибки #ДЕЛ/0! вследствие того, что итерации начинаются с нуля (иделение наноль приводит к возникновению ошибки):

=5+1/А1

Для решения данного типа уравнений необходимо использовать две ячейки. Вот пошаговое описание данной методики:

1.Введите любое ненулевое значение вячейке А1.

2.Вячейке А2 введите следующую формулу:

=5+1/А1

3. Вячейке А1 введите следующую формулу:

=А2

В обеих ячейках А1 иА2 будет отображено значение 5,19258235429625, что является решением данного уравнения. Обратите внимание, что ввод ненулевого значения напервом шаге обеспечивает ненулевое начало для рекурсии. После замены данного значения на формулу (шаг 3) исходное значение ячейки А1 продолжает выступать в качестве начального значения для формулы вячейке А2.

Вследствие установленного способа выполнения вычислений в Excel ячейка сисходным значением должна находится левее или выше самой формулы.

На рис. 16.8 представлен рабочий лист, накотором вычисляется несколько рекурсивных уравнений. Обратите внимание, что уравнения в строках 5 и 6 требуют наличия ячейки сисходным значением. Формулы встолбце Е используют значения из столбца С для осуществления проверки результата. Например формула вячейке Е2 имеет такой вид:

372

Часть V. Совершенное владение формула

 

 

 

В

С

£ ...

F т.

1

{Equation л

,

Circular RefFonnula

CHtcfcл *

 

2

х -

l/(x+l)

 

0,618033989

0,61803399

 

3

х -

COS(x)

 

0,739085133

0,73908513

 

А

х -

SQRT(X+5)

 

2,791287847

2,79128785

 

5

ix -

2A (l/x)

1,559610469

1,559610469

1,55961047

 

g

;х = 5 + (1/х)

5,192582404

5,192582404

5.1925824

 

7

;

 

 

 

 

 

8

 

 

'•

 

 

 

 

 

 

 

MJ

... j

>\t

Рис. 16.8. В данной рабочей книге циклические ссылки используются для решения нескольких рекурсивных уравнений

Решение системы уравнений с помощью циклических ссылок

Иногда циклические ссылки могут использоваться длярешения системы уравнений. Рассмотрим следующую систему уравнений:

Зх + 4у =8 Зх + 8у = 20

Требуется найти значения х и у, одновременно удовлетворяющих обауравнения. Сначала необходимо записать уравнения в виде функций х и у. Первое уравнение в виде функции х будет иметь следующий вид:

х=(8-4у)/3 Второе уравнение представленное в виде функции у приобретет следующий вид:

у=(20-Зх)/8

Как показано нарис. 16.9, ячейке В 5 присвоено имя X а ячейке В б — Y. Формулы в данных ячейках соответствуют приведенным выше уравнениям. Формула в ячейке В5 имеет следующий вид:

=(8-(4*Y))/3

В ячейке В б (У)записана формула: =(20-(3*х))/8

На рисунке также представлены графики двух данных уравнений. Пересечение двух кривых дает значения Xи Yудовлетворяющее решение системы уравнений.

Еще оциклическихссылках

Использование циклических ссылок в реальной жизни описана воврезке "Еще о циклических ссылках" ранее вданной главе.

Обратите внимание на описанную выше циклическую ссылку. Ячейка X ссылается на ячейкуY, а ячейка Yвсвою очередь ссылается на ячейку X. Значения вэтих ячейках сходятся крешению:

X= -1,333

Y= 3,000

Использование циклических ссылок для решения систем уравнений больше интересно в демонстративных целях, чем в практических. Вы можете обнаружить, что многие итерационные вычисления никогда не сходятся. Другими словами, результат успешного

Глава 16.Умышленныециклическиессылки

373

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

х=4-у/2 х=3+2х

i

A

I

e

с

[

1 Ix"=

(5 --4у)/з

 

2 у

= (20 - 3x)/8

 

3

 

 

 

 

 

4~

 

 

 

 

 

"s"

 

X:

-1.333

 

 

6

 

Y:

3.000

 

 

7

 

 

 

 

 

8 COIWf RGl S ON A SOt UltON

 

9

 

 

 

 

 

10

 

 

 

 

 

\2

X

 

Y

 

 

13

-7,00

5.13

 

 

14

-5.50

4,56

 

 

1 5

-4,00

4,00

 

 

1Б*

-2,50

3,44

 

 

17

-1.00

2.88

 

 

V8,

0,50

2.31

 

 

19

2,00

1.75

 

 

20

3,50

1.19

 

 

21

 

 

 

 

 

22

1.33

1.00

 

 

23*

0.00

2,00

 

 

24

-1,33

3.00

 

 

25~

-2,67

4,00

 

 

26'

-4,00

5.00

 

 

27

-5,33

6,00

 

 

l28

-6.67

7,00

 

 

il

-8.00

8.00

 

 

 

 

 

 

 

9 7

 

 

 

 

N.

 

 

 

 

 

 

 

 

 

 

 

*

7

 

 

 

 

 

 

* ^ s .

!

 

 

* '

 

 

 

 

-

«-^i

N L

 

 

5 •

 

 

 

 

 

 

 

 

 

 

 

 

*

 

 

 

 

 

 

 

 

 

i

 

 

 

 

 

\

 

^^"--^^

|

;

- - "•

 

 

-_

1 -

 

v

 

 

- •

• - • " *

 

 

-10

- 8

-

6

- 4

-

2

0 2 4

6

Uses intentional circular references to solve simultaneous equations

"

« 4 » H\shertl^

Рис. 16.9. На данном рабочем листе решена система двух уравнений

Лучшим способом решения систем уравнений в Excel является использование матриц. Примеры ихиспользования приводятся в главе 10.

Возможные проблемы, связанные с использованием циклических ссылок

Хотя применение умышленных циклических ссылок может оказаться полезным, использование данного средства может таить в себе некоторые проблемы. Лучшее, чтоможно посоветовать,это использовать циклические ссылки с осторожностью ипониманием того, какони работают.

Для того чтобы воспользоваться возможностями умышленных циклических ссылок, необходимо, чтобы средство вычисления итераций было включено. В этом случае Excel небудет выводить предупреждения о наличии циклических ссылок. Поэтому существует риск создания случайных циклических ссылок, о наличии которых пользователю даже небудет известно.

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

374

Часть V. Совершенноевладениеформулами

существенному замедлению работы. Поэтому при использовании умышленных циклических ссылок стремитесь к максимальной простоте рабочих листов.

Иногда может возникать необходимость отправки рабочих книг, использующих циклические ссылки, другим пользователям. Если при открытии рабочей книги функция вычисления итераций не включена, Excel отобразит сообщение об ошибке вследствие наличия циклических ссылок, что может озадачить большую часть пользователей.

Резюме

Вданной главе рассмотрено, как Excel работает с циклическими ссылками. Хотя в большинстве случаев наличие циклических ссылок обозначает ошибку, иногда их использование можно применить в практических целях. Для работы с ними необходимо включить функцию вычисления итераций.

Вследующей главе рассмотрено, как формулы расширяют возможности по построению диаграмм..

Глава16.Умышленныециклические ссылки

375

Глава17

Методы построения диаграмм

Вэтой главе...

Представление данных на диаграммах

Интерактивное отображение данных

Создание экстравагантных проектов

Диаграммы тенденций

Полезные методы построения диаграмм

Резюме

Excel поддерживает более 100 различных типов диаграмм; и почти все элементы и параметры диаграмм задаются пользователем. В данной главе, предполагая, что читатели знакомы со средствами построения диаграмм Excel, продемонстрированы некоторые полезные приемы создания диаграмм, в большей части из которых используются формулы.

Представление данных надиаграммах

Диаграммы используются главным образом для наглядного представления таблиц данных. Отображение данных с помощью хорошо построенной диаграммы может сделать их более понятными. Так как диаграммы представляют собой рисунок, их использование особенно полезно для понимания назначения больших последовательностей данных, а также взаимосвязи разных значений. Построение диаграмм может помочь в нахождении тенденций и анализе закономерностей, которые нельзя обнаружить при обычном изучении массивов данных.

Диаграммы строятся на основе данных, находящихся на рабочем листе. Они вводятся непосредственно, или получаются в результате вычисления формул. Обычно используемые для построения диаграмм данные находятся на одном листе, однако это не является строгим правилом. Диаграмма может использовать данные любого количества рабочих листов или даже разных рабочих книг.

Знакомство сформулой РЯД

Диаграмма состоит изодной илинескольких рядов данных, каждый изкоторых представляется на диаграмме линией, столбцом или сектором. Для каждого ряда диаграмма использует формулу РЯД. При выборе надиаграмме ряда данных, этаформула отображается в строке формул. Формула РЯД неявляется формулой в обычном пониманииэтого слова, ее нельзя записать в ячейке рабочего листа, а также использовать в функции рабочего листа. В то же время имеется возможность изменения аргументов формулы РЯД. Данная формула имеет следующий синтаксис:

=РЯД(имя;подписи_категорий;значения;порядок)

Глава 17.Методыпостроения диаграмм

377

Вформуле РЯД использованы следующие аргументы:

имя. (Не обязательно.) Имя, используемое в легенде. Если диаграмма содержит лишь один ряд данных, данный аргумент используется в качестве заголовка.

подписи_категорий. (Не обязательно.) Диапазон, содержащий подписи осей категории. Если этот аргумент опущен, Excel использует последовательные целые числа, начинаяс 1.

значения. (Обязательно.) Диапазон, содержащий значения.

порядок. (Обязательно.) Целое число, определяющее порядок построения ряда (используется только тогда, когда диаграмма содержит более одного ряда).

Ссылки на диапазон, используемые в формуле РЯД, всегда абсолютны и всегда включают имя листа. Например:

=РЯД(Лист1!$В$1;;Лист1!$В$2:$В$7;1)

Ссылка может указывать и на разрывный диапазон. В этом случае каждый диапазон разделяется точками с запятыми, а весь аргумент заключается в скобки. В следующей формуле РЯД набор значений состоит из диапазонов В2 : ВЗ и В5 : В7:

=РЯД(;;(Лист1!$В$2:$В$3;Лист1!$В$5:$В$7);1)

Хотя формула РЯД может ссылаться на данные в других рабочих листах, все данные ряда должны находиться на одном листе. Следующая формула РЯД недействительна, так как в ней присутствуют ссылки на данные двух разных рабочих листов:

=РЯД(;;(Лист1!$В$2;Лист2!$В$2);1)

Использование имен вформуле РЯД

В формуле РЯД ссылки на диапазон могут быть заменены именами диапазонов. При этом Excel изменяет ссылку в формуле РЯД, включая в нее имя рабочей книги. Например, приведенная ниже формула РЯД использует диапазон с именем MyData (расположенный в рабочей книге с именем budget. xls). Excel добавил имя рабочей книги и восклицательный знак.

=РЯД(Лист!!$В$1;;budget.xls!MyData;1)

Советы по построению диаграмм

Ниже приведен рядсоветов, которые могут оказаться полезными припостроениидиаграмм.

Чтобы создать диаграмму единственным нажатием клавиши, выделите данные, которые хотите отобразить графически, и нажмите клавишу <F11>. В результате будет создан новый лист, содержащий диаграмму используемого по умолчанию типа.

Размер диаграммы можно изменить в соответствии с размером окна с помощью команды Вид^По размеру окна. Если данная функция включена, размер диаграммы автома-

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

• Если необходимо создать большое число диаграмм одного типа, изменение типа диаграммы, используемого по умолчанию, будет значительно эффективнее, нежели форматирование каждой из диаграмм по отдельности. После этого можно создать вседиаграммы без указания их типа. Для того чтобы изменить тип диаграмм, используемых по умолчанию, выберите команду Диаграмма^Тип диаграммы и затем укажите необходимую опцию. Щелкните на кнопке Сделать стандартной. Можно также сохранить ее как пользовательский тип диаграммы с возможностью последующего использования. Для этого щелкните на вкладке Нестандартные и затем на кнопке Добавить.

378

Часть V. Совершенноевладение формула

Для печати внедренной диаграммы на отдельной странице выделите ее и выберите команду Файл^Печать (или щелкните на кнопке Печать). Excel выведет на печать лишь диаграмму, сам рабочий лист распечатываться не будет.

Если вы не хотите, чтобы определенная внедренная диаграмма выводилась на печать, щелкните на ней правой кнопкой мыши и выберите из контекстного меню команду Формат области диаграммы. В диалоговом окне Формат области диаграммы щелкните на вкладке Свойства и сбросьте флажок Выводить объект на печать.

В некоторых случаях выделение элементов диаграмм с помощью мыши может быть довольно неудобным. Использование клавиатуры для этой цели в некоторых случаях значительно проще. Когда диаграмма активизирована, циклическое перемещение между всеми ее элементами осуществляется с помощью клавиш со стрелками вверх и вниз. Когда выделен ряд данных, при нажатии клавиш со стрелками вправо и влево осуществляется перемещение между отдельными значениями ряда.

При выделении элемента диаграммы вы обнаружите, что многие из кнопок панелей инструментов, используемых обычно при форматировании рабочих листов, также применяются и к выбранным элементам диаграммы. Например, если выделить Область построения диаграммы, с помощью инструмента Цвет заливки панели инструментов Форматирование можно изменить ее цвет. Если выбрать элемент, содержащий текст, для изменения его цвета можно использовать инструмент Цвет текста.

До версии Excel 97 при щелчке на внедренной диаграмме выделялся объект диаграммы. После этого можно было изменить его свойства. Для активизации диаграммы необходимо было щелкнуть на ней дважды. Начиная с версии Excel 97 щелчок на внедренной диаграмме активизирует диаграмму, содержащуюся внутри объекта диаграммы. После этого можно изменить свойства объекта диаграммы на вкладке Свойства диалогового окна Формат диаграммы. Для выделения самого объекта диаграммы необходимо при щелчке на диаграмме удерживать нажатой клавишу <Ctrl>. Выделение объекта диаграммы может потребоваться для изменения его имени в поле Имя.

Можно удалить все ряды данных из диаграммы. Если это сделать, диаграмма становится пустой. Однако при этом она сохраняет свои установки. Таким образом, можно добавить на пустую диаграмму новые ряды данных и тем самым создать диаграмму, выглядящую подобнопрежней.

Для более полного управления положением диаграммы удерживайте нажатой клавишу <Ctrl>. При нажатии клавиш со стрелками диаграмма будет смещаться на один пиксель в указанном направлении.

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

Использование имен в формуле ряда имеет одно существенное преимущество: при внесении изменения, относящегося к имени диапазона, диаграмма автоматически отображает новые данные. Давайте, например, предположим, что имя MyData в предыдущем примере относится к диапазону Al: A20. На диаграмме будет отображено двадцать значений из указанного диапазона. Позже можно с помощью команды Вставка^Имя ^Определить переопределить диапазон MyData, скажем, как А1:А30. Теперь диаграмма будет отображать 30 значений, указанных в новом диапазоне MyData (редактирования диаграммы не потребуется).

Как упоминалось выше, формула РЯД не может использовать функции рабочего листа. Однако вы можете создать именованные формулы (использующие функции), которые применяются в формуле РЯД. Как можно будет увидеть из последующего материала, данная методика позволяет реализовать самые невероятные задачи.

Глава 17.Методыпостроениядиаграмм

379