Трохи більше про домашню бухгалте́рію


Я колись вже писав про свою домашню бухгалте́рію, та не надто детально. Хочу написати детальніше, як саме воно працює.

Взяв я приклад з попереднього посту і зробив табличку:

Знімок екрану: таблиця в LibreOffice Calc

Ось цей файл: demo.ods, його можна завантажити та відкрити у LibreOffice Calc (або у будь-яких інших електронних таблицях, що підтримують формат OpenDocument), дослідити та поекспериментува́ти. (Далі в тексті я пишу про деякі корисні функції та посила́юся на назви відповідних пунктів меню, як воно зветься у LibreOffice Calc).

Що це, як це працює і навіщо воно таке? Це таблиця, у якій мені зручно фіксувати весь рух своїх коштів. Зібрані дані я можу використовувати для подальшого аналізу і обробки.

Увага! На всяк випадок підкре́слю, що йдеться лише про зручни́й (для ме́не) формат запису фінансових даних і зручні формули до них. Ця таблиця не містить ніякої магії, вона не підклю́читься до вашого банку по інтернету, не ви́качає всі дані про ваші транзакції та не розкладе́ їх по поли́чках. Таку таблицю треба заповнювати самому.

Рахунки

В нас є кілька різних «рахунків» (в широкому сенсі цього слова), і вони відповідають стовпчикам (в цьому прикладі — починаючи від стовпчика E).

Кожен рахунок має свою валюту, але в одній і тій самій валюті може бути кілька різних рахунків.

Наприклад:

  • Стовпчик E: готі́вка в гаманці, гривні;
  • Стовпчик F: зарпла́тна карта (карта для виплат, КДВ), гривні;
  • Стовпчик G: кредитна карта, гривні;
  • Стовпчик H: готі́вка, долари США;
  • Стовпчик I: готі́вка, євро.

Операції

Є рядки з записами операцій. В цьому прикладі записи операцій починаються з рядка номер 5.

Операції можуть бути різних типів: витрати (найпоширеніші), доходи, переміщення коштів між рахунками, обмін валют, позики. Крім типу, може вказуватися підтип; зазвичай це стосується витрат. Набір підтипів витрат нехай кожен придумує собі сам. Про свої категорії я не розповім, принаймні сьогодні :)

Кожна операція стосується відповідних рахунків (одного чи декількох). Комірки з рахунків, які операція не зачіпає, я лишаю порожніми.

Замість традиційного подвійного запису (окремим стовпчиком дебет, окремо кредит) я пишу додатні та від’ємні значення в один і той же стовпчик:

  • Покласти 100 гривень у гаманець — це запис «+100» в відповідному стовпчику;
  • Взяти 100 гривень з гаманця — це запис «-100» у той самий стовпчик.

Зазвичай кожна операція записується одним рядком. Можливі виключення: наприклад, можна записати банківську комісію окремим рядком.

Буває, що я розділя́ю суму одного великого чеку на кілька рядків з різними підти́пами:

  • Омивач скла — «авто»;
  • Шкарпетки — «одяг»;
  • Пральний порошок — «побут»;
  • Все інше — «їжа».

Поточний баланс

Рядок 1 містить поточний баланс. В комірці E1 вказана формула =SUM(E5:E9999), і там відображається баланс після всіх операцій у стовпчику E. Діапазон E5:E9999 означає «від комірки E5 і далі униз, кудись дуже далеко» (і це нормально).

Наступні комірки (F1, G1 та інші) містять аналогічні формули.

Автофільтр

Рядок 4 містить автофільтр. Створити його можна через «Дані → Автофільтр» (Data → AutoFilter).

Завдяки автофільтру можна, наприклад, знайти всі рядки з типом «витрати» (комірка C4):

Знімок екрану: таблиця, застосовано фільтр

Або всі витрати на їжу (комірки C4 та D4):

Знімок екрану: таблиця, застосовано два фільтри

Також можна зручно фільтрувати по даті: наприклад, подивитись всі витрати на їжу за січень.

Підсумок за фільтром

Після застосування автофільтрів значення в рядку 1 не змінюються, бо функція SUM() не залежить від того, які рядки видно, а які відфільтровані.

Натомість рядок 2 відображає суму з урахуванням поточного стану фільтру. Комірка E2 містить формулу =SUBTOTAL(9;E5:E9999), і це означає суму значень діапазону (код функції «9», не питайте), але з використанням тільки з тих рядків, що лишилися видимі після застосування автофільтрів.

Тобто, якщо відфільтрувати витрати на їжу за січень, то в рядку 2 буде сума витрат на їжу за січень (окремо по кожному рахунку).

Деякі дрібниці

Щоб прокрутка таблиці працювала зручним чином, я користуюся функцією «Перегляд → Закріпити рядки і стовпці» (View → Freeze Rows and Columns).

В реальності у вас можуть бути десятки рахунків, з яких часто використовуються лише один-два. Щоб сховати тимчасово непотрібні стовпчики, можна використати функцію групування: «Дані → Групування та структура → Згрупувати…» (Data → Group and Outline → Group…), F12.

Уф-ф-ф

Ну що? Хіба не круто? :) А про зведені таблиці напишу якось іншим разом.

Коментарі пишіть мені у твітер.