Iterative calculations can help find the solution to mathematical problems by running calculations over and over using previous results. This is made possible by computers that can run calculations repeatedly to find the likelihood of possible answers by getting closer to the results from different angles.
In Excel, you can reference a cell that contains a formula and use its result in an identical formula in a different cell. For this, you would need to copy the formula and references as many times as you want to repeat the process. This can work if your model is relatively simple, but doing so in more complicated workbooks might prove much more challenging, if not downright impossible to do.
An alternative and better approach is to use the Excel iterative calculation feature. You can create a formula that refers to the cell containing the formula. The formula can use the result of the previous calculations, thus automatically calculating the same thing over multiple iterations.
As easy as it sounds, there are a few things you need to consider. First of all, the number of iterations should be limited. Even though a higher iteration count usually means more accurate results, this also means longer calculations times – and sometimes crashes. Another thing to note is that when iterative calculations are disabled, Excel will show a warning as circular references are usually considered user errors unless you know what you’re doing.
To learn more about circular references please see: How to Handle Circular References in Excel
Enabling Excel Iterative Calculations
To activate and use circular references, you must first activate them by checking Enable iterative calculations option under the File menu.
Go to File > Options > Formulas > Calculation options section in Excel 2016, Excel 2013 and Excel 2010.
In Excel 2007, go to Office button > Excel options > Formulas > Iteration area.
In Excel 2003 and earlier, go to Menu > Tools > Options > Calculation.
Enabling iterative calculations will bring up two additional inputs in the same menu:
- Maximum Iterations determines how many times Excel is to recalculate the workbook,
- Maximum Change determines the maximum difference between values of iterative formulas. Note that entering a smaller number here means more accurate results.
Iterative calculations stop when one of the conditions defined (iterations count or change value) are matched. For example, let’s assume that Maximum Iterations is set to 100 and Maximum Change to 0.001. This means that Excel will stop calculating either after 100 calculations, or when there’s less than 0.001 difference between the results.
Use Cases
Calculating Future Value of an Investment
Let’s assume that we have $10,000 and want to invest this money in a cash deposit (CD) account. We’re going to assume a monthly interest rate of 1.25%. You can download the sample workbook for this use case . To calculate the total value at the end of the 21st month, we’re going to calculate the principal for each month, and add the interest to the previous month.
Begin by entering the starting cash, interest, and the total value function like below.
=value * ( 1 + interest rate)
Then, select the cell with the initial cash value and add the reference of the total value function.
This will give a circular reference warning if iterative calculations are not enabled. If you haven’t done so already, enable this option and set the Maximum Iterations to 20 to find the interest for the 21st month. See the previous section Enabling Iterative Calculations to enable this feature.
Automatic Timestamp
Circular references can also be used to add time stamps into cells. You can download the sample workbook for this use case . Let’s assume we want to add time stamps to the orders entered in the table below.
We can use circular references to add a time stamp when a new order information is entered. To do this, begin by adding a new column into the table where you’d like to print the timestamps. Type in the formula,
=IF(A2<>””,IF(I2<>””,I2,NOW()),””)
This formula will check whether there’s data in Order Number (cell A2). If it’s not blank and the timestamp cell is empty, the formula will return the NOW() function.
Note that pressing the Enter key will give a circular reference warning if iterative calculations are not enabled. See the previous section Enabling Iterative Calculations to enable this feature. This time Maximum Iterations or Maximum Change numbers don’t mean much, because we only need a single iteration, so you can leave these two inputs in their default values.
Now, every time we enter a new order and create a new row, a timestamp will be automatically printed on the Timestamp column.
Для эффективного использования формул необходимо ознакомиться с тремя ключевыми понятиями.
Вычисление — это процесс расчета по формулам и последующего отображения значений результатов в ячейках, содержащих формулы. Во избежание ненужных вычислений, которые забрать время и замедлить работу компьютера, Microsoft Office Excel автоматически пересчитывает формулы только при изменении влияющих на формулу ячеек. Это является стандартной процедурой при первом открытии книги и ее редактировании. Однако тем, как и когда Excel будет пересчитывать формулы, можно управлять.
Итерация — это повторный пересчет на отдельном числовом условии. Excel не может автоматически вычислить формулу, которая ссылается (прямо или косвенно) на ячейку, содержаную эту формулу. Это называется циклской ссылкой. Если формула ссылается на одну из собственных ячеек, необходимо определить, сколько раз она должна пересчитываться. Цикловые ссылки могут итерироваться бесконечно. Тем не менее, вы можете сами задать предельное число итераций и относительную погрешность.
Точность — это показатель степени сходимости вычислений. Excel хранит и выполняет вычисления с точностью 15 значащих цифр. Однако существует возможность изменить точность вычислений, так что Excel при пересчете формул будет использовать для вычислений не хранимое, а отображаемое значение.
Во время вычислений можно выбирать команды и выполнять ввод чисел или формул. Для выполнения команд или других действий вычисления прерываются, а затем возобновляются снова. Если книга содержит большое число формул либо листы содержат таблицы данных или функции, автоматически пересчитываемые при каждом пересчете книги, процесс вычислений может занять значительное время. Он также может быть длительным, если листы содержат связи с другими листами или книгами. Можно изменить способ выполнения вычислений, установив параметр пересчета вручную.
Важно: Изменение любого из этих параметров влияет на все открытые книги.
-
На вкладке Файл нажмите кнопку Параметры и выберите категорию Формулы.
В Excel 2007 нажмите кнопку «Microsoft Office»,выберите «Параметры Excel»и щелкните категорию «Формулы».
-
Выполните одно из указанных ниже действий.
-
Для пересчета всех зависимых формул при каждом изменении значения, формулы или имени в разделе Параметры вычислений в группе Вычисления в книге выберите пункт Автоматически. Это — способ вычислений по умолчанию.
-
Чтобы пересчитать все зависимые формулы, кроме таблиц данных, при каждом изменении значения, формулы или имени в разделе «Параметры вычислений» в разделе «Вычисления книги» выберите значение «Автоматически» за исключением таблиц данных.
-
Для отключения автоматического пересчета и выполнения пересчета открытых книг только при явном требовании (с помощью клавиши F9) в разделе Параметры вычислений в группе Вычисления в книге выберите параметр Вручную.
Примечание: При выборе параметра Вручную Excel автоматически устанавливает флажок Пересчитывать книгу перед сохранением. Если сохранение книги занимает много времени, для его экономии снимите флажок Пересчитывать книгу перед сохранением.
-
Для ручного пересчета всех открытых книг, включая таблицы данных, и обновления всех открытых листов диаграмм на вкладке Формулы в группе Вычисление нажмите кнопку Пересчет.
-
Для ручного пересчета активного листа, всех диаграмм и листов диаграмм, связанных с этим листом, на вкладке Формулы в группе Вычисление нажмите кнопку Произвести вычисления.
-
Совет: Многие из этих параметров можно изменять и вне диалогового окна Параметры Excel. Откройте вкладку Формулы и в группе Вычисления щелкните элемент Параметры вычислений, а затем — Выполнять автоматически.
Примечание: Если лист содержит формулу, связанную с непересчитанным листом, и эта связь обновляется, появится сообщение о том, что исходный лист полностью не пересчитан. Для обновления связи с текущим значением, записанном в исходном листе, даже если оно неверно, нажмите кнопку ОК. Для прекращения обновления связи и использования предыдущего значения, полученного из исходного листа, нажмите кнопку Отмена.
Действие |
Клавиши |
Пересчет измененных после последнего вычисления формул и формул, зависящих от них, во всех открытых книгах. Если задан автоматический пересчет книги, нажимать клавишу F9 для пересчета не требуется. |
F9 |
Пересчет измененных после последнего вычисления формул и формул, зависящих от них, в активном листе. |
SHIFT+F9 |
Пересчет всех формул во всех открытых книгах независимо от того, были ли они изменены после прошлого пересчета. |
CTRL+ALT+F9 |
Проверка зависимых формул, а затем пересчет всех формул во всех открытых книгах независимо от того, были ли они изменены после прошлого пересчета. |
CTRL+SHIFT+ALT+F9 |
-
На вкладке Файл нажмите кнопку Параметры и выберите категорию Формулы.
В Excel 2007 нажмите кнопку «Microsoft Office»,выберите «Параметры Excel»и щелкните категорию «Формулы».
-
В разделе Параметры вычислений установите флажок Включить итеративные вычисления.
-
Чтобы установить максимальное число пересчетов, введите в поле Предельное число итераций число итераций. Чем больше число итераций, тем больше времени потребуется для пересчета листа.
-
Для установки максимальной разности между результатами пересчетов введите ее в поле Относительная погрешность. Чем меньше это число, тем точнее результат, и тем больше времени требуется на пересчет листа.
Примечание: «Поиск решения» и «Поиск цели» — это часть набора команд, иногда называемых инструментами анализ «что если» средств. Обе команды используют итерацию контролируемым способом для получения нужных результатов. С помощью функции «Поиск решения» можно найти оптимальное значение для определенной ячейки, настроив значения в нескольких ячейках или применив определенные ограничения к одному или нескольким значениям в вычислениях. Если вы знаете нужный результат одной формулы, но не входные значения, необходимые для его определения, можно использовать средству поиска целью.
Изменяя точность вычислений в книге, необходимо учитывать важные факторы, указанные ниже.
По умолчанию в вычислениях используются хранимые, а не отображаемые значения
Отображаемые и печатаемые значения зависят от выбора формата и отображения хранимых значений. Например, ячейка, в которой отображается дата «22.06.2008», также содержит порядковый номер, который является хранимым значением даты в этой ячейке. Можно изменить отображение даты на другой формат (например, «22-июнь-2008»), но хранимое в ячейке значение не изменится.
С осторожностью изменяйте точность вычислений
При пересчете формулы Excel обычно использует значения, хранящиеся в ячейках, на которые она ссылается. Например, если в двух ячейках содержится значение 10,005, а формат ячеек предполагает отображение значений в виде денежных единиц, в каждой из ячеек будет отображаться значение 10,01 ₽. При сложении этих значений результат будет равен 20,01 ₽, поскольку Excel складывает хранимые значения 10,005 и 10,005, а не отображаемые значения.
При изменении точности вычислений в книге путем использования отображаемых (форматированных) значений Excel безвозвратно меняет точность хранимых в ячейках значений от полной (15 цифр) до любого другого числа десятичных знаков отображаемого формата. После такого изменения возврат к исходной точности невозможен.
-
На вкладке Файл нажмите кнопку Параметры и выберите категорию Дополнительно.
В Excel 2007 нажмите кнопку «Microsoft Office»,выберите «Параметры Excel»и щелкните категорию «Дополнительные параметры».
-
В разделе При пересчете этой книги выберите нужную книгу и установите флажок Задать указанную точность.
Хотя Excel ограничивает точность до 15 десятичных разрядов, это не означает, что максимальное число, которое можно хранить в Excel, ограничено 15 разрядами. Для положительных чисел предельное значение равно 9,99999999999999E+307, а для отрицательных значений — –9.99999999999999E+307. Эти числа приблизительно равны 1 или –1 с 308 нулями.
Точность в Excel означает, что любое число с разрядностью более 15 хранится и отображается только с точностью в 15 десятичных разрядов. Десятичная запятая может стоять перед любым из этих разрядов. Все разряды справа от 15-го обнуляются. Например, у числа 1234567,890123456 16 разрядов (7 до запятой и 9 после). В Excel это число хранится и отображается как 1234567,89012345 (в строке формулы и ячейке). Если установить для ячейки формат, отображающий все разряды (вместо экспоненциального формата, такого как 1,23457E+06), вы увидите, что число показывается как 1234567,890123450. 6 в конце (16-й разряд) отбрасывается и заменяется на 0. Последним является 15-й разряд, а все последующие равны нулю.
Компьютер может содержать более одного процессора (несколько физических процессоров) или поддерживать многопоточность (несколько логических процессоров). На таких компьютерах можно уменьшить или контролировать время, требуемое для пересчета книг, содержащих множество формул, путем определения числа процессоров, используемых для пересчета. Во многих случаях пересчет может выполняться частями одновременно. Распределение нагрузки между несколькими процессорами может уменьшить общее время пересчета.
-
На вкладке Файл нажмите кнопку Параметры и выберите категорию Дополнительно.
В Excel 2007 нажмите кнопку «Microsoft Office»,выберите «Параметры Excel»и щелкните категорию «Дополнительные параметры».
-
Для включения или отключения возможности использования для вычислений нескольких процессоров в разделе Формулы установите или снимите флажок Включить многопоточные вычисления.
Заметка Этот флажок по умолчанию установлен, и для вычислений используются все процессоры. Число процессоров на компьютере определяется автоматически и отображается рядом с параметром использовать все процессоры данного компьютера.
-
Дополнительно при выборе параметра Включить многопоточные вычисления можно задавать число используемых процессоров компьютера. Например, можно ограничить число процессоров, используемых для пересчета, если нужно выделить процессорное время другим выполняемым на компьютере программам.
-
Чтобы управлять числом процессоров, в области «Число потоковвычислений» выберите «Вручную». Введите число процессоров (максимальное число — 1024).
Чтобы гарантировать правильность пересчета старых книг, приложение Excel при первом открытии книги, сохраненной в более старой версии Excel, и книги, созданной в текущей версии, ведет себя по-разному.
-
При открытии книги, созданной в текущей версии, в Excel пересчитываются только формулы, зависящие от измененных ячеек.
-
При открытии книги, созданной в более ранней версии Excel, пересчитываются все формулы в книге. Это гарантирует полную оптимизацию книги для использования в текущей версии Excel. Исключением является ситуация, когда книга находится в другом режиме вычислений, например ручном.
-
Поскольку полный пересчет требует больше времени, чем частичный, открытие книги, которая не была сохранена в формате текущей версии Microsoft Excel, может потребовать больше времени. После сохранения книги в формате текущей версии Microsoft Excel книга будет открываться быстрее.
В Excel в Интернете результаты формулы автоматически пересчитываются при изменении данных в ячейках, которые используются в этой формуле. Этот автоматический пересчет можно отключить и вычислить результаты формулы вручную. Вот как это сделать:
Примечание: Изменение параметра вычисления влияет только на текущую книгу, а не на другие открытые книги в браузере.
-
В Excel в Интернете щелкните вкладку «Формулы».
-
Рядом с параметрами вычисленийвыберите один из следующих параметров в этом меню:
-
Чтобы пересчитать все зависимые формулы при каждом изменении значения, формулы или имени, выберите значение «Автоматически». Этот параметр установлен по умолчанию.
-
Чтобы пересчитать все зависимые формулы, кроме таблиц данных, при каждом изменении значения, формулы или имени нажимайте кнопку «Автоматически, кроме таблиц данных».
-
Чтобы отключить автоматический пересчет и пересчет открытых книг только явным образом, нажмите кнопку «Вручную».
-
Чтобы пересчитать книгу вручную (включая таблицы данных), нажмите кнопку «Вычислить книгу».
-
Примечание: В Excel в Интернете нельзя изменить количество пересчетов формулы до тех пор, пока не будет выполнены определенное числовый условие, а также изменить точность вычислений с помощью отображаемого значения, а не хранимого значения при пересчете формул. Однако это можно сделать в приложении Excel для настольных систем. Чтобы задать параметры вычислений и изменить пересчет, итерацию или точность формулы, откройте книгу с помощью кнопки «Открыть в Excel».
Дополнительные сведения
Вы всегда можете задать вопрос специалисту Excel Tech Community или попросить помощи в сообществе Answers community.
Ранее я описал, как найти и исправить циклическую ссылку. Напомню, что циклическая ссылка появляется, если в ячейку Excel введена формула, содержащая ссылку на саму эту ячейку (напрямую или через цепочку других ссылок). Например (рис. 1), в ячейке С2 находится формула, ссылающаяся на саму ячейку С2.
Рис. 1. Пример циклической ссылки
Но!.. Не всегда циклическая ссылка является бедствием. Циклическую ссылку можно использовать для решения уравнений итерационным способом. Для начала нужно позволить Excel вести вычисления, даже при наличии циклической ссылки. В обычном режиме Excel, обнаружив циклическую ссылку, выдаст сообщение об ошибке, и потребует ее устранения. В обычном режиме Excel не может провести вычисления, так как циклическая ссылка порождает бесконечный цикл вычислений. Можно, либо устранить циклическую ссылку, либо допустить вычисления по формуле с циклической ссылкой, но ограничив число повторений цикла. Для реализации второй возможности щелкните на кнопке «Office» (в левом верхнем углу), а затем на «Параметры Excel» (рис. 2).
Скачать заметку в формате Word, примеры в формате Excel
Рис. 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), присвоим ей имя х, и введем в нее формулу:
(3) =x-(x^3-4*x^2-4x+5)/(3*x^2-8*x-4)
Можно вместо х использовать адрес ячейки… но согласитесь, что имя х, смотрится привлекательнее; следующую формулу я ввел в ячейку G20:
(4) =G20-(G20^3-4*G20^2-4*G20+5)/(3*G20^2-8*G20-4)
Рис. 5. Рекуррентная формула: (а) для поименованной ячейки; (б) для обычного адреса ячейки
Как только мы введем формулу и нажмем Enter, в ячейке сразу же появится ответ – значение 0,77. Это значение соответствует одному из корней уравнения, а именно второму (см. график функции f(x) на рис. 4). Поскольку начальное приближение не задавалось, итерационный вычислительный процесс начинался со значения, по умолчанию хранимого в ячейке х и равного нулю. Как же получить остальные корни уравнения?
Для изменения стартового значения, с которого рекуррентная формула начинает свои итерации, предлагается использовать функцию ЕСЛИ: [1]
(5) =ЕСЛИ(x=0;-5;x-(x^3-4*x^2-4*x+5)/(3*x^2-8*x-4))
Здесь значение «-5» – начальное значение для рекуррентной формулы. Изменяя его, можно выйти на все корни уравнения:
Начальное значение | Корень уравнения |
1 | 0,77 |
-5 | -1,40 |
8 | 4,63 |
[1] Идея подсмотрена здесь
Обычной проблемой для бизнеса является вычисление определенного вклада как процента от чистой прибыли компании. Это не простая проблема умножения, поскольку чистая прибыль также учитывает данный вклад. Например, если доходы компании составили 1 000 000 рублей, а расходы 900 000, валовая прибыль при этом составляет 100 000 рублей. При этом компания выделяет в сторону в качестве вклада 10% от чистой прибыли.
Чистая прибыль при этом будет вычисляться по следующей формуле: Чистая прибыль = Валовая прибыль - Вклад
. Это называется циклически зависимая формула, поскольку выражения в левой и правой части зависят друг от друга. В данном случае сумма вклада будет вычисляться по формуле: Вклад = (Чистая прибыль)*0.1
.
Одним из способов решения данной проблемы является возможность предположить правильный ответ и затем посмотреть, насколько вы близко находитесь от реального результата. Например, в данном случае можно предположить, что, если вклад составляет 10% от чистой прибыли, мы можем взять эти 10% от валовой прибыли в 100 000. При этом сумма вклада получается равной 10 000. Если мы используем это число в формуле, то получим, что чистая прибыль равна 90 000, а 10% от нее равны 9 000. Таким образом, мы ошиблись на 1 000. Можно попробовать ещё раз. Возьмем вклад, равный 9 000. При этом чистая прибыль будет равна 91 000, а сумма вклада в 10% от этой суммы будет равна 9 100. Мы ошиблись уже всего на 100 рублей.
Если мы будем продолжать данный процесс, сумма вклада все ближе и ближе будет приближаться к истинному значению. Когда мы приблизимся достаточно близко (например, с точностью до рубля), мы можем остановиться и принять ответ за верное решение. Этот процесс называется итерациями. Конечно, мы не собираемся тратить свое драгоценное время или время компании на такие расчеты. Excel делает такие сложные вычисления очень простыми, если вы проделаете следующие шаги.
Рис. 3.5. Циклические ссылки
- Загрузите вашу книгу и введите туда необходимые циклически зависимые расчеты. На рис. 3.5 показана книга, вычисляющая предыдущий рассмотренный пример. При нажатии на Enter — подтверждении формулы расчета вклада — Excel выведет на экран предупреждение о наличии циклов.
- Нажмите на кнопку Файл, далее Параметры, затем вкладка Формулы.
- Включите флажок Включить итеративные вычисления.
- Вы можете использовать поле Предельное число итераций для задания количества итераций для вычисления. Как правило, число 100 является оптимальным между точностью и временем вычисления.
- Также вы можете задать Относительную погрешность в соответствующем иоле. При достижении заданной здесь точности Excel автоматически прекратит вычисления. Опять же, число 0.001, предложенное по умолчанию, является адекватным для большинства ситуаций.
- Нажмите ОК. Excel произведет вычисления и выдаст ответ (см 3.6).
Рис. 3.6. Ответ после итерационных вычислений
Если вы хотите посмотреть, как именно происходит вычисление итераций в вашем случае, установите в параметрах Excel вычисления на листе вручную и предельное число итераций, равное 1. Нажимая на кнопку F9, вы сможете видеть результат вычисления очередной итерации.
Скорее всего вы сталкивались с ситуацией, когда строишь в Excel расчетную модель, делаешь все логично и вроде по методике. И тут – раз – и выпадает сообщение о циклической ссылке. Основных причин может быть две. Первая причина – просто ошибка (например, не туда сослались). В таком случае ничего особо не посоветуешь. Нужно исправлять формулу. Вторая причина циклической ссылки — это когда методика расчетов не совпадает с логикой формул Excel. А это интересно. И как раз об этом статья.
Итак, обсудим, что делать, если логика вычислений требует добавлять в формулы взаимные ссылки. Спойлер: в Excel есть галочка, которая все исправит.
Рассмотрим ситуацию на простом примере с плановой калькуляцией доходов и расходов. Дано:
- Сумма расходов по статьям 25 150 ₽
- Плановая рентабельность продаж 20%.
Требуется:
- на основе расходов и рентабельности рассчитать прибыль;
- получившуюся прибыль прибавить к расходам и найти сумму выручки.
Да, формулировка «рассчитать прибыль на основе расходов и рентабельности» может показаться странной. Мы привыкли, что прибыль — это разница между доходами и расходами. На самом деле все ok.
Это при расчете фактической прибыли мы из выручки вычитаем расходы. А при построении плана (особенно, затратным методом) достаточно часто мы берем за основу именно расходы и оцениваем, какая должна быть выручка, чтобы обеспечить заданный уровень прибыли и рентабельности. Поэтому в нашем примере сначала считаем прибыль, затем прибавляем ее к расходам и получаем выручку.
Первая мысль, как найти прибыль показана на рисунке 1. Нужно расходы умножить на Рентабельность:
Прибыль = 25 150 ₽ • 20% = 5 030 ₽
Получившуюся прибыль прибавим к расходам, получим выручку, и задача вроде выполнена.
Выручка = 25 150 ₽ + 5 030 ₽ = 30 180 ₽
Рисунок 1. Расходы на Рентабельность продаж умножать нельзя.
Вообще-то нет, не выполнена… Если проверить, какая получится Рентабельность продаж, увидим, что это не 20%.
Проверка рентабельности = 5 030 ₽ / 30 180 ₽ = 17%
Потому что нельзя просто так взять Рентабельность продаж и умножить на расходы. Так делают с наценкой. Чтобы расчет получился верным, нужно изменить формулу расчета прибыли. От 100% отнять Рентабельность 20%, взять обратную величину, так мы получим коэффициент Выручки относительно расходов. А чтобы получить коэффициент прибыли придется отнять еще 100%.
Доля прибыли относительно расходов = 1 / ( 100% — 20% ) — 100% = 25%
Умножаем на расходы:
Прибыль = 25 150 ₽ • 25% = 6 287 ₽
Получаем выручку:
Выручка = 25 150 ₽ + 6 287 ₽ = 31 437 ₽
Проверяем:
Проверка рентабельности = 6 287 ₽ / 31 437 ₽ = 20% – Результат правильный.
Но! Согласитесь, весь предыдущий абзац в целом непонятен и такие «упражнения» с коэффициентами на большой расчетной модели реализовать сложно, а иногда невозможно. Или они получатся такими, что из-за сложности потом их не поменяешь. Что делать?
Все просто — напишите формулу, как есть, как этого требует методика расчета. То есть формулу Прибыли запишите, как произведение Выручки на Рентабельность. А формулу Выручки — как сумму Прибыли и Расходов. Вроде все логично и правильно, только у вас присутствуют взаимные ссылки на ячейки. И после таких действий появится сообщение о циклической ссылке, см. рисунок 2.
Рисунок 2. Пишите формулу, как требует методология, даже если появится сообщение о циклической ссылке.
Не проблема! Переходим Файл → Параметры → Формулы → Включить итеративные вычисления.
Рисунок 3. Включите итеративные вычисления.
После этого добрый Excel подберет правильные суммы и сам подставит необходимые значения, чтобы всё сходилось и считалось правильно.
Рисунок 4. Включите итеративные вычисления
Плановая калькуляция доходов и расходов – это самый простой для понимания пример, где можно использовать итеративные вычисления. Их можно также подключать для оценки запасов и переходящих остатков незавершенного производства. В финансовом моделировании.
Однако, используя эту галочку, помните, что итерации могут нагружать компьютер и отнимать ресурсы. И еще помните, что циклическая ссылка часто появляется из-за того, что просто не туда сослался. В таком случае нужно исправлять именно ошибки, а не включать итерации в формулах 😊