Если вы пытаетесь вручную отслеживать доходность портфеля в блокноте или через скриншоты брокерских отчетов, 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)
- 💰 Кумулятивная доходность (нарастающим итогом)
Для построения графика динамики портфеля:
- Создайте сводную таблицу на основе данных листа «Портфель» (меню
Вставка → Сводная таблица). - В строки добавьте дату, в значения — текущую стоимость.
- Выделите данные и вставьте график с накоплением (
Вставка → График → Линейчатый с накоплением). - Добавьте линию тренда: правый клик по графику →
Добавить линию тренда→ выберите линейную.
Пример формулы для расчета кумулятивной доходности (предполагаем, что текущая стоимость портфеля в ячейке B2, а начальные вложения — в B1):
=ЕСЛИОШИБКА((B2-$B$1)/$B$1; "")
Линейный (динамика во времени)|Круговая диаграмма (распределение активов)|Гистограмма (сравнение доходности)|Другое-->
6. Автоматизация: как обновлять цены акций без ручного ввода
Ручной ввод цен отнимает время и чреват ошибками. Вот 3 способа автоматизации:
- Google Sheets + GoogleFinance
Используйте функцию
=GoogleFinance("TIKER"; "price"). Например, для акций Apple:=GoogleFinance("AAPL"; "price")Обновляется с задержкой 15–20 минут.
- Excel + Power Query
Подключитесь к API Yahoo Finance или Alpha Vantage через
Power Query:letSource = Json.Document(Web.Contents("https://query1.finance.yahoo.com/v8/finance/chart/AAPL")),
prices = Source[chart][result][0][indicators][quote][0][close]
in
prices
- Макрос 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мог быть переименован). - Наличие скрытых символов в ячейках (используйте
=ЧИСТдля очистки).
Если проблема остается, экспортируйте данные в Google Sheets и проверьте формулы там.
🔹 Как экспортировать данные из таблицы в налоговую декларацию?
Для декларации 3-НДФЛ потребуются:
- Суммарная прибыль от продажи ценных бумаг (лист «Сделки», фильтр по типу «продажа»).
- Сумма уплаченных дивидендов (лист «Дивиденды»).
- Комиссии брокера (можно вычесть из налоговой базы).
Используйте сводную таблицу для группировки данных по годам.