Как создать таблицу для инвестиций в Excel: пошаговая инструкция с формулами и примерами

Если вы пытаетесь вручную отслеживать доходность портфеля в блокноте или через скриншоты брокерских отчетов, 80% времени уходит на пересчет процентов и поиск ошибок в расчетах. Таблица в Excel для инвестиций автоматизирует учет покупок/продаж, рассчитывает текущую прибыль, дивидендный доход и IRR (внутреннюю норму доходности) — без необходимости платить за premium-версии трекеров вроде Investing.com или Tinkoff Investments. В этой инструкции разберем, как с нуля создать рабочий шаблон за 20 минут, используя только базовые функции Excel и 3 ключевые формулы.

Главная ошибка новичков — попытка запихнуть все данные в одну таблицу: цены, дивиденды, комиссии и новости по акциям. Это приводит к хаосу уже через месяц. Правильный подход: разделить данные на 4 блока (портфель, сделки, дивиденды, аналитика) и связать их через ВПР или INDEX/MATCH. Мы покажем, как это сделать на примере портфеля из акций, облигаций и ETF, с учетом налогов и комиссий брокера. Все формулы в статье работают в Excel 2016–2023 и Google Sheets.

1. Структура таблицы: какие листы создать и зачем

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

  • 📊 Портфель — текущий состав активов с количеством, средней ценой покупки и текущей стоимостью. Здесь отображается общая доходность.
  • 💰 Сделки — история всех покупок/продаж с датами, ценами и комиссиями. Используется для расчета FIFO (первый пришел — первый ушел).
  • 💵 Дивиденды — выплаты по акциям/ETF с указанием валюты, налога и даты реинвестирования (если применимо).
  • 📈 Аналитика — графики доходности, распределение по секторам и сравнение с бенчмарками (например, индексом S&P 500).

Пример связи между листами: когда вы вводите новую сделку на листе «Сделки», данные автоматически обновляются в «Портфеле» через формулу =СУММЕСЛИМН. Это избавляет от ручного дублирования информации. Для наглядности ниже приведена схема зависимостей:

Лист Данные Формулы для связи Пример использования
Портфель Текущие активы ВПР, СУММЕСЛИМН Автоматический пересчет средней цены покупки при добавлении новой сделки
Сделки История операций ЕСЛИОШИБКА, ИНДЕКС/ПОИСКПОЗ Определение прибыли/убытка при закрытии позиции
Дивиденды Выплаты и налоги СУММ, ДВССЫЛ Расчет годового дохода от дивидендов по каждому активу
⚠️ Внимание: Не используйте объединенные ячейки (функция Объединить и поместить в центре) для заголовков листов. Это ломает сортировку и фильтры, а также усложняет работу с формулами массива. Вместо этого применяйте перенос текста (Alt+Enter) или увеличивайте высоту строки.

2. Лист «Портфель»: формулы для расчета доходности

Это главный лист, где отображается текущее состояние ваших инвестиций. Здесь должны быть столбцы:

  • 📌 Тикер/название актива (например, AAPL, FXRL)
  • 📉 Текущая цена (подтягивается через =GoogleFinance в Google Sheets или вручную в Excel)
  • 🛒 Количество (сумма всех покупок минус продажи)
  • 💲 Средняя цена покупки (рассчитывается как общая сумма покупок / количество)
  • 📈 Текущая стоимость (текущая цена × количество)
  • 💰 Прибыль/убыток (текущая стоимость — сумма вложений)
  • 📊 Доходность, % ((прибыль / сумма вложений) × 100)

Ключевая формула для расчета средней цены покупки (предполагаем, что данные о сделках находятся на листе «Сделки» в диапазоне A2:D100):

=СУММЕСЛИМН(Сделки!C:C; Сделки!A:A; A2; Сделки!B:B; "покупка") /

СУММЕСЛИМН(Сделки!D:D; Сделки!A:A; A2; Сделки!B:B; "покупка") -

СУММЕСЛИМН(Сделки!D:D; Сделки!A:A; A2; Сделки!B:B; "продажа")

Где:

  • Сделки!A:A — столбец с тикерами
  • Сделки!B:B — столбец с типом операции («покупка»/«продажа»)
  • Сделки!C:C — столбец с суммами сделок
  • Сделки!D:D — столбец с количеством бумаг

3. Лист «Сделки»: как учитывать комиссии и налоги

На этом листе фиксируются все операции покупки/продажи. Обязательные столбцы:

  • 📅 Дата (формат ДД.ММ.ГГГГ)
  • 🏷️ Тикер (например, SBER)
  • 🔄 Тип операции («покупка»/«продажа»)
  • 💰 Цена за штуку (в валюте актива)
  • 📦 Количество
  • 💸 Сумма сделки (цена × количество)
  • 🏦 Комиссия брокера (в рублях или %)
  • 📝 Налог (13% от прибыли при продаже)

Формула для расчета чистой прибыли при продаже (с учетом налога и комиссии):

=ЕСЛИ(B2="продажа";

(D2*E2 - СУММЕСЛИМН(Сделки!$F:$F; Сделки!$A:$A; A2; Сделки!$B:$B; "покупка")) *

(1 - $H$1) - G2;

"")

Где:

  • $H$1 — ячейка с налоговой ставкой (например, 0,13 для 13%)
  • G2 — комиссия брокера
  • СУММЕСЛИМН — суммирует затраты на покупку данного актива
⚠️ Внимание: Если вы торгуете на иностранных биржах (например, NYSE или NASDAQ), учитывайте двойное налогообложение: 10–30% у источника выплаты (в США) + 13% в России. Для этого добавьте столбец «Налог у источника» и корректируйте формулу прибыли.

- Все даты в формате ДД.ММ.ГГГГ (не текст!)

- Комиссии указаны со знаком «-»

- Тикер актива совпадает с тикером на листе "Портфель"

- Для дивидендных акций добавлен комментарий в столбце "Примечание"-->

4. Лист «Дивиденды»: автоматический учет выплат

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

  • 📅 Дата выплаты
  • 🏷️ Тикер
  • 💰 Сумма на 1 бумагу (в валюте выплаты)
  • 📦 Количество бумаг (на дату закрытия реестра)
  • 💸 Общая сумма (сумма на 1 бумагу × количество)
  • 🏦 Налог (13% для российских акций, 10–30% для иностранных)
  • 💲 Чистый доход (общая сумма × (1 - налог))

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

=СУММЕСЛИМН(Сделки!$E:$E; Сделки!$A:$A; A2; Сделки!$G:$G; "<="&B2) -

СУММЕСЛИМН(Сделки!$E:$E; Сделки!$A:$A; A2; Сделки!$G:$G; "<"&B2; Сделки!$B:$B; "продажа")

Где B2 — дата выплаты дивидендов, а A2 — тикер актива.

Как учитывать реинвестированные дивиденды (DRIP)

Если вы автоматически покупаете новые акции на дивиденды (например, через брокера Interactive Brokers), добавьте на лист "Сделки" строку с типом операции "реинвест". В столбце "Сумма сделки" укажите 0, а в "Количество" — количество купленных бумаг. Это позволит корректно рассчитывать среднюю цену покупки.

5. Лист «Аналитика»: графики и сравнение с бенчмарками

Визуализация помогает быстро оценить эффективность портфеля. Минимальный набор графиков:

  • 📈 Динамика стоимости портфеля (ежемесячная или поквартальная)
  • 🎯 Распределение по активам (круговая диаграмма: акции, облигации, крипто)
  • 📊 Сравнение с бенчмарком (например, ваш портфель vs. индекс MOEX)
  • 💰 Кумулятивная доходность (нарастающим итогом)

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

  1. Создайте сводную таблицу на основе данных листа «Портфель» (меню Вставка → Сводная таблица).
  2. В строки добавьте дату, в значения — текущую стоимость.
  3. Выделите данные и вставьте график с накоплением (Вставка → График → Линейчатый с накоплением).
  4. Добавьте линию тренда: правый клик по графику → Добавить линию тренда → выберите линейную.

Пример формулы для расчета кумулятивной доходности (предполагаем, что текущая стоимость портфеля в ячейке B2, а начальные вложения — в B1):

=ЕСЛИОШИБКА((B2-$B$1)/$B$1; "")

Линейный (динамика во времени)|Круговая диаграмма (распределение активов)|Гистограмма (сравнение доходности)|Другое-->

6. Автоматизация: как обновлять цены акций без ручного ввода

Ручной ввод цен отнимает время и чреват ошибками. Вот 3 способа автоматизации:

  1. Google Sheets + GoogleFinance

    Используйте функцию =GoogleFinance("TIKER"; "price"). Например, для акций Apple:

    =GoogleFinance("AAPL"; "price")

    Обновляется с задержкой 15–20 минут.

  2. Excel + Power Query

    Подключитесь к API Yahoo Finance или Alpha Vantage через Power Query:

    let
    

    Source = Json.Document(Web.Contents("https://query1.finance.yahoo.com/v8/finance/chart/AAPL")),

    prices = Source[chart][result][0][indicators][quote][0][close]

    in

    prices

  3. Макрос VBA

    Создайте скрипт для парсинга данных с Finviz или Investing.com. Пример кода для получения цены SBER:

    Sub GetStockPrice()
    

    Dim url As String, html As Object, price As String

    url = "https://www.investing.com/equities/sberbank-rts"

    Set html = CreateObject("HTMLFile")

    With CreateObject("MSXML2.XMLHTTP")

    .Open "GET", url, False

    .send

    html.body.innerHTML = .responseText

    End With

    price = html.getElementsByClassName("text-2xl")(0).innerText

    Range("B2").Value = Replace(price, ",", ".")

    End Sub

⚠️ Внимание: При использовании Power Query или VBA убедитесь, что ваш IP не заблокирован на целевом сайте. Многие биржевые ресурсы (например, Yahoo Finance) ограничивают количество запросов с одного IP. Для обхода используйте прокси или уменьшайте частоту обновлений до 1 раза в час.

7. Распространенные ошибки и как их избежать

Даже опытные инвесторы допускают ошибки при ведении таблиц. Вот топ-5 проблем и их решения:

  • 🔢 Несовпадение тикеров

    Если на листе «Портфель» указан SBER, а на листе «Сделки»SBERP, формулы не будут работать. Решение: используйте выпадающий список (меню Данные → Проверка данных) с фиксированным перечнем тикеров.

  • 💱 Игнорирование валютных рисков

    При покупке иностранных активов (например, TSLA в долларах) учитывайте курс рубля на дату сделки. Добавьте столбец «Курс ЦБ» и пересчитывайте стоимость в рублях.

  • 📉 Некорректный расчет средней цены

    Если вы продали часть акций, средняя цена покупки для оставшихся бумаг изменится. Используйте метод FIFO (первый пришел — первый ушел) или LIFO (последний пришел — первый ушел).

  • 📊 Отсутствие резервных копий

    Excel-файлы могут повреждаться. Настройте автосохранение в OneDrive/Google Drive и создавайте ежемесячные копии таблицы.

  • 💻 Слишком сложные формулы

    Избегайте вложенных ЕСЛИ глубиной более 3 уровней. Разбивайте логику на промежуточные столбцы.

8. Готовые шаблоны и альтернативы Excel

Если нет времени создавать таблицу с нуля, воспользуйтесь готовыми решениями:

  • 📄 Шаблон от Tinkoff Investments

    Бесплатная таблица с автоматическим подтягиванием цен акций и облигаций. Скачать можно здесь.

  • 📊 Google Sheets + Tiller Money

    Плагин для автоматического импорта транзакций с брокерских счетов. Стоимость: $79/год.

  • 💻 Notion + API брокера

    Подходит для визуального трекинга. Пример шаблона: Investment Tracker.

  • 📈 Portfolio Visualizer

    Онлайн-сервис для бэктестинга портфеля. Бесплатная версия позволяет анализировать до 25 активов.

Если вы предпочитаете Google Sheets, импортируйте данные из Excel через Файл → Импорт → Загрузить → Выбрать файл Excel. Все формулы сохранятся, но проверьте ссылки на листы (в Google Sheets они обозначаются как 'Лист1'!A1, а не Лист1!A1).

Как перенести таблицу из Excel в Google Sheets без ошибок

1. В Excel сохраните файл в формате .xlsx.

2. В Google Sheets выберите Файл → Импорт → Загрузить → Выбрать файл.

3. Укажите опцию "Заменить данные" для каждого листа.

4. Проверьте формулы с ВПР — в Google Sheets они могут требовать точного совпадения (параметр 0 в конце).

FAQ: Ответы на частые вопросы

🔹 Как учитывать комиссии брокера при покупке/продаже?

Добавьте отдельный столбец «Комиссия» на лист «Сделки» и включайте ее в расчет средней цены покупки. Например, если вы купили акцию за 100₽ + комиссия 5₽, сумма вложений составит 105₽. Формула средней цены:

= (СУММА_СДЕЛОК + СУММА_КОМИССИЙ) / КОЛИЧЕСТВО_БУМАГ
🔹 Можно ли в Excel рассчитать IRR (внутреннюю норму доходности) для портфеля?

Да, используйте функцию =ЧИСТВНДОХ (XIRR в английской версии). Пример:

=ЧИСТВНДОХ(B2:B10; A2:A10)

Где B2:B10 — денежные потоки (вложения со знаком «-», выводы со знаком «+»), а A2:A10 — соответствующие даты.

🔹 Как учитывать дивиденды в расчете общей доходности?

Дивиденды увеличивают ваш внутренний доход, даже если вы их не продаете. Добавьте их как положительный денежный поток в расчет IRR или как отдельную строку в листе «Аналитика». Например:

= (Текущая_стоимость_портфеля + Сумма_дивидендов - Начальные_вложения) / Начальные_вложения
🔹 Что делать, если формулы перестают работать после обновления Excel?

Чаще всего это связано с изменением синтаксиса функций. Проверьте:

  1. Замену ; на , в формулах (зависит от региональных настроек).
  2. Обновление ссылок на листы (например, Лист1 мог быть переименован).
  3. Наличие скрытых символов в ячейках (используйте =ЧИСТ для очистки).

Если проблема остается, экспортируйте данные в Google Sheets и проверьте формулы там.

🔹 Как экспортировать данные из таблицы в налоговую декларацию?

Для декларации 3-НДФЛ потребуются:

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

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