Введение: зачем в Excel нужны котировки акций?
Работа с финансовыми данными в Microsoft Excel — это не только ручной ввод чисел. Современные инструменты позволяют автоматически подгружать котировки акций, валютные курсы и даже криптовалюты прямо в таблицы. Это удобно для трейдеров, аналитиков и частных инвесторов, которые хотят отслеживать портфель в реальном времени, строить графики или рассчитывать доходность без переключения между программами.
В этой статье разберём 5 проверенных способов вставить курс акций в Excel — от простых функций до продвинутых инструментов вроде Power Query. Все методы актуальны для Excel 2019–2026 и Microsoft 365, а также работают с большинством биржевых инструментов: акциями S&P 500, NASDAQ, MOEX и другими. Вы узнаете, как обновить данные в один клик, настроить автоматическое обновление и избежать типичных ошибок при импорте.
⚠️ Важно: Не все методы поддерживают российские акции (например, Газпром или Сбербанк) из-за санкционных ограничений. Для MOEX потребуются альтернативные источники данных — их мы тоже рассмотрим.
Способ 1: Встроенная функция СТОКИ() (Stocks) в Excel 365
Самый простой способ — использовать встроенную функцию =СТОКИ() (в английской версии — =STOCKHISTORY()). Она доступна только в Excel для Microsoft 365 (начиная с версии 2208) и позволяет подгружать исторические данные или текущие котировки.
Функция поддерживает два режима:
- 📊 Текущая цена:
=СТОКИ("GAZP"; "Цена")— вернёт последнюю известную цену акции Газпрома (если тикер поддерживается). - 📈 История за период:
=СТОКИ("AAPL"; "Цена"; "01.01.2026"; "31.03.2026")— выведет цены Apple за 1 квартал 2026 года.
⚠️ Внимание: Функция СТОКИ() работает только с тикерами, которые распознаёт Microsoft. Для российских акций может потребоваться указать биржевой код в формате MOEX:GAZP или RU0009062287 (ISIN). Если функция возвращает ошибку #Н/Д, попробуйте альтернативные источники из следующих способов.
Пример использования:
| Тикер | Формула | Результат |
|---|---|---|
| Apple (AAPL) | =СТОКИ("AAPL"; "Цена") | 182,45 USD |
| Газпром (GAZP) | =СТОКИ("MOEX:GAZP"; "Цена") | #Н/Д (требуется VPN) |
| Биткоин (BTC-USD) | =СТОКИ("BTC-USD"; "Цена") | 63 450,20 USD |
Какие данные можно получить через СТОКИ()?
Функция поддерживает следующие параметры:
- "Цена" — текущая цена.
- "Объём" — объём торгов.
- "Максимум" / "Минимум" — экстремумы за день.
- "Дата" — последняя дата обновления.
- "Изменение" — разница с предыдущим закрытием.
Для исторических данных добавьте даты начала и конца периода, а также (опционально) частоту: "Д" (дневная), "Н" (недельная), "М" (месячная).
Способ 2: Импорт данных из Yahoo Finance через Power Query
Power Query — это мощный инструмент Excel для импорта и преобразования данных. С его помощью можно подгрузить котировки с Yahoo Finance, Google Finance или других финансовых порталов, даже если они не поддерживаются функцией СТОКИ().
Алгоритм действий:
- Перейдите на вкладку
Данные → Получить данные → Из других источников → Из интернета. - Вставьте URL вида:
https://query1.finance.yahoo.com/v8/finance/chart/AAPL?interval=1d(замените
AAPLна нужный тикер). - Нажмите
OK, затем выберите форматJSONи преобразуйте данные в таблицу. - В редакторе Power Query оставьте только нужные столбцы (например,
closeдля цены закрытия).
⚠️ Внимание: Yahoo Finance может блокировать частые запросы с одного IP. Если данные не подгружаются, используйте Google Sheets как промежуточный источник (см. Способ 4) или настройте API-ключ.
Установить последнюю версию Excel (2019+)|Проверить подключение к интернету|Подготовить список тикеров в отдельном столбце|Создать резервную копию файла
-->
Пример URL для разных бирж:
| Биржа | Формат тикера | Пример URL |
|---|---|---|
| NASDAQ/NYSE | AAPL, MSFT | https://query1.finance.yahoo.com/v8/finance/chart/AAPL |
| MOEX | GAZP.ME, SBER.ME | https://query1.finance.yahoo.com/v8/finance/chart/GAZP.ME |
| Криптовалюты | BTC-USD, ETH-USD | https://query1.finance.yahoo.com/v8/finance/chart/BTC-USD |
Yahoo Finance|Google Finance|Power Query с API|Ручной ввод|Другой
-->
Способ 3: Использование Google Finance и функции ИМПОРТДАННЫХ()
Если у вас есть доступ к Google Sheets, можно использовать функцию =GOOGLEFINANCE(), а затем импортировать данные в Excel. Этот метод подходит для пользователей, у которых нет Excel 365 или возникли проблемы с Yahoo Finance.
Шаги:
- Создайте новый лист в Google Sheets.
- Введите формулу:
=GOOGLEFINANCE("NASDAQ:AAPL"; "price")или для исторических данных:
=GOOGLEFINANCE("AAPL"; "price"; "01/01/2026"; "31/03/2026"; "DAILY") - Скопируйте данные и вставьте их в Excel (или экспортируйте в формате
.csv).
✅ Плюсы: Google Finance поддерживает больше тикеров, включая российские акции (например, "MOEX:GAZP").
❌ Минусы: Данные обновляются с задержкой (до 20 минут), и для автоматического импорта в Excel потребуется Power Query.
- "volume" — объём торгов,
- "high"/"low" — максимум/минимум за день,
- "marketcap" — капитализация компании.
-->
Способ 4: Подключение к API биржи через Power Query (для продвинутых)
Для профессионалов, которым нужны данные в реальном времени, подойдёт прямое подключение к API биржи. Многие платформы (например, Alpha Vantage, Twelve Data) предоставляют бесплатные ключи для тестирования.
Инструкция:
- Зарегистрируйтесь на Alpha Vantage и получите бесплатный
API-ключ. - В Excel перейдите в
Данные → Получить данные → Из других источников → Из интернета. - Вставьте URL вида:
https://www.alphavantage.co/query?function=TIME_SERIES_DAILY&symbol=AAPL&apikey=ВАШ_КЛЮЧ - Преобразуйте ответ
JSONв таблицу и оставьте нужные столбцы.
⚠️ Внимание: Бесплатные API-ключи имеют ограничения (например, 5 запросов в минуту). Для частого обновления данных потребуется платная подписка.
=ВЕБЗАПРОС("https://api.site.com/data?key=" & A1), где в A1 хранится ключ.
-->
Сравнение бесплатных API для котировок:
| Сервис | Лимит запросов | Поддерживаемые биржи | Реальное время? |
|---|---|---|---|
| Alpha Vantage | 5/мин | NYSE, NASDAQ, MOEX (частично) | Задержка 15 мин |
| Twelve Data | 8/мин | 100+ бирж, включая крипту | Да (премиум) |
| Yahoo Finance | 2000/день | Большинство, но без гарантий | Нет |
Способ 5: Ручной ввод и обновление через Macro (VBA)
Если автоматические методы не подходят (например, из-за блокировок или отсутствия интернета), можно написать VBA-скрипт для парсинга данных с финансовых сайтов. Этот способ требует базовых знаний программирования, но даёт полный контроль над источниками.
Пример кода для подгрузки курса Доллар/Рубль с сайта ЦБ РФ:
Sub GetUSDRate()
Dim http As Object, html As String, rate As String
Set http = CreateObject("MSXML2.XMLHTTP")
http.Open "GET", "https://www.cbr.ru/scripts/XML_daily.asp", False
http.send
html = http.responseText
rate = Split(Split(html, "")(1), "")(0)
rate = Replace(rate, ",", ".")
Sheets("Лист1").Range("A1").Value = "Курс USD: " & rate & " RUB"
End Sub
⚠️ Внимание: Парсинг данных с сайтов может нарушать их пользовательское соглашение. Всегда проверяйте разрешение на автоматический сбор данных. Для легального использования лучше подключаться к официальным API.
Как запустить макрос?
1. Нажмите Alt + F11, чтобы открыть редактор VBA.
2. Вставьте код в новый модуль (Insert → Module).
3. Вернитесь в Excel и нажмите Alt + F8, выберите макрос GetUSDRate и нажмите Выполнить.
Типичные ошибки и как их исправить
При работе с котировками в Excel пользователи часто сталкиваются с типичными проблемами. Вот самые распространённые и способы их решения:
- 🔄 Ошибка
#Н/Дв функцииСТОКИ():Причина: Microsoft не распознаёт тикер. Решение: проверьте правильность написания (например,
MOEX:GAZPвместоGAZP) или используйте альтернативный источник. - 🌐 Power Query не подгружает данные:
Причина: блокировка Yahoo Finance или отсутствие интернета. Решение: попробуйте другой API (например, Alpha Vantage) или настройте VPN.
- ⏳ Данные не обновляются автоматически:
Причина: отключено фоновое обновление. Решение: перейдите в
Данные → Свойства соединения → Обновлять каждые X минут.
Критическая информация: Если вы работаете с российскими акциями через Yahoo Finance или Google Finance, добавьте суффикс .ME к тикеру (например, SBER.ME вместо SBER). Без этого система не распознает инструмент.
- Актуальность источника (некоторые API обновляются с задержкой).
- Лимиты на запросы (бесплатные тарифы часто ограничены).
- Легальность парсинга (не все сайты разрешают автоматический сбор данных).
-->
FAQ: Частые вопросы по работе с котировками в Excel
Можно ли вставить в Excel курс акций с Московской биржи (MOEX)?
Да, но с оговорками. Встроенная функция СТОКИ() может не поддерживать российские тикеры. Альтернативы:
- Используйте Yahoo Finance с суффиксом
.ME(например,GAZP.ME). - Подключитесь к API MOEX через Power Query (требуется регистрация на iss.moex.com).
- Импортируйте данные из Google Sheets с функцией
GOOGLEFINANCE("MOEX:GAZP").
Как настроить автоматическое обновление котировок?
Для автоматического обновления:
- Перейдите в
Данные → Свойства соединения. - Установите флажок
Обновлять при открытии файла. - Задайте интервал обновления (например, каждые 30 минут).
⚠️ Для Power Query или API может потребоваться включить фоновое обновление в настройках Excel (Файл → Параметры → Данные → Фоновое обновление).
Почему в Excel отображаются котировки с задержкой?
Задержка зависит от источника:
- Yahoo Finance и Google Finance обновляют данные с задержкой 15–20 минут.
- Бесплатные API (например, Alpha Vantage) также имеют lag.
- Для данных в реальном времени потребуется платный API (например, Twelve Data Premium).
Если критична актуальность, рассмотрите подключение к брокерскому API (например, Interactive Brokers или Tinkoff API).
Можно ли в Excel построить график изменения котировок?
Да! После импорта данных:
- Выделите столбцы с датами и ценами.
- Перейдите на вкладку
Вставка → График → ЛинейчатыйилиС областями. - Настройте оси: по
X— даты, поY— цены.
Для анализа трендов добавьте линию тренда (Щелчок ПКМ по графику → Добавить линию тренда) или скользящее среднее.
Как в Excel рассчитать доходность портфеля акций?
Используйте формулу:
=((Текущая_цена - Цена_покупки) / Цена_покупки) * 100
Для портфеля из нескольких акций:
- Создайте таблицу с столбцами:
Тикер,Количество,Цена покупки,Текущая цена. - Добавьте столбец
Стоимость покупки(=Количество * Цена_покупки). - Добавьте столбец
Текущая стоимость(=Количество * Текущая_цена). - Рассчитайте общую доходность:
=(СУММ(Текущая_стоимость) - СУММ(Стоимость_покупки)) / СУММ(Стоимость_покупки) * 100.