Финансовое моделирование в Excel

Текст
Читать фрагмент
Отметить прочитанной
Как читать книгу после покупки
Шрифт:Меньше АаБольше Аа

С чего начать

Многих людей, включая меня, раздражает, когда вместо «спортзал» говорят «фитнес-клуб», вместо «бухучет» – «эккаунтинг». Однако есть случаи, где использование иностранных слов не просто оправданно, но и желательно. К таким случаям относится и работа в Excel. Я настоятельно рекомендую читателям установить англоязычную версию этой программы, потому как написание формул на русском оказывается делом весьма непростым и некоторые функции приобретают довольно экзотичный синтаксис – например, ДВССЫЛ, БЗРАСПИС, ПУО. Сам я использую англоязычную версию, но на всякий случай буду приводить формулы на обоих языках.

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

Выбор версии Excel не принципиален, но ниже 2000-й версии опускаться все же не следует. С точки зрения пользователя-финансиста, она особо ничем не уступает более поздним версиям, кроме единственной, но весьма существенной детали – в Excel 2000 нет функции Break Links (Разрыв связей). Порой при копировании данных из одной книги в другую вы незаметно «тащите» за собой и ссылку на другой источник данных. Если создаваемый вами файл небольшой, то ячейки со ссылками можно найти и вручную. Но с увеличением объема модели сложность поиска увеличивается многократно и становится порой почти неразрешимой задачей. Можно пойти на официальный сайт Microsoft и загрузить себе такую функцию, но неопытный пользователь вряд ли отыщет ее без проблем. Об альтернативном методе решения этой проблемы мы расскажем далее.

Начните работу с активизации дополнительных функций Excel, которые по умолчанию остаются неустановленными, т. к. редко используются обычным пользователем. Например, есть замечательная функция EOMONTH (КОНМЕСЯЦА), которая позволяет быстро прописать временной ряд таким образом, что каждый месяц будет автоматически заканчиваться своим последним днем, т. е., когда надо, будет появляться 31-е число, когда надо – 30-е число, а в феврале будет 28 или 29 дней. Какое это имеет отношение к финансам? Самое прямое! И вы в этом убедитесь, когда речь зайдет об операционных составляющих моделей.

Устанавливаются дополнительные функции просто: на панели инструментов пройдите по пути Tools > Add-Ins (Сервис > Надстройки), а далее устанавливайте все, кроме, пожалуй, пакета для работы с VBA (если вы не собираетесь с ним работать). Это «все» вам, скорее всего, не понадобится в полном объеме, но и мешать не будет.

Еще одна важная деталь: добавьте блок кнопок Formula Auditing (Зависимости) на панель инструментов. Этот блок позволяет быстро находить, откуда в конкретную ячейку пришла ссылка и где данные ячейки используются в дальнейшем. В Excel 2003 такой блок выглядит следующим образом:

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

Оформление

Разве оформление – столь важный вопрос, что с него стоит начинать? Да, гораздо более важный, чем может показаться!

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

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

• Ячейки с внесенными вручную значениями отражаются в модели синим цветом.

• Все вычисляемы значения (т. е. за которыми стоят формулы) показываются черным цветом.

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

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


Зачем все это? Ответ простой: глядя на число в ячейке, вы сразу понимаете, содержится ли в ней вводный параметр (а значит, его можно менять) или же здесь происходят вычисления (значит, здесь ничего менять нельзя, не ломая логику, заложенную в модель) и т. д. Даже в тех моделях, которые сделаны самостоятельно, со временем автор забывает какие-то нюансы, а уж если вы работаете с моделью, сделанной кем-то еще, то ваши муки становятся невыносимыми: где тут вход, где выход, куда вводить данные можно, куда – нельзя? Как раз во избежание таких проблем и существует негласная конвенция между финансистами: давайте облегчим жизнь друг другу и себе, сократив время, убитое на разгребание куч цифр. Отметим единственный недостаток цветовой кодировки: ее всякий раз надо делать вручную, однако результат окупает затраченные на него усилия.

Еще несколько слов о заливке ячеек цветом: чем ее меньше, тем лучше. Коротко и ясно. Вообще-то, это дело вкуса. Можно раскрашивать все в разные цвета, искренне считая, что так будет понятнее и нагляднее, но на самом деле это не помогает. «Индейская» раскраска рабочей страницы ничего, кроме ряби в глазах, не вызывает. Цвет следует использовать лишь для логического подчеркивания перехода от одного блока к другому. Или для временного напоминания самому себе, что к какой-то формуле надо вернуться и отредактировать. Профессионалы поступают следующим образом: те ячейки, в которые должны вноситься вводные параметры, выделяются бледно-желтой заливкой (light yellow – в англоязычной версии Excel).

Границы ячеек: большинству людей комфортнее читать информацию, написанную на листе белой бумаге, а не на странице из школьной тетради в клеточку. Поэтому в большинстве случаев имеет смысл убирать линии и не использовать границы ячеек без действительной в том надобности. Границами удобно выделять ячейку для ввода параметра, итоговые данные большой таблицы, т. е. именно выделять на фоне остального! Словом, это тоже вопрос вкуса. Но, как и в предыдущем случае, чем меньше – тем лучше.

Одна из самых безобразных вещей, которые встречаются в оформлении, – использование десятков столбцов, суженных до миллиметра (в таком виде отчет предлагается, например, правовой базой «КонсультантПлюс»). Выглядит этот кошмар приблизительно так:

Сложно понять, для чего надо использовать так много колонок! Курсор стоит на краю таблицы – обратите внимание, это колонка DC, т. е. она по счету 107-я! А ведь можно было ограничиться пятью. Это вовсе не мнимая проблема, а лишь один из многих вариантов безобразия, с которыми приходится встречаться и работать. Основная проблема заключается в том, что с числовыми значениями в такой таблице практически невозможно проводить какие бы то ни было операции, потому как определить адрес необходимой вам ячейки почти невозможно.

Как удобнее всего отражать числовые значения? Если вы считаете не «до копейки», то денежные числа правильнее всего отражать с одним знаком после запятой (реже – с двумя). Даже если у вас в результате расчетов получаются только нули после запятой, то все равно лучше денежные величины показывать таким образом. Без знаков (почти всегда) следует указывать значения относительно количества людей, единиц техники и т. п. Проценты следует обязательно обозначать знаком процентов. Везде, где возможно, имеет смысл ставить разделитель разрядов (тысячи, миллионы и т. д.).

Все это важно не просто для удобства чтения. Дело в том, что многие страны имеют отличную от нашей систему представления чисел. Жители стран бывшего СССР усвоили из курса начальной школы, что десятичные дроби задаются с помощью запятой. А, скажем, американцы, отделяют десятичную часть с помощью точки, а запятой разделяют каждые три знака слева от запятой. Выражение «пять тысяч и одна десятая» мы напишем как «5000,1» или как «5 000,1», а американцы как «5,000.1». Поскольку финансистам часто приходится иметь дело и с англо-саксонской системой обозначений, то может возникать путаница. Еще раз: если мы хотим задать величину «пять тысяч», то лучше показать ее с одним знаком после запятой, если даже после запятой заведомо будет ноль. Представьте, что вы встречаете в модели величину без десятых, например те же «пять тысяч», написанные «по-американски» – 5,000. Что это: пять тысяч или просто пять и ноль тысячных? Следуя формату «с одной цифрой после запятой», всегда можно будет понять (или хотя бы догадаться), о чем именно идет речь.

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

Небольшой комментарий, не имеющий непосредственного отношения к моделированию, но часто встречающийся при его обсуждении: понятия «процент», «процентный пункт» и «базисный пункт». Из школьного курса мы помним, что процент – это сотая часть числа. Представьте ситуацию: вы говорите, что маржа (рентабельность) составляет 40 % от выручки. Ваш собеседник спрашивает: «Что будет, если маржа вырастет на 10 %?» Что именно он хочет узнать? Если маржа вырастет на 10 % от нынешнего 40 %-ного уровня, то она будет равна 44 %. Но он, как выясняется, имел в виду рост с 40 до 50 %! Но тогда это будут уже не проценты, а процентные пункты! Базисные пункты – сотые доли процента, рост маржи с 40 до 44 % равен росту на 400 базисных пунктов. Не путайте эти три понятия!

 

#ЦИРКУЛЯР! О циклических ссылках

Циклическая ссылка (circular reference) – это почти всегда плохо, т. к. является симптомом ошибки. Самый простой пример: в ячейке A1 вы пишете формулу =A1+B1. Вот вам и циклическая ссылка. Как она получилась? Да по ошибке, никак более! Искать эту ошибку и исправлять – вот и все решение. Excel, кстати, помогает вести такой поиск. Приведенная ошибка очевидна, поэтому ее легко найти, однако бывает, что она спрятана за несколькими уровнями вычислений, и добраться до нее непросто.

А теперь рассмотрим простой пример: фирма продает товар за 100 рублей, причем его полная себестоимость составляет 90. После налога на прибыль остается 7,6 рубля чистой прибыли, которую теперь можно использовать на какие-то интересные нам нужды. Допустим, что в тот же период фирме надо инвестировать 17,6 руб. Что у нас получается? А вот что:

• 7,6 – прибыль;

• (17,6) – инвестиция;

• (10,0) – дефицит, т. е. потребность в привлечении денег.


Финансировать потребность в деньгах можно многими путями, но предположим, что вы решили взять кредит. Кредит – вещь небесплатная, а значит, надо бы заложить в расчет проценты (пусть для простоты это будет ровно 1 рубль). Проценты теперь всей своей суммой уменьшают налогооблагаемую прибыль, т. е. полная себестоимость оказывается не 90 рублей, а 91 рубль. Следовательно, и налог на прибыль будет меньше, а это значит, что изменится чистая прибыль, которую мы уже учли при расчете потребности в кредите. А это значит, что и расчет потребности в кредите был неверен, а раз так, то надо пересчитать и величину процента по кредиту… Такие сложные расчеты в самом элементарном примере! А если ставка изменится, то все заново пересчитывать? Увы и ах!

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

В панели инструментов идем на Tools > Options > Calculations (Сервис > Параметры > Вычисления) и ставим галочку в окошко Iterations (Итерации). Теперь Excel все «черновую» работу по нахождению необходимой суммы кредита выполняет автоматически. По умолчанию приложение готово повторять такой цикл 100 раз – этого обычно хватает. Если модель действительно большая и содержит не одну циклическую ссылку, то бывает, что приходится и увеличивать количество итераций (верхний предел ограничен 10 000).

Признаки хорошей модели. Чего не надо делать никогда

Хорошая модель – это такая модель, которая:

• правильно отражает бизнес-логику и экономику процессов;

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

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


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

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

Основные признаки хорошей модели:

• Блок вводных параметров (inputs) расположен отдельно от страниц расчетов.

• Используется принцип: одна строка – одна формула. Это означает, что в каждой строке модели нужно использовать только одну формулу, чтобы ее можно было легко скопировать из первой до последней ячейки строки простым протягиванием (разумеется, этот принцип не распространяется на итоговый последний столбец, если таковой имеется). Принцип этот должен применяться в 99,9 % случаев, кроме тех очень редких исключений, когда его использование делает формулу строки слишком громоздкой.

• Используется единый формат на всех страницах модели (см. раздел «Оформление»), не используются варианты «индейской» раскраски.

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

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


А теперь немного про то, чего не надо делать никогда.

• Никогда не вставляйте цифры в ячейки с формулами. Этот фокус называется «плаг» (от английского plug – пробка, заглушка, затычка) и используется теми, кто не может свести модель к желаемому результату – например, добиться сбалансированности актива и пассива баланса. Выглядит эта гадость, например, таким образом =A10+B12/B10+2695,874. Это конец! Если вы имеете дело с большой моделью и такой плаг спрятан где-то в ее недрах, то найти его практически невозможно, по крайней мере вручную (про автоматизированный поиск рассказывается в конце третьей части книги). Можно такой плаг убрать «хирургически», просто скопировав формулу из первой ячейки в каждой строке во все ячейки, находящиеся от нее справа. Вставлять плаг означает открывать дорогу последующим проблемам. Самое неприятное с плагами – все они рано или поздно обнаружатся и дадут о себе знать.

• Более изощренный вариант использования плага – внести какое-то «подгоночное» значение в пустую ячейку, изменив цвет шрифта на белый, и уже не число, а ссылку на такую ячейку-невидимку вставить в формулу, значение которой требуется подогнать под желаемое. Найти такую штуковину можно довольно просто – выделите всю страницу, и белые значения ячеек проступят на темном фоне. Найти ее несложно, но ведь надо знать, что бывает и такое!

• Не вставляйте в помесячные данные столбцы с годовыми итогами; это простое правило вытекает из уже озвученного важнейшего правила, которое гласит: «одна строка – одна формула»

• Не пишите длинные названия страниц файла Excel, тем более состоящие из нескольких слов и/или цифр, – при ссылке на данные из этой страницы понять формулу будет решительно невозможно. Например, вместо имени «Годовой отчет по группе за 2007» назовите страницу «ОтчетГруп07».

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

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

• Не удаляйте ни одной ячейки, предварительно не убедившись, что на нее не ссылаются другие ячейки. Это очень просто проверить с помощью блока кнопок «Formula Auditing» (Зависимости) на панели инструментов.

• Отсюда вытекает другое важнейшее правило, которое будет понятнее после прочтения книги: не соединяйте блоки модели большим количеством связей (ссылок), ограничьтесь их минимально необходимым количеством. Это становится очень важным при «вырезании» отдельных блоков, их замене и т. д.

Бесплатный фрагмент закончился. Хотите читать дальше?
Купите 3 книги одновременно и выберите четвёртую в подарок!

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

  1. Нажмите на многоточие
    рядом с книгой
  2. Выберите пункт
    «Добавить в корзину»