Итеративные вычисления в excel что это

Обновлено: 07.07.2024

Все мы при работе с excel рано или поздно сталкиваемся с формулами. В начале нашего пути мы начинаем использовать простейшие формулы с одной функцией (например, СУММ, ОКРУГЛВВЕРХ, МАКС и многие другие).

Однако по мере увеличения мастерства и усложнения проводимых расчетов, нам приходится создавать сложные формулы, в которых используется 2,3,4, а то и больше функций. В таких формулах достаточно сложно разобраться, особенно если видишь их в первый раз. Также в них легко ошибиться.

Я бы хотела привести несколько способов, которые позволят упростить работу с громоздкими формулами:

1. Чтобы не ошибиться при вводе формулы с большим количеством операторов, помните порядок их вычисления . В excel существует порядка 9 операторов, которые мы используем в формулах. Все они имеют свой приоритет при расчете формулы:

  • ^ (возведение в степень) - первый приоритет;
  • * (умножение) и / (деление) - второй приоритет;
  • + (сложение) и - (вычитание) - третий приоритет;
  • & (конкатенация) - четвертый приоритет;
  • = (равно), < (меньше) и > (больше) - пятый приоритет.

При этом расчеты, заключенные в скобки, выполняются раньше, чем все остальные. Если используются вложенные скобки (скобки в скобках), то сначала вычисляется значение, находящееся во внутренних скобках, затем во внешних.

2. Если вы не уверены, что сможете прописать корректно аргументы функции, пользуйтесь диалоговым окном "Вставка функции" , которое находится на ленте во вкладке Формулы (слева). При открытии этого окна открывается поисковик функций, в котором можно найти необходимую (в примере ниже я искала ВПР). После того, как вы нашли нужную функцию открывается окно "Аргументы функции", в котром содержатся подсказки:

3. Для того, чтобы разобраться в сложной формуле используйте прием "вычисления фрагмента формулы" . Для этого в сложной формуле выделите ее фрагмент и нажмите клавишу F9 и тогда этот фрагмент формулы рассчитается и примет свое итоговое значение прямо в формуле. После этого обязательно нажмите Ctrl+Z, для того, чтобы отменить этот расчет.

Приведу пример на формуле из другой своей статьи. У нас есть таблица с объемом продаж менеджеров, в которой с помощью функций ИНДЕКС и ПОИСКПОЗ мы ищем объем продаж определенного менеджера. На картинке я выделила фрагмент формулы с использованием функции ПОИСКПОЗ (она ищет положение строки c продавцом Авоян):

Среди пользователей Excel широко распространено мнение, что циклическая ссылка в excel является разновидностью ошибки, и от нее нужно непременно избавляться.

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

Эта заметка как раз и будет призвана дать ответ на вопрос: а всегда ли циклические ссылки – это плохо? И как с ними правильно работать, чтобы максимально использовать их вычислительный потенциал.

Для начала разберемся, что такое циклические ссылки в excel 2010.

Циклические ссылки возникают, когда формула, в какой либо ячейке через посредство других ячеек ссылается сама на себя.

Например, ячейка С4 = Е 7, Е7 = С11, С11 = С4. В итоге, С4 ссылается на С4.

Наглядно это выглядит так:

циклические ссылки

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

Предупреждение о циклической ссылке

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

предупреждение о циклической ссылке

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

Как найти циклическую ссылку

Циклические ссылки в excel могут создаваться преднамеренно, для решения тех или иных задач финансового моделирования, а могут возникать случайно, в виде технических ошибок и ошибок в логике построения модели.

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

Найти циклическую ссылку можно несколькими способами. Например, чисто визуально формулы и ячейки участвующие в образовании циклических ссылок в excel отмечаются синими стрелками, как показано на первом рисунке.

Найти циклическую ссылку можно также при помощи инструмента поиска ошибок.

На вкладке Формулы в группе Зависимости формул выберите элемент Поиск ошибок и в раскрывающемся списке пункт Циклические ссылки.

поиск циклических ссылок

Вы увидите адрес ячейки с первой встречающейся циклической ссылкой. После ее корректировки или удаления – со второй и т.д.

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

Использование циклических ссылок

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

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

После введения всех формул, у нас появляется циклическая ссылка:

использование циклических ссылок

Однако, ситуация не безнадежная. Нам достаточно изменить некоторые параметры Excel и расчет будет осуществлен корректно.

использование циклических ссылок

Еще одна ситуация когда могут быть востребованы циклические ссылки – это метод взаимных или обратных распределений косвенных затрат между непроизводственными подразделениями.

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

На тему методов распределения затрат в ближайшее время появиться отдельная статья.

Пока же нас интересует сама возможность таких вычислений.

Итеративные вычисления

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

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

Включить итеративные вычисления можно через вкладку Файл → раздел Параметры → пункт Формулы. Устанавливаем флажок «Включить итеративные вычисления».

итеративные вычисления

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

Следует иметь ввиду, что слишком большое количество вычислений может существенно загружать систему и снижать производительность.

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

Решение сходится, что означает получение надежного конечного результата.

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

Решение колеблется между двумя значениями, например, после первой итерации получается значение 1, после второй — значение 10, после третьей — снова 1 и т. д.

Рис. 1. Пример циклической ссылки

Рис. 2. Параметры Excel

В открывшемся окне «Параметры Excel» перейдите на вкладку Формулы и отметьте «Включить итеративные вычисления» (рис. 3). Помните, что эта опция включается для приложения Excel в целом (а не для одного файла), и будет действовать, пока вы ее не отключите.

Рис. 3. Включить итеративные вычисления

На этой же вкладе, можно выбрать, как будут вестись вычисления: автоматически или вручную. При автоматическом вычислении Excel сразу рассчитает конечный результат, при вычислениях, вручную, можно будет наблюдать результат каждой итерации (простым нажатием F9 запуская каждый новый цикл вычисления).

Решим уравнение третьей степени: х 3 – 4х 2 – 4х + 5 = 0 (рис. 4). Для решения этого уравнения (и любого другого уравнения совершенно произвольного вида) понадобится всего одна ячейка Excel.

Рис. 4. График функции f(x)

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

(1) x = x – f(x)/f’(x), где

f(x) – функция, задающая уравнение, корни которого мы ищем; f(x) = х 3 – 4х 2 – 4х + 5

f’(x) – производная нашей функции f(x); f’(x) = 3х 2 – 8х – 4; производные основных элементарных функций можно посмотреть здесь.

Если вы заинтересовались, откуда взялась формула (1), можете почитать, например, здесь.

Итоговая рекуррентная формула имеет вид:

(2) х = x – (х 3 – 4х 2 – 4х + 5)/(3х 2 – 8х – 4)

Выберем любую ячейку на листе Excel (рис. 5; в нашем примере это ячейка G19), присвоим ей имя х, и введем в нее формулу:

Можно вместо х использовать адрес ячейки… но согласитесь, что имя х, смотрится привлекательнее; следующую формулу я ввел в ячейку G20:

Рис. 5. Рекуррентная формула: (а) для поименованной ячейки; (б) для обычного адреса ячейки

Как только мы введем формулу и нажмем Enter, в ячейке сразу же появится ответ – значение 0,77. Это значение соответствует одному из корней уравнения, а именно второму (см. график функции f(x) на рис. 4). Поскольку начальное приближение не задавалось, итерационный вычислительный процесс начинался со значения, по умолчанию хранимого в ячейке х и равного нулю. Как же получить остальные корни уравнения?

Для изменения стартового значения, с которого рекуррентная формула начинает свои итерации, предлагается использовать функцию ЕСЛИ: [1]

Здесь значение «-5» – начальное значение для рекуррентной формулы. Изменяя его, можно выйти на все корни уравнения:

Начальное значение Корень уравнения
1 0,77
-5 -1,40
8 4,63

[1] Идея подсмотрена здесь

7 комментариев для “Excel. Использование циклических ссылок для решения уравнений итерационным способом”

Офигенный сайт!
И как всегда когда не нужно все находишь!
Блин у меня по экономическому моделированию в Excell курсовик был в институте, вот время помню кучу потерял а тут все в одном флаконе:)
Все равно инфа пригодится, даже очень!

Тамара, если Вы строите график на основе моих данных, откройте файл Excel; если Вы используете собственные данные, пришлите мне на mail Ваш файл, попробую помочь))

Спасибо заранее за беспокойство, вот такое уравнение у^3-20у^2-158у-420=0, если не трудно объясните пожалуйста как вы определяте предел в каких знчениях надо считать корни.

Расчет NPV в Microsoft Excel

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

Расчет чистого дисконтированного дохода

Показатель чистого дисконтированного дохода (ЧДД) по-английски называется Net present value, поэтому общепринято сокращенно его называть NPV. Существует ещё альтернативное его наименование – Чистая приведенная стоимость.

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

В программе Excel имеется функция, которая специально предназначена для вычисления NPV. Она относится к финансовой категории операторов и называется ЧПС. Синтаксис у этой функции следующий:

Аргумент «Ставка» представляет собой установленную величину ставки дисконтирования на один период.

Аргумент «Значение» указывает величину выплат или поступлений. В первом случае он имеет отрицательный знак, а во втором – положительный. Данного вида аргументов в функции может быть от 1 до 254. Они могут выступать, как в виде чисел, так и представлять собой ссылки на ячейки, в которых эти числа содержатся, впрочем, как и аргумент «Ставка».

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

Естественно, первоначальная инвестиция, как и любой вид вложения, будет со знаком «-».

Пример вычисления NPV

Давайте рассмотрим применение данной функции для определения величины NPV на конкретном примере.

    Выделяем ячейку, в которой будет выведен результат расчета NPV. Кликаем по значку «Вставить функцию», размещенному около строки формул.

Переход в Мастер функций в Microsoft Excel

Мастер функций в Microsoft Excel

В поле «Ставка» нужно указать текущую ставку дисконтирования. Её величину можно вбить вручную, но в нашем случае её значение размещается в ячейке на листе, поэтому указываем адрес этой ячейки.

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

Аргументы функции ЧПС в Microsoft Excel

Итог расчета функции ЧПС в Microsoft Excel

Добавление первоначального взноса в расчет в Microsoft Excel

Добавление адреса первоначального взноса в расчет в Microsoft Excel

Результат расчета NPV в Microsoft Excel

Результат выведен и в нашем случае чистый дисконтированный доход равен 41160,77 рублей. Именно эту сумму инвестор после вычета всех вложений, а также с учетом дисконтной ставки, может рассчитывать получить в виде прибыли. Теперь, зная данный показатель, он может решать, стоит ему вкладывать деньги в проект или нет.

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

Закрыть

Мы рады, что смогли помочь Вам в решении проблемы.

Отблагодарите автора, поделитесь статьей в социальных сетях.

Закрыть

Опишите, что у вас не получилось. Наши специалисты постараются ответить максимально быстро.

Читайте также: