Объем материалов рассчитывается по норме excel как отключить

Обновлено: 08.07.2024

Многопотоковый пересчет листов впервые появился в Microsoft Office Excel 2007. Вы можете настроить до 1024 одновременных потоков, которые Excel будет использовать при пересчете, независимо от количества процессоров или ядер на компьютере.

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

Если компьютер имеет несколько процессоров или ядер, за эффективное распределение потоков между процессорами отвечает операционная система.

Обзор многопотокового пересчета листов в Excel

Excel пытается определить части цепочки вычисления, которые можно пересчитывать одновременно в разных потоках. Ниже в качестве примера приведено очень простое дерево (где "x ← y" означает, что y зависит только от x).

Рисунок 1. Параллельные вычисления в разных потоках

Когда выполнено вычисление для ячейки A1, можно последовательно выполнить вычисление для ячеек A2 и A3 в одном потоке, в то время как в другом потоке последовательно выполняются вычисления для B1 и C1. Это возможно при условии, что все ячейки потокобезопасны.

Термин "Потокобезопасная ячейка" обозначает ячейку, содержащую только потокобезопасные функции. Список потоконебезопасных елементов см. в Какие элементы в Excel считаются потокобезопасными, а какие — нет.

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

Excel использует один основной поток, чтобы запускать или выполнять:

функции интерфейса диспетчера надстроек XLL (функция xlAutoOpen и т. д.)

пользовательские команды Microsoft Visual Basic для приложений (Microsoft Visual Basic for Applications, VBA), часто именуемые макросами;

пользовательские функции VBA;

встроенные потоконебезопасные функции листа (см. список в следующем разделе);

пользовательские команды и функции листа макросов XLM;

функции и команды надстроек COM;

функции и операторов в выражениях условного форматирования;

функции и операторы в определениях определенных имен, используемых в формулах листа;

принудительную оценку выражения в поле редактирования формулы с помощью клавиши F9.

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

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

Какие элементы в Excel считаются потокобезопасными, а какие — нет

Excel считает покобезопасными только следующие элементы:

Все унарные и двоичные операторы в Excel.

Почти все встроенные функции листа, начиная с Excel 2007 (см. список исключений).

Потоконебезопасные встроенные функции листа:

PHONETIC

CELL, когда используется аргумент "format" или "address"

INDIRECT

GETPIVOTDATA

CUBEMEMBER

CUBEVALUE

CUBEMEMBERPROPERTY

CUBESET

CUBERANKEDMEMBER

CUBEKPIMEMBER

CUBESETCOUNT

ADDRESS, когда указывается пятый параметр (sheet_name)

Любая функция базы данных (DSUM, DAVERAGE, и т. д.), которая ссылается на сводную таблицу

ERROR.TYPE

HYPERLINK

Указанные ниже действия считаются небезопасными:

пользовательские функции VBA;

пользовательские функции надстроек COM;

пользовательские функции листа макросов XLM;

Вызов информационных функций XLM, например xlfGetCell (GET.CELL).

Вызов xlfSetName (SET.NAME) для определения или удаления внутренних имен XLL.

Вызов потоконебезопасных пользовательских функций с помощью xlUDF.

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

Вызов функции xlAbort для сброса условия останова.

Вызов функции xlCoerce для получения значения невычисленной ссылки на ячейку.

Функции обратного вызова для C API — потокобезопасные:

xlCoerce (кроме случаев, когда не удается выполнить приведение невычисленных ссылок на ячейки)

xlFree

xlStack

xlSheetId

xlSheetNm

xlAbort (кроме случаев сброса состояния останова)

xlGetInst

xlGetHwnd

xlGetBinaryName

xlDefineBinaryName

Единственное исключение — функция xlSet, которая является эквивалентом команды и, поэтому, не может вызываться из функций листа.

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

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

Не осуществляйте потоконебезопасные вызовы с помощью C API или COM.

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

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

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

Состязание за память

Многопоковые системы должны решать две основные проблемы:

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

Как создать память, связанную с выполняемым потоком и доступную только ему, и получить к ней доступ.

В операционной системе Windows и пакете средств разработки программного обеспечения (SDK) для Windows есть средства для их решения: критические секции и API для локального хранения данных потока (TLS) соответственно. Дополнительные сведения см. в статье Memory Management in Excel.

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

Вторая проблема может возникнуть, например, когда функция листа объявляет статическую переменную или объект в коде функции. Компилятор C/C++ создает только одну копию, которую используют все потоки. Это означает, что один экземпляр функции может изменить значение, а другой (в другом потоке) может использовать ранее заданное значение.

Примеры применения MTR

Любой XLL-модуль, который экспортирует функции листа, может использовать многопотоковый пересчет (MTR) в Excel, если эти функции не должны выполнять потоконебезопасные действия. Это позволяет Excel максимально быстро выполнять пересчет в книгах, в которых они используются, и поэтому MTR рекомендуется применять всегда.

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

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

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

Рассмотрим компьютер с одним процессором, на котором запущено приложение Excel и обрабатывается книга, содержащая 1000 ячеек. Она вызывает функцию UDF, которая, в свою очередь, вызывает один или несколько удаленных серверов. Предположим, что 1000 ячеек не зависят друг от друга, поэтому Excel не нужно ожидать завершения одного вызова для совершения другого. (Это условие можно нарушить без последствий для этого примера.) Если серверы могут обрабатывать 100 запросов одновременно, а в Excel настроено использование 100 потоков, время выполнения можно сократить до 1/100 (сотой части от времени выполнения однопотокового пересчета). Чтобы приложение Excel могло распределять вызовы между потоками, а операционная система могла управлять 100 потоками, требуются значительные ресурсы. Это показывает, что на практике такого значительного сокращения времени не будет. Мы также предполагаем, что сервер характеризуется хорошей масштабируемостью, и что одновременная обработка 100 задач сильно не повлияет на время выполнения отдельных задач.

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

Рекомендации по использованию служб Excel

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

Если у вас есть диапазон значений на листе, и вы хотите подсчитать ячейки выше / ниже определенного значения или выше / ниже среднего значения диапазона, как вы можете быстро их подсчитать? В Excel для этого можно использовать формулу СЧЁТЕСЛИ.

Вкладка Office позволяет редактировать и просматривать в Office с вкладками и значительно упрощает работу . Kutools for Excel решает большинство ваших проблем и увеличивает вашу производительность на 80%
  • Повторное использование чего угодно: Добавляйте наиболее часто используемые или сложные формулы, диаграммы и все остальное в избранное и быстро используйте их в будущем.
  • Более 20 текстовых функций: Извлечь число из текстовой строки; Извлечь или удалить часть текстов; Преобразование чисел и валют в английские слова.
  • Инструменты слияния : Несколько книг и листов в одну; Объединить несколько ячеек / строк / столбцов без потери данных; Объедините повторяющиеся строки и сумму.
  • Разделить инструменты : Разделение данных на несколько листов в зависимости от ценности; Из одной книги в несколько файлов Excel, PDF или CSV; От одного столбца к нескольким столбцам.
  • Вставить пропуск Скрытые / отфильтрованные строки; Подсчет и сумма по цвету фона ; Отправляйте персонализированные электронные письма нескольким получателям массово.
  • Суперфильтр: Создавайте расширенные схемы фильтров и применяйте их к любым листам; Сортировать по неделям, дням, периодичности и др .; Фильтр жирным шрифтом, формулы, комментарий .
  • Более 300 мощных функций; Работает с Office 2007-2019 и 365; Поддерживает все языки; Простое развертывание на вашем предприятии или в организации.

Подсчитайте ячейки выше / ниже среднего

Удивительный! Использование эффективных вкладок в Excel, таких как Chrome, Firefox и Safari!
Экономьте 50% своего времени и сокращайте тысячи щелчков мышью каждый день!

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


Выберите пустую ячейку, например Ячейку C6, введите эту формулу = СЧЁТЕСЛИ (A1: C5; ">" & СРЕДНЕЕ (A1: C5)) (диапазон A1: C5 указывает диапазон, в котором вы хотите подсчитать количество ячеек выше среднего, вы можете изменить его по своему усмотрению) и нажмите Enter кнопку на клавиатуре. Смотрите скриншот:


Чаевые: Если вы хотите подсчитать количество ячеек ниже среднего, введите эту формулу = СЧЁТЕСЛИ (A1: C5; "<" & СРЕДНЕЕ (A1: C5)) (диапазон A1: C5 указывает диапазон, в котором вы хотите подсчитывать ячейки ниже среднего, вы можете изменить его по своему усмотрению).

Подсчитайте ячейки выше / ниже определенного значения

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

Выберите пустую ячейку, например Ячейку C6, введите эту формулу = СЧЁТЕСЛИ (A1: C5; "> 50") (диапазон A1: C5 указывает диапазон, в котором вы хотите подсчитать ячейки выше указанного значения 50, число 50 соответствует критерию, вы можете изменить их по своему усмотрению) и нажмите Enter кнопку на клавиатуре. Смотрите скриншот:


Совет: если вы хотите подсчитать количество ячеек ниже определенного значения, введите эту формулу = СЧЁТЕСЛИ (A1: C5; «<50») (диапазон A1: C5 указывает диапазон, в котором вы хотите посчитать ячейки ниже указанного значения, число 50 соответствует критерию, вы можете изменить их по своему усмотрению).

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

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

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

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

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

Вы также можете переключаться между тремя основными режимами вычислений, используя команду 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 разбух до нескольких десятков мегабайт и во время открытия файла можно смело успеть налить себе кофе, то попробуйте пробежаться по описанным ниже пунктам - возможно один или несколько из них укоротят вашего "переростка" до вменяемых размеров и разгонят его "тормоза" :)

Проблема 1. Используемый диапазон листа больше, чем нужно

Если ваша таблица занимает 5 на 5 ячеек, то это отнюдь не означает, что Excel запоминает при сохранении этого файла только 25 ячеек с данными. Если вы в прошлом использовали какие-либо ячейки на этом листе, то они автоматически включаются в используемый диапазон (так называемый Used Range), который и запоминается при сохранении книги. Проблема в том, что при очистке используемых ячеек Excel далеко не всегда автоматически исключает их из используемого диапазона, т.е. начинает запоминать в файле больше данных, чем реально имеется.

Проверить это просто – нажмите на клавиатуре сочетание клавиш Ctrl+End и посмотрите куда переместится активная ячейка. Если она прыгнет на фактическую последнюю ячейку с данными на листе – отлично. А если вдруг ускачет сильно правее и/или ниже "в пустоту" – дело плохо: все эти ненужные пустые ячейки Excel тоже запоминает внутри файла.

Лечится это, тем не менее, достаточно легко:

  1. Выделите первую пустую строку под вашей таблицей
  2. Нажмите сочетание клавиш Ctrl+Shift+стрелка вниз – выделятся все пустые строки до конца листа.
  3. Удалите их, нажав на клавиатуре Ctrl+знак минус или выбрав на вкладке Главная – Удалить – Удалить строки с листа (Home – Delete – Delete rows) .
  4. Повторите то же самое со столбцами.
  5. Повторите все вышеописанные процедуры на каждом листе, где при нажатии на Ctrl+End активная ячейка перемещается не на фактическую последнюю ячейку с данными а "в пустоту" ниже и/или правее.
  6. Сохраните файл (обязательно, иначе изменения не вступят в силу!)

Если в вашей книге очень много таких листов, то проще, наверное, использовать короткий макрос.

Проблема 2. Используется старый формат XLS вместо новых XLSX, XLSM и XLSB

Много лет и версий подряд еще с начала девяностых в Excel был один формат файлов - XLS. Это, конечно, убирало проблемы совместимости, но, сам по себе, этот формат давно устарел и имел много неприятных недостатков (большой размер, непрозрачность внутренней структуры данных, легкую повреждаемость и т.д.)

Начиная с верии Excel 2007 Microsoft ввела новые форматы сохранения файлов, использование которых заметно облегчает жизнь и - ваши файлы:

  • XLSX - по сути является зазипованным XML. Размер файлов в таком формате по сравнению с Excel 2003 меньше, в среднем, в 5-7 раз.
  • XLSM - то же самое, но с поддержкой макросов.
  • XLSB - двоичный формат, т.е. по сути - что-то вроде скомпилированного XML. Обычно в 1.5-2 раза меньше, чем XLSX. Единственный минус: нет совместимости с другими приложениями кроме Excel, но зато размер - минимален.

Проблема 3. Избыточное форматирование

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

Оставьте только самое необходимое, не изощряйтесь. Особенно в тех таблицах, которые кроме вас никто не видит. Для удаления только форматов (без потери содержимого!) выделите ячейки и выберите в выпадающем списке Очистить - Очистить форматы (Clear - Clear Formats) на вкладке Главная (Home) :

Особенно "загружают" файл отформатированные целиком строки и столбцы. Т.к. размер листа в последних версиях Excel сильно увеличен (>1 млн. строк и >16 тыс. столбцов), то для запоминания и обрабоки подобного форматирования нужно много ресурсов. В Excel 2013-2016, кстати, появилась надстройка Inquire, которая содержит инструмент для быстрого избавления от подобных излишеств - кнопку Удалить избыточное форматирование (Clean Excess Cell Formatting) :

reduce_size9.jpg

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

Если вы не видите у себя в интерфейсе вкладку Inquire, то ее необходимо подключить на вкладке Разработчик - Надстройки COM (Developer - COM Addins) .

Проблема 4. Ненужные макросы и формы на VBA

Большие макросы на Visual Basic и особенно пользовательские формы с внедренной графикой могут весьма заметно утяжелять вашу книгу. Для удаления:

  1. нажмите Alt+F11, чтобы войти в редактор Visual Basic
  2. найдите окно Project Explorer’а (если его не видно, то выберите в меню View - Project Explorer)
  3. удалите все модули и все формы (правой кнопкой мыши - Remove - дальше в окне с вопросом о экспорте перед удалением - No):

Также код может содержаться в модулях листов - проверьте их тоже. Также можно просто сохранить файл в формате XLSX без поддержки макросов - все макросы и формы умрут автоматически. Также можно воспользоваться инструментом Очистить книгу от макросов из надстройки PLEX.

Проблема 5. Именованные диапазоны

Если в вашем файле используются именованные диапазоны (особенно с формулами, динамические или получаемые при фильтрации), то имеет смысл от них отказаться в пользу экономии размера книги. Посмотреть список имеющихся диапазонов можно нажав Ctrl+F3 или открыв окно Диспетчера имен (Name Manager) на вкладке Формулы (Formulas) :

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

Проблема 6. Фотографии высокого разрешения и невидимые автофигуры

Если речь идет о фотографиях, добавленных в книгу (особенно когда их много, например в каталоге продукции), то они, само-собой, увеличивают размер файла. Советую сжимать их, уменьшая разрешение до 96-150 точек на дюйм. На экране по качеству это совершенно не чувствуется, а размер файла уменьшает в разы. Для сжатия воспользуйтесь кнопкой Сжать рисунки (Compress pictures) на вкладке Формат (Format) :

Кроме видимых картинок на листе могут содержаться и невидимые изображения (рисунки, фотографии, автофигуры). Чтобы увидеть их, выделите любую картинку и на вкладке Формат (Format) нажмите кнопку Область выделения (Selection Pane) .

Для удаления вообще всех графических объектов на текущем листе можно использовать простой макрос:

Проблема 7. Исходные данные сводных таблиц

По-умолчанию Excel сохраняет данные для расчета сводной таблицы (pivot cache) внутри файла. Можно отказаться от этой возможности, заметно сократив размер файла, но увеличив время на обновление сводной при следующем открытии книги. Щелкните правой кнопкой мыши по сводной таблице и выберите команду Свойства таблицы (Pivot Table Properties) - вкладка Данные (Data) - снять флажок Сохранять исходные данные вместе с файлом (Save source data with file):

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

В Excel 2007-2016 кнопку Мастера сводных таблиц нужно добавлять на панель вручную - на ленте такой команды нет. Для этого щелкните по панели быстрого доступа правой кнопкой мыши и выберите Настройка панели быстрого доступа (Customize Quick Access Toolbar) и затем найдите в полном списке команд кнопку Мастер сводных таблиц (PivotTable and PivotChart Wizard) :

Проблема 8. Журнал изменений (логи) в файле с общим доступом

Если в вашем файле включен общий доступ на вкладке Рецензирование - Доступ к книге (Review - Share Workbook) , то внутри вашего файла Excel на специальном скрытом листе начинает сохраняться вся история изменений документа: кто, когда и как менял ячейки всех листов. По умолчанию, такой журнал сохраняет данные изменений за последние 30 дней, т.е. при активной работе с файлом, может запросто занимать несколько мегабайт.

Мораль: не используйте общий доступ без необходимости или сократите количество дней хранения данных журнала, используя вторую вкладку Подробнее (Advanced) в окне Доступ к книге. Там можно найти параметр Хранить журнал изменений в течение N дней (Keep change history for N days) или совсем отключить его:

reduce_size8.jpg

Проблема 9. Много мусорных стилей

Про эту пакость я уже подробно писал ранее в статье о том, как победить ошибку "Слишком много форматов ячеек". Суть, если кратко, в том, что если вы разворачиваете на вкладке Главная список Стили ячеек (Home - Cell Styles) и видите там очень много непонятных и ненужных стилей, то это плохо - и для размера вашего файла Excel и для его быстродействия.

too-many-formats2.jpg

Удалить ненужные стили можно с помощью макроса или готовой команды из надстройки PLEX.

Проблема 10. Много примечаний

Примечания к ячейкам, конечно, не самый вредный момент из всех перечисленных. Но некоторые файлы могут содержать большое количество текста или даже картинок в примечаниях к ячейкам. Если примечания не содержат полезной для вас информации, то их можно легко удалить с помощью команды на вкладке Главная - Очистить - Очистить примечания (Home - Clear - Clear Comments) .

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

Простой и дисконтированный период окупаемости

Простой и дисконтированный период окупаемости

Период окупаемости вложений (Payback Period, PP) представляет собой наименьший срок, через который инвестированные средства вернутся и станут приносить прибыль. Для краткосрочных проектов нередко применяют простой метод, который заключается в том, что за основу берется значение периода, при котором чистый денежный поток начинания (без учета налогов и операционных затрат) превысит объем инвестированных средств.

Срок окупаемости инвестиций выражается такой формулой:

  • IC – вложения на начальной фазе инвестиционного проекта;
  • CFi – поток денег в период времени i, состоящий из чистой прибыли и начисленной амортизации.

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

Объем дохода за первые три года 3600 (1200 + 1200 + 1200) не покрывает начального вложения, однако сумма за четыре года (4800 тысяч рублей) превышает инвестицию, значит, инициатива окупится меньше, чем за 4 года. Можно более точно рассчитать эту величину, если допустить, что в течение года приток денег происходит равномерно:

Остаток = (1 – (4800 – 4000 / 1200) = 0,33, то есть 4 месяца.

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

Чтобы получить более точный прогноз, используют дисконтированный срок окупаемости (Discounted Payback Period, DPP). Этот критерий можно рассматривать как временной отрезок, в течение которого инвестор получит такой же доход, приведенный к текущему периоду, как и в случае вложения финансового капитала в альтернативный актив.

Показатель можно вычислить, используя такую формулу:

  • DPP – период окупаемости дисконтированный;
  • CF – поток денег, который генерируется вложением;
  • IC – затраты на начальном этапе;
  • n – длительность реализации инициативы (в годах);
  • r – барьерная ставка (ставка дисконтирования).

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

Нередко возникают ситуации, когда после окончания инвестиционного проекта остается значительное количество активов (автотранспорта, сооружений, зданий, оборудования, материалов), которые можно реализовать по остаточной стоимости, увеличивая входящий поток денег. В таких случаях используют расчет периода возврата денег с учетом ликвидационной стоимости (Bail-Out Payback Period, BOPP). Его формула такова:

где RV – стоимость ликвидационная активов проекта.

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

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

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

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

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

Рассмотрим пример расчета показателя DPP для описанного нами случая. Чтобы применить формулу к нашему примеру, то следует сначала установить ставку дисконтирования. Возьмем ее как средний показатель величины процентов по долгосрочным депозитам – 9%.

Теперь нам необходимо рассчитать денежные потоки по годам, учитывая норму дисконта:

PV1 = 1200 / (1 + 0,09) = 1100,9;

PV2 = 1200 / (1 + 0,09)2 = 1010,1

PV3 = 1200 / (1 + 0,09)3 = 926,6

PV4 = 1200 / (1 + 0,09)4 = 844,5

PV5 = 1200 / (1 + 0,09)5 = 780,2

Теперь вычислим, когда наступит момент окупаемости. Учитывая, что сумма поступлений за первые 2 (2111 тыс. рублей), 3 (3037,6 тыс. рублей) и 4 года реализации инициативы (3882,1 тыс. рублей) меньше стартовой инвестиции, а сумма за 5 лет (4662,3 тыс. рублей) – больше нее, то срок окупаемости находится в пределах между четырьмя и пятью годами. Найдем остаток:

Получаем результат расчетов

Получаем результат. Инвестиция при приведении денежных потоков к настоящему времени окупится за 4 года и 2 месяца, что превышает показатель PP (3 года и 4 месяца).

На срок окупаемости вложения в инвестиционный проект могут влиять различные показатели. В частности, он зависит от величины притока средств по периодам. Попробуем решить две задачи, немного модифицировав наш пример. Жизненный цикл проекта (5 лет) и начальная инвестиция (4000 тысяч рублей), барьерная ставка (9%) и номинальный объем дохода (6000 тысяч рублей) остаются неизменными, но притоки по годам имеют разный вид.

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

Вариант А:

1 год – 800 тыс. руб.;

2 год – 1000 тыс. руб.;

3 год – 1200 тыс. руб.;

4 год – 1300 тыс.руб.;

5 год – 1700 тыс. руб.

Дисконтируем поступления по годам варианта А:

PV1 = 800 / (1 + 0,09) = 733,9;

PV2 = 1000 / (1 + 0,09)2 = 841,7;

PV3 = 1200 / (1 + 0,09)3 = 926,6;

PV4 = 1300 / (1 + 0,09)4 = 921,3;

PV5 = 1700 / (1 + 0,09)5 = 1105,3.

Сложив прибыль, мы видим такую картину. Доходы за 2 года (1575,6 тыс. руб.), 3 года (2502,2 тыс. руб.) и 4 года (3423,5 тыс. руб.) не обеспечивают возврата вложений, а сумма поступлений за 5 лет (4528,8 тыс. руб.) – обеспечивает. Значит, срок окупаемости больше 4 лет. Ищем остаток:

Дисконтированный период окупаемости в варианте А составляет 4 года и 7 месяцев. Это на 5 месяцев дольше, чем в примере с равномерными поступлениями.

Вариант Б:

1 год – 1700 тыс. руб.;

2 год – 1300 тыс.руб.;

3 год – 1200 тыс. руб.;

4 год – 1000 тыс. руб.;

5 год – 800 тыс. руб.

Проведем расчет притоков по годам с учетом нормы дисконта:

PV1 = 1700 / (1 + 0,09) = 1559,6;

PV2 = 1300 / (1 + 0,09)2 = 1094,3;

PV3 = 1200 / (1 + 0,09)3 = 926,6;

PV4 = 1000 / (1 + 0,09)4 = 708,7;

PV5 = 800 / (1 + 0,09)5 = 520,2

Находим необходимое значение показателя. Суммарный доход за 2 года (2653,9 тыс. руб.) и за 3 года (3850,5 тыс. руб.) меньше начальной инвестиции, но уже по итогу 4 лет работы (4289,2 тыс. руб.) она полностью возвращается. Вычислим точный показатель:

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

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

Простой и дисконтированный срок окупаемости проекта

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

Простой срок окупаемости проекта

Что это такое и для чего он нужен

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

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

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

Как рассчитывается простой срок окупаемости

Формула расчета показателя в годах выглядит следующим образом:

PP= Ko / KF сг , где:

  • PP – простой срок окупаемости проекта в годах;
  • Ko – общая сумма первоначальных вложений в проект;
  • KFсг – среднегодовые поступления денежных средств от нового проекта при выходе его на запланированные объемы производства/продаж.

Данная формула подходит для проектов, при реализации которых соблюдаются следующие условия:

  • вложения осуществляются единовременно в начале реализации проекта;
  • доход нового бизнеса будет поступать относительно равномерно.

Пример расчета

Пример №1

Планируется открытие ресторана с общим объемом инвестиций в 9 000 000 рублей, в том числе запланированы средства на покрытие возможных убытков бизнеса в течение первых трех месяцев работы с момента открытия.

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

PP = 9 000 000 / 3 000 000 =3 года

Простой срок окупаемости данного проекта равен 3 годам.

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

Пример №2

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

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

Рассмотрим следующую вводную информацию по тому же ресторану:

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

Как рассчитать простой срок окупаемости в Excel

Приведенные выше примеры достаточно просто рассчитать при помощи обычного калькулятора и листа бумаги. Если же данные сложнее – пригодятся таблицы в Excel.

Расчет примера №1

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

Таблица 1: формулы расчета.

Пример расчета простого срока окупаемости в Excel

Таблица 2: результаты вычислений:

Пример расчета простого срока окупаемости в Excel - результаты вычислений

Расчет примера №2

Для более сложного варианта расчета простого срока окупаемости расчет в Excel делается следующим образом:

Таблица 1: формулы расчета.

Пример расчета простого срока окупаемости в Excel - формулы расчета

Таблица 2: результаты вычислений:

Пример расчета простого срока окупаемости в Excel - результаты вычислений

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

Дисконтированный срок окупаемости

Что это такое и для чего он нужен?

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

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

Как рассчитывается дисконтированный срок окупаемости?

Формула расчета будет выглядеть следующим образом:

Формула расчета дисконтированного срока окупаемости

Пример расчета

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

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

Возвращаясь к нашему примеру с рестораном, примем за ставку дисконтирования 10%.

Дисконтированные денежные поступления за 4 года после открытия бизнеса будут равны (по годам):

Год: Расчет дисконтированных денежных поступлений Результат расчета (рублей)
1 3 000 000 / (1+0,1) 2 727 272
2 3 000 000 / (1+0,1) 2 2 479 389
3 3 000 000 / (1+0,1) 3 2 253 944
4 3 000 000 / (1+0,1) 4 2 049 040
Итого: 7 460 605

Сумма денежных поступлений за 3 года в совокупности составит 7 460 605 рублей, что является недостаточным для возврата инвестиций в размере 9 000 000 рублей.

Непокрытая часть составит 1 539 395 рублей. Разделим эту сумму на денежные поступления в 4 году:

1 539 395/2 049 040 = 0,75 года

Таким образом, дисконтированный срок окупаемости данного проекта составит 3,75 года.

Совокупные поступления за 4 года составят 9 509 645 рублей, что позволит вернуть инвестиции и получить чистую прибыль в размере 509 645 рублей.

Как рассчитать дисконтированный срок окупаемости в Excel

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

Для добавим вторую таблицу с расчетом коэффициента дисконтирования, где коэффициент дисконтирования рассчитывается по формуле =СТЕПЕНЬ, которая находится в разделе Формулы-математические формулы-СТЕПЕНЬ.

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

Таблица 3: формулы расчета.

Пример расчета дисконтированного срока окупаемости в Excel - формулы

Таблица 4: результаты вычислений:

Пример расчета дисконтированного срока окупаемости в Excel - результаты вычислений

Другие примеры расчетов простого и дисконтированного срока окупаемости

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

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