Способы ускорения работы учетной модели
Особенностью нашей учетной модели является то, что все заложенные в нее отчеты пересчитываются автоматически при каждом изменении исходных данных. Когда отчетов много, а в реестре хозяйственных операций несколько десятков тысяч строк, такой пересчет может существенно замедлять работу с учетной системой. В результате пользоваться системой становится затруднительно — каждое изменение в исходных данных приводит к паузе продолжительностью в несколько секунд, что может сильно раздражать. К счастью, эта проблема вполне решаема, и мы сейчас рассмотрим несколько способов.
Способ 1. Отключение автоматического пересчета формул
По умолчанию Excel автоматически пересчитывает все формулы в учетной модели после изменения любых данных, которые могут повлиять на результат. Такой вариант отлично работает, когда данных немного, а пересчет занимает считаные доли секунды, но становится несколько обременительным, когда модель разрастается. Поэтому такой пересчет имеет смысл отключить.
В меню формулы есть кнопка «Параметры вычислений», при нажатии на которую выпадают три варианта действий: автоматически; автоматически, кроме таблиц данных; вручную.
По умолчанию установлен вариант «Автоматически». Если включить вариант «Вручную», Excel перестанет пересчитывать формулы при каждом изменении данных. Для такого пересчета придется нажать клавишу F9.
Способ 2. Удаление лишних формул
Наша учетная модель содержит огромное количество формул, многие из которых в определенный момент перестают выполнять какую-либо осмысленную работу. Например, в отчете ОДДС все показатели формируются формулами, и все пересчитываются при пересчете модели. При этом совершенно очевидно, что фактические изменения в данном отчете происходят только в столбце, соответствующем текущему месяцу, так как:
- данные за истекшие месяцы занесены в реестр ранее, отражены в реестре и больше меняться не будут (банковская выписка обычно разносится на следующий день и больше никогда не корректируется);
- данные за будущие месяцы равны нулю до тех пор, пока эти месяцы не начнутся и по ним не станут фиксироваться денежные транзакции.
Чтобы уменьшить объем работы по пересчету формул, можно заменить во всех столбцах всех отчетов, которые гарантированно уже (или еще) не будут пересчитываться, формулы на значения. Для этого необходимо выполнить следующее.
1. Выделить столбцы отчетов, которые не нужно пересчитывать.
2. Нажать Ctrl-C (то есть скопировать в буфер обмена).
3. Не снимая выделения столбцов, скопированных в буфер, вызвать команду меню «Главная» — «Вставить» — «Вставить значения».
Очень важно хотя бы в одном столбце отчета оставить формулы — при необходимости их можно будет скопировать (с помощью стандартной комбинации Ctrl-C — Ctrl-V) в нужные столбцы, и они снова начнут пересчитываться.
Способ 3. Использование макросов
Самый высокотехнологичный способ формирования отчетов — использовать вместо функций макросы, которые будут сканировать реестр и самостоятельно заполнять отчеты соответствующими значениями. Такой способ является более трудоемким по сравнению с использованием функции СУММЕСЛИМН, однако у него есть одно важное преимущество: в макросе можно предусмотреть более сложные алгоритмы расчетов, нежели простое суммирование ячеек реестра при соблюдении определенных требований (например, когда нужно распределять затраты между различными проектами на основе сложных баз распределения).
Двойная запись в Excel
Один из самых распространенных аргументов против ведения управленческого учета в Excel звучит так: в Excel якобы нельзя фиксировать операции методом двойной записи. Из этого бездоказательного утверждения делается вывод, что для управленческого учета Excel категорически не подходит. На самом деле, конечно же, это не так, и мы сейчас это покажем на наглядном примере. А для начала подумаем, что такое двойная запись и как она реализована в специализированных учетных системах (таких как «1С»).
Двойная запись — это способ фиксации хозяйственных операций компании, при котором каждая операция фиксируется по дебету одного и кредиту другого счета. Например, поступление денег от покупателя в оплату отгруженного товара фиксируется так: Д51 К62, начисление затрат на зарплату работников основного производства — Д20 К70, и т. д.
Такое «двойное» отражение операции сразу по двум счетам необходимо для двух вещей.
1. Для минимизации ошибок в учете:гораздо легче выловить ошибку по двум счетам (каждый из которых трактует операцию в своей ипостаси), чем по одному. Допустим, если мы забудем отразить операцию прихода денег от клиента, у нас исказится не только остаток денег на счете, но и сальдо взаиморасчетов с контрагентом. Соответственно, мы сможем выловить ошибку, либо сравнив расчетный остаток на счете с фактическим, либо запросив у клиента акт сверки взаиморасчетов.
2. Для того чтобы у нас всегда шел баланс. Двойная запись является главной причиной того, что актив баланса равен пассиву: если изначально это равенство соблюдалось, то при двойной записи нарушить его невозможно. Все операции при двойной записи можно разделить на четыре группы, которые представлены в табл. 1:
- при операциях 1 и 4 валюта баланса не меняется, так как происходит перераспределение между статьями актива или пассива без изменения их общей суммы;
- при операциях 2 и 3 изменяются актив и пассив, но изменяются одинаково, поэтому валюта баланса остается равной.
Таблица 1. Группы операций при двойной записи
№ | Счет по дебету | Счет по кредиту | Валюта баланса |
Активный | Активный | Не меняется | |
Активный | Пассивный | Увеличивается на сумму операции | |
Пассивный | Активный | Уменьшается на сумму операции | |
Пассивный | Пассивный | Не меняется |
Таким образом, не являясь панацеей (так как в нашей учетной системе, например, двойная запись не используется, но при этом у нас есть возможность формировать отчеты верхнего уровня и любые расшифровки), двойная запись является достаточно полезным механизмом, который вполне может быть задействован в системе управленческого учета на базе Excel. Рассмотрим реализацию двойной записи в Excel на примере.
1. Откроем новую книгу Excel и создадим таблицу(рис. 1). Как видно из заголовка этой таблицы, мы создали реестр хозяйственных операций, который, несмотря на свою простоту, существенно отличается от реестра, с которым мы имели дело ранее. Фактически у всех транзакций реестра всего четыре реквизита: дата, сумма и корреспондирующие счета по дебету и кредиту. Поскольку, как мы отметили ранее, проводки, созданные по методу двойной записи, имеют вид типа Д51 К62, реквизитов, присутствующих в реестре, нам достаточно для того, чтобы фиксировать подобные операции в реестре.
Рисунок 1. Реестр операций по методу двойной записи
2. Занесем в реестр первую операцию.Допустим, 7 мая 2015 года мы выдали нашим сотрудникам зарплату в размере 500 000 рублей. В реестре эта операция будет выглядеть так, как на рис. 2. Все оказалось предельно просто! Двойная запись — это просто структура транзакции, при которой мы фиксируем номера счетов по дебету и кредиту. И, естественно, никаких проблем с реализацией такого механизма в Excel у нас нет. Но просто иметь механизм ввода транзакций недостаточно, нужен механизм вывода отчетов на основе данных реестра — только тогда мы сможем полноценно работать в системе.
Рисунок 2. Транзакция по методу двойной записи
3. Создадим на основе реестра оборотно-сальдовую ведомость.Добавим в нашу книгу новый лист и сделаем на нем форму отчета, как показано на рис. 3. Форма отчета абсолютно стандартна: по всем счетам бухгалтерского учета, которые используются в нашей компании, в отчете отображается начальное сальдо, обороты по дебету и кредиту и конечное сальдо. Сальдо начальное задается вручную. В остальные графы отчета нужно поставить формулы (для первой строки отчета), представленные в табл. 2. Для второй и последующих строк формулы просто копируются из первой строки.
Рисунок 3. Форма оборотно-сальдовой ведомости
Таблица 2. Формулы оборотно-сальдовой ведомости
Графа | Формула |
Дебет | =СУММЕСЛИМН(Реестр! D:D;Реестр! B:B;A4) |
Кредит | =СУММЕСЛИМН(Реестр! D:D;Реестр! C:C;A4) |
Сальдо конечное | =B4 C4-D4 |
Как работают эти формулы? Для каждого номера счета, указанного в столбце, А, хорошо нам знакомая функция СУММЕСЛИМН сканирует реестр хозяйственных операций по столбцу «Счет Дт» или «Счет Кт» и суммирует все транзакции по данному счету. Конечное сальдо вычисляется по формуле:
Конечное сальдо = Начальное сальдо Обороты по дебету — Обороты по кредиту
Транзакция, которую мы занесли в реестр, отобразится в оборотно-сальдовой ведомости так, как это выглядит на рис. 4. Мы видим, что в отчете отобразились обороты по двум счетам учета: 51 и 70, на сумму 500 000 рублей. Суммарные обороты по всем счетам равны по дебету и по кредиту (а другого и быть не может, так как в транзакции всегда участвует два счета), а начальное сальдо равно конечному.
Рисунок 4. Оборотно-сальдовая ведомость с занесенной в реестр операцией
Итак, мы убедились в том, что двойную запись в Excel реализовать достаточно просто. Какой практический смысл может быть в использовании этого механизма в реальных учетных моделях?
Учетная модель, которую мы разбирали в данной главе, является достаточно простой. Поскольку в ней описан учет компании, занятой в сфере услуг, нам не пришлось ломать голову над тем, как лучше организовать учет движения товаров, приобретения материалов, динамики незавершенного производства и т. п. Но, к сожалению, в реальной жизни такие простые случаи встречаются крайне редко, и учетную модель бывает необходимо усложнять, чтобы она учитывала все многообразие ситуаций, с которыми может столкнуться компания. Для этого необходимо добавлять новые аналитические признаки. И как раз в подобных ситуациях нам может быть очень полезно добавить в реестр такие признаки, как счета по дебету и кредиту, чтобы в понятной любому бухгалтеру и экономисту нотации фиксировать операции в учете. И далее формировать баланс и другие отчеты с использованием данных аналитических признаков.
Вторым большим плюсом использования двойной записи по счетам бухучета является возможность выгрузки операций из «1С». Ранее, рассматривая возможность выгрузки денежных операций из «1С», мы уже отмечали, что при использовании в качестве источника информации карточек счетов мы имеем доступ к номерам счетов по дебету и кредиту. В случае с денежными операциями особой нужды в использовании корреспондирующих счетов у нас не было, но если рассмотреть вариант, при котором в реестре фиксируются абсолютно все операции, включая те, которые не попадают ни в ОДДС, ни в ОПУ, в этих случаях информация о корреспондирующих счетах может быть для нас крайне полезна.