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

Вашему вниманию представляем перечень рекомендаций по оформлению вашей финансовой модели, реализованной на базе Microsoft Excel либо Google  Sheets.

Размечайте области вводных данных, области, содержащие формулы и области, заблокированные от ввода

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

В будущем, если вам будет необходимо заблокировать модель и оставить для ввода только соответствующие вводные ячейки – вам будет очень просто расставить (вручную либо автоматически) соответствующую разметку «Unlock».

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

Как правило, у будущих пользователей вашей модели будет часто появляться потребность в распечатке тех или иных листов. Безусловно, далеко не все сводные и расчетные листы возможно сверстать таким образом, что бы они удобно располагались в форматах А3 или А4. Тем не менее, старайтесь делать акценты на наиболее важных данных – вводные листы с наиболее значимыми параметрами и коэффициентами, отчетные листы и промежуточные итоговые значения в расчетных листах. Не забывайте и о колонтитулах – при распечатке всей книги будет очень сложно отделить данных одних листов от других.

Создайте оглавление на первом листе модели, а остальные листы свяжите с оглавлением посредством гиперссылок

Если в вашей модели присутствует более 10-15 листов — хорошим тоном будет создание оглавления с гиперссылками, на котором вы покажете, какие листы присутствуют в модели и какое полное название они имеют. Такой лист позволит пользователю системно взглянуть на модель, понять ее основные блоки и позволит ему легко и быстро перемещаться к нужным листам и обратно. На каждом листе модели стоит сделать кнопку/гиперссылку для возврата в оглавление. Как правило для этого удобна ячейка А1.

Создание оглавления лучше всего реализовать при помощи VBA (Visual Basic for Applications). Поскольку ваша модель в процессе создания будет постоянно изменяться, задача по созданию актуального оглавления будет трудоемкой и рутинной. Процедуру по генерации оглавления лучше привязать к событию перехода на лист. Если модель очень большая, то лучше сделать отдельную кнопку, так как процесс генерации может занимать несколько секунд и это может создавать дискомфорт при каждом открытии листа с оглавлением.

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

К моделям, реализованным в среде MS Excel, применяются все те же правила дизайна и оформления, относящиеся как к web-приложениям, так и к windows-приложениям.

Яркие цвета должны использоваться только для расстановки сильных акцентов. Таких объектов на одной странице может быть не более 3-4. В противном случае лист будет «пестрить» цветами и работать с ним будет не комфортно, внимание будет рассеяно.

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

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

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

Очень удобно, когда название листа однозначно отражает его суть, однако, в моделях с количеством листов более 15-20 становится крайне сложно ориентироваться и перемещаться по такой модели. Решений может быть несколько: можно устанавливать короткие имена, можно использовать порядковые номера #1…#n и выводить их в оглавление, можно создать дополнительную форму на VBA. Старайтесь не использовать пробелы в именах – при использовании VBA вы можете столкнуться с рядом проблем по автоматической обработке этих листов.

Располагайте листы в порядке работы с моделью

Любая модель, в том числе и финансовая, является частным случаем системы, имеющей все классические элементы:

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

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

Старайтесь группировать данные по их сути: отдельно ввод, отдельно расчет, отдельно отчет

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

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

Не забывайте про самоконтроль – всегда вводите контрольные листы, на которых вы сможете проверить себя

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

Используйте функции INDIRECT, V(H)LOOKUP только в случае крайней необходимости

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

При аудите и анализе модели не забывайте пользоваться крайне удобным встроенным механизмом Excel – «Formula Auditing». Отдельного внимания заслуживает функция «Evaluate Formula», позволяющая итеративно анализировать сложные формулы.

Используйте главный принцип работы с базами данных – однократный ввод и многократное использование

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

Не забывайте закреплять области и скрывать неиспользуемые строки и столбцы модели

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

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

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

Если вы используете макросы и скрипты VBA, отражайте процесс работы запускаемых макросов/скриптов VBA

Как правило, VBA используется для автоматизации рутинных операций по обработке объемных массивов данных. Возможны и ситуации, когда вам понадобится проанализировать большой объем данных в нескольких файлах. Такая операция может занять от 2-3 до 20 или более минут. Очень удобно и наглядно, когда процесс работы VBA-скрипта отражается в виде строки состояния или ячейки с выводом объема проделанной работы в процентах. Очень удобно выводить помимо процентов выполнения работы названия этапов обработки данных. Например, Загрузка данных – 1%-100%, Контроль корректности перенесенных данных – 1%-100%, и т.п.

Не забывайте о названиях листов

Как мы обсуждали ранее, в объемных моделях с большим количеством листов пользователю намного проще ориентироваться и перемещаться, работая с оглавлением. Неотъемлемой частью системы навигации по листам является имя и название листа. Даже в том случае, если модель небольшая, и вам не требуется создание оглавления – все равно старайтесь именовать каждый лист модели. Пользователю будет всегда комфортнее работать этими листами, распечатывать и редактировать их. Старайтесь вносить имена листов в одни и те же ячейки листов, например, в ячейку B2. Так, в будущем вам будет проще выполнять какие-либо автоматические функции обработки данных листов.

Не используйте ссылки на другие книги

Очень часто при создании моделей, да и любых Excel-файлов пользователи используют предыдущие наработки. Самая часто встречаемая ошибка – копирование и вставка данных либо листов целиком из ранее созданных файлов. При такой операции в новый файл вставляются ссылки (Links) на книги-источники. При переносе такой новой модели на другой компьютер, не содержащий книги-источники, вы рискуете потерять как вставленные данные, так и перенесенные формулы. Старайтесь полностью контролировать перенос формул и значений, используйте Специальную вставку для значений и формул (Paste Special). Будьте также осторожны при переносе листов, содержащих имена (Names) – в этом случае могут возникать ошибки в формулах, содержащих эти имена.

Если вам необходима работа команды специалистов, лучше все-таки отказаться от функции Shared Workspace

Для работы команды специалистов с одной моделью существует встроенный механизм Excel получения многопользовательского доступа к одному файлу (Shared Workspace). При неактивной работе двух пользователей этот механизм функционирует достаточно стабильно, но если количество пользователей превышает 3-4, а доступ осуществляется к одним листам или ячейкам – гарантировать стабильную и надежную работу невозможно! Используйте все-таки несколько обособленных файлов и консолидируйте данные в них на регулярной основе при помощи VBA. Безусловно, это не самый удобный способ, однако, это относительно надежно в отношении обрабатываемых данных – вы можете отслеживать изменения, а каждый пользователь будет иметь свой обособленный лист или столбец в консолидационном файле.

Если пользователями вашей модели будет обширная аудитория пользователей – блокируйте вашу модель от внесения изменений

Excel обладает прекрасной функциональностью блокировки модели от изменения. Вы можете, заблокировав всю книгу, открывать определенные области для изменения либо ввода данных. Этой функцией крайне удобно пользоваться в двух случаях. Во-первых, если вы создаете законченный «калькулятор» и не планируете внесения изменений в логику его работы (например, ипотечный калькулятор, скоринговые модели и т.д.). И, во-вторых, если вы создаете модель, целью которой будет сбор и дальнейшая обработка полученных данных (например, анкеты, пакеты сбора финансовой отчетности). Не пренебрегайте блокировкой, поскольку конечные пользователи перед отправкой модели вам могут изменять контрольные (например, контроль полноты и корректности заполнения файла) и итоговые значения (например, схождение актива и пассива).

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

Для вводимых значений указывайте валюту ввода, размерность значений и знак

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

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

В рамках всей модели придерживайтесь одного принципа отражения выручки и расходов

В случае если во всех формах ввода расходов вы использовали знак «+», то есть для ввода расходов на заработную плату или аренду помещения пользователь вводил положительные значения, логично отражать расходную часть Отчета о прибылях и убытках также со знаком «+». Единообразие отражения доходов и расходов позволит пользователю модели комфортно переключаться от форм ввода к формам отчетности.

Контролируйте ввод пользовательских значений

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

Оживляйте вашу модель

Создавайте вашу модель живой! Конечно, бизнес-стиль диктует определенные требования к формату, цветам и графике. Тем не менее, используйте ассоциативные картинки и иконки, встроенные шрифты Windings и Webdings для оформления листов (для всевозможных галочек, буллетов и т.д.).

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