Как сделать итерацию в экселе

Обновлено: 08.07.2024

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

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

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

Параметры вычислений

Следующий список поясняет опции, которые доступны в разделе Calculation options (Параметры вычислений):

Автоматические вычисления в Excel

  • Automatic (Автоматически) – пересчитывает все зависимые формулы и обновляет все открытые или внедрённые диаграммы при любом изменении значения, формулы или имени. Данная настройка установлена по умолчанию для каждого нового рабочего листа Excel.
  • Automatic except for data tables (Автоматически, кроме таблиц данных) – пересчитывает все зависимые формулы и обновляет все открытые или внедрённые диаграммы, за исключением таблиц данных. Для пересчета таблиц данных, когда данная опция выбрана, воспользуйтесь командой Calculate Now (Пересчет), расположенной на вкладке Formulas (Формулы) или клавишей F9.
  • Manual (Вручную) – пересчитывает открытые рабочие листы и обновляет открытые или внедрённые диаграммы только при нажатии команды Calculate Now (Пересчет) или клавиши F9, а так же при использовании комбинации клавиши Ctrl+F9 (только для активного листа).
  • Recalculate workbook before saving (Пересчитывать книгу перед сохранением) – пересчитывает открытые рабочие листы и обновляет открытые или внедрённые диаграммы при их сохранении даже при включенной опции Manual (Вручную). Если Вы не хотите, чтобы при каждом сохранении зависимые формулы и диаграммы пересчитывались, просто отключите данную опцию.
  • Enable iterative calculation (Включить итеративные вычисления) – разрешает итеративные вычисления, т.е. позволяет задавать предельное количество итераций и относительную погрешность вычислений, когда формулы будут пересчитываться при подборе параметра или при использовании циклических ссылок. Более детальную информацию о подборе параметров и использовании циклических ссылок можно найти в справке Microsoft Excel.
  • Maximum Iterations (Предельное число итераций) – определяет максимальное количество итераций (по умолчанию — 100).
  • Maximum Change (Относительная погрешность) – устанавливает максимально допустимую разницу между результатами пересчета (по умолчанию — 0.001).

Вы также можете переключаться между тремя основными режимами вычислений, используя команду Calculation Options (Параметры вычислений) в разделе Calculation (Вычисление) на вкладке Formulas (Формулы). Однако, если необходимо настроить параметры вычислений, все же придется обратиться к вкладке Formulas (Формулы) диалогового окна Excel Options (Параметры Excel).

Автоматические вычисления в Excel

Многопоточные вычисления в Excel

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

  1. Чтобы включить режим многопоточных вычислений, нажмите на вкладку File (Файл) и выберите пункт Options (Параметры), чтобы открыть диалоговое окно Excel Options (Параметры Excel). Затем нажмите Advanced (Дополнительно).
  2. Опуститесь вниз до раздела Formulas (Формулы) и установите флажок возле пункта Enable multi-threaded calculation (Включить многопоточные вычисления). Вы можете вручную установить количество потоков вычисления, которое необходимо использовать, или указать Excel задействовать все процессоры компьютера, выбрав Use all processors on this computer (Использовать все процессоры данного компьютера).

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

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

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

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

Циклическая ссылка

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

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

Включение итеративных вычислений

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

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


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

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

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

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

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


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

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


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

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

Параметры вычислений

Следующий список поясняет опции, которые доступны в разделе Calculation options (Параметры вычислений):


  • Automatic (Автоматически) – пересчитывает все зависимые формулы и обновляет все открытые или внедрённые диаграммы при любом изменении значения, формулы или имени. Данная настройка установлена по умолчанию для каждого нового рабочего листа Excel.
  • Automatic except for data tables (Автоматически, кроме таблиц данных) – пересчитывает все зависимые формулы и обновляет все открытые или внедрённые диаграммы, за исключением таблиц данных. Для пересчета таблиц данных, когда данная опция выбрана, воспользуйтесь командой Calculate Now (Пересчет), расположенной на вкладке Formulas (Формулы) или клавишей F9.
  • Manual (Вручную) – пересчитывает открытые рабочие листы и обновляет открытые или внедрённые диаграммы только при нажатии команды Calculate Now (Пересчет) или клавиши F9, а так же при использовании комбинации клавиши Ctrl+F9 (только для активного листа).
  • Recalculate workbook before saving (Пересчитывать книгу перед сохранением) – пересчитывает открытые рабочие листы и обновляет открытые или внедрённые диаграммы при их сохранении даже при включенной опции Manual (Вручную). Если Вы не хотите, чтобы при каждом сохранении зависимые формулы и диаграммы пересчитывались, просто отключите данную опцию.
  • Enable iterative calculation (Включить итеративные вычисления) – разрешает итеративные вычисления, т.е. позволяет задавать предельное количество итераций и относительную погрешность вычислений, когда формулы будут пересчитываться при подборе параметра или при использовании циклических ссылок. Более детальную информацию о подборе параметров и использовании циклических ссылок можно найти в справке Microsoft Excel.
  • Maximum Iterations (Предельное число итераций) – определяет максимальное количество итераций (по умолчанию – 100).
  • Maximum Change (Относительная погрешность) – устанавливает максимально допустимую разницу между результатами пересчета (по умолчанию – 0.001).

Вы также можете переключаться между тремя основными режимами вычислений, используя команду Calculation Options (Параметры вычислений) в разделе Calculation (Вычисление) на вкладке Formulas (Формулы). Однако, если необходимо настроить параметры вычислений, все же придется обратиться к вкладке Formulas (Формулы) диалогового окна Excel Options (Параметры Excel).


Руководство по проверке данных Excel

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

  • значение является числом от 1 до 6
  • дата произойдет в следующие 30 дней
  • текстовая запись содержит менее 25 символов

Кроме того, проверка данных может использоваться для предоставления пользователю определенного выбора в раскрывающемся меню:


Пример раскрывающегося меню проверки данных

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

Контроль достоверности данных


Элементы управления проверкой данных на вкладке ДАННЫЕ

Важное ограничение

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

Определение правил проверки данных


Окно проверки данных имеет три основные вкладки


Пример вкладки настроек проверки данных


Вкладка предупреждения об ошибке проверки данных

Параметры проверки данных

При создании правила проверки данных доступно восемь параметров:

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

Дата — разрешены только даты. Например, вам может потребоваться дата между 1 января 2018 года и 31 декабря 2021 года или дата после 1 июня 2018 года.

Время — разрешено только время. Например, вы можете указать время между 9:00 и 17:00 или разрешить время только после 12:00.

Длина текста — проверяет ввод на основе количества символов или цифр. Например, вам может потребоваться код из 5 цифр.

На вкладке параметров также есть два флажка:

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

Простое выпадающее меню


Раскрывающееся меню проверки данных с жестко заданными значениями

При применении к ячейке на рабочем листе раскрывающееся меню работает следующим образом:

Используются жестко заданные значения выпадающего меню проверки данных

Другой способ ввода значений в раскрывающееся меню — использование ссылки на рабочий лист. Например, с размерами (то есть маленький, средний и т.д.) в диапазоне F4:F6. Вы можете указать этот диапазон непосредственно в окне настроек проверки данных:

Значения выпадающего меню проверки данных со ссылкой на диапазон

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

Значения выпадающего меню проверки данных с именованным диапазоном

Именованные диапазоны автоматически являются абсолютными, поэтому они не изменятся.

Вы также можете создавать зависимые выпадающие списки с пользовательской формулой.Совет.

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

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

Проверка данных с помощью пользовательской формулы

Формулы проверки данных должны быть логическими формулами, которые возвращают ИСТИНА, если ввод действителен, и ЛОЖЬ, если ввод недействителен. Например, чтобы разрешить ввод любого числа в ячейку A1, вы можете использовать функцию ЕЧИСЛО (ISNUMBER) в формуле, подобной этой:

Формулы устранения неполадок

Excel игнорирует формулы проверки данных, которые возвращают ошибки.

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

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

Проверка достоверности данныхс помощью фиктивных формул

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

Примеры формул проверки данных

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

Чтобы разрешить ввод даты в течение 30 дней с сегодняшнего дня:

= И (А1> СЕГОДНЯ (), А1

Как автоматически выделять диапазоны для выборки ячеек из таблицы?

Задание является следующим. В одном из столбцов в разных ячейках находятся какие-то значения (в данном случае текстовые строки “граница”). Они определяют начало и конец секторов (диапазонов). Эти значения вставлены автоматически и могут появляться в разных ячейках. Их размеры и количество в них ячеек также может быть разным. Например, на рисунке ниже выбран сектор данных (диапазон) номер 2.


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

Динамическое определение границ выборки ячеек

Для наглядности приведем решение этой задачи с использованием вспомогательного столбца. В первую ячейку в вспомогательном столбце (A7) вводим формулу:


и копируем ее вниз в оставшиеся ячейки. Везде, где в ячейках соседнего столбца находится значение “граница”, функция возвращает номер строки. В противном случае возвращает пустую строку.


Следующим шагом будет динамическое определение адреса для выборки диапазона данных из исходного списка в соответствии с критерием отбора.

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

Заполнение диапазона

Чтобы заполнить диапазон, следуйте инструкции ниже:


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

Excel автоматически заполняет диапазон, основываясь на шаблоне из первых двух значений. Классно, не правда ли? Вот еще один пример:

Перемещение диапазона

Чтобы переместить диапазон, выполните следующие действия:

Копировать/вставить диапазон

Чтобы скопировать и вставить диапазон, сделайте следующее:

  1. Выделите диапазон, кликните по нему правой кнопкой мыши и нажмите Copy (Копировать) или сочетание клавиш Ctrl+C.
  2. Выделите ячейку, где вы хотите разместить первую ячейку скопированного диапазона, кликните правой кнопкой мыши и выберите команду Paste (Вставить) в разделе Paste Options (Параметры вставки) или нажмите сочетание клавиш Ctrl+V.

Примеры использования функции АГРЕГАТ в Excel

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

Вид таблицы с данными:


Для расчета используем следующую формулу:

  • 1 – число, соответствующее функции СРЗНАЧ;
  • 3 – число, указывающее на способ расчета (не учитывать скрытые строки и коды ошибок);
  • B3:B13 – диапазон ячеек с данными для определения среднего значения.


Панель формул


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


Дальнейшие действия точно такие же.

Ручной ввод функции


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

Расчет среднего значения

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

Использование арифметического выражения

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

  1. Встаем в нужную ячейку, ставим знак “равно” и пишем арифметическое выражение по следующем принципу:
    =(Число1+Число2+Число3. )/Количество_слагаемых .
    Примечание: в качестве числа может быть указано как конкретное числовое значение, так и ссылка на ячейку. В нашем случае, давайте попробуем посчитать среднее значение чисел в ячейках B2,C2,D2 и E2.
    Конечный вид формулы следующий: =(B2+E2+D2+E2)/4 .
  2. Когда все готово, жмем Enter, чтобы получить результат.

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

Использование функции СРЗНАЧ

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

  1. Встаем в ячейку, куда планируем выводить результат. Кликаем по значку “Вставить функци” (fx) слева от строки формул.
  2. В открывшемся окне Мастера функций выбираем категорию “Статистические”, в предлагаемом перечне кликаем по строке “СРЗНАЧ”, после чего нажимаем OK.
  3. На экране отобразится окно с аргументами функции (их максимальное количество – 255). Указываем в качестве значения аргумента “Число1” координаты нужного диапазона. Сделать это можно вручную, напечатав с клавиатуры адреса ячеек. Либо можно сначала кликнуть внутри поля для ввода информации и затем с помощью зажатой левой кнопки мыши выделить требуемый диапазон в таблице. При необходимости (если нужно отметить ячейки и диапазоны ячеек в другом месте таблицы) переходим к заполнению аргумента “Число2” и т.д. По готовности щелкаем OK.
  4. Получаем результат в выбранной ячейке.
  5. Среднее значение не всегда может быть “красивым” за счет большого количества знаков после запятой. Если нам такая детализация не нужна, ее всегда можно настроить. Для этого правой кнопкой мыши щелкаем по результирующей ячейке. В открывшемся контекстном меню выбираем пункт “Формат ячеек”.
  6. Находясь во вкладке “Число” выбираем формат “Числовой” и с правой стороны окна указываем количество десятичных знаков после запятой. В большинстве случаев, двух цифр более, чем достаточно. Также при работе с большими числами можно поставить галочку “Разделитель групп разрядов”. После внесение изменений жмем кнопку OK.
  7. Все готово. Теперь результат выглядит намного привлекательнее.

Присвоение диапазона ячеек переменной

Чтобы переменной присвоить диапазон ячеек, она должна быть объявлена как Variant, Object или Range:



= Мир MS Excel/Итерации в Excel - Мир MS Excel

Войти через uID

Войти через uID

С экселем я знаком довольно слабо, поэтому заранее извиняюсь:)

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

То есть некая ячейка вычисляется при каждом изменении по разному. Нужно найти её среднее значение по результатам n (заданное пользователем) вычислений.

С экселем я знаком довольно слабо, поэтому заранее извиняюсь:)

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

То есть некая ячейка вычисляется при каждом изменении по разному. Нужно найти её среднее значение по результатам n (заданное пользователем) вычислений.

С экселем я знаком довольно слабо, поэтому заранее извиняюсь:)

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

То есть некая ячейка вычисляется при каждом изменении по разному. Нужно найти её среднее значение по результатам n (заданное пользователем) вычислений.

Спасибо большое! Автор - Wakawaka
Дата добавления - 26.04.2018 в 17:17

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

Без примера большего вам наверно не получить.

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

Без примера большего вам наверно не получить. bmv98rus

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

Без примера большего вам наверно не получить. Автор - bmv98rus
Дата добавления - 26.04.2018 в 20:37

bmv98rus, спасибо за ответ!

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

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

Второй способ результат даст, но делать это придется вручную, что очень долго. Может знаете способ автоматизировать процесс?

Третий: а как это сделать при наличии одной большой таблицы создающей при каждом действии новую модель?

bmv98rus, спасибо за ответ!

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

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

Второй способ результат даст, но делать это придется вручную, что очень долго. Может знаете способ автоматизировать процесс?

Третий: а как это сделать при наличии одной большой таблицы создающей при каждом действии новую модель? Wakawaka

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

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

Второй способ результат даст, но делать это придется вручную, что очень долго. Может знаете способ автоматизировать процесс?

Третий: а как это сделать при наличии одной большой таблицы создающей при каждом действии новую модель? Автор - Wakawaka
Дата добавления - 26.04.2018 в 20:55

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