Как в Excel получить актуальный курс доллара на сегодня: 5 проверенных способов

Зачем в Excel нужен актуальный курс доллара и как его правильно обновить

Работа с валютными курсами в Microsoft Excel — одна из самых востребованных задач для финансовых аналитиков, бухгалтеров и предпринимателей. Ежедневные колебания курса доллара напрямую влияют на расчёты стоимости импортных товаров, конвертацию валют в отчётности или анализ инвестиционных портфелей. Однако вручную обновлять курс каждый день — неэффективно и чревато ошибками.

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

Способ 1: Ручной ввод курса с сайта ЦБ РФ — самый простой, но неавтоматизированный

Если вам нужно однократно вставить курс доллара без автоматизации, самый надёжный источник — официальный сайт Центробанка России. Данные там обновляются ежедневно и считаются эталонными для бухгалтерской отчётности.

Как это сделать:

  • 🌐 Перейдите на страницу «Курсы валют на сегодня».
  • 🔍 Найдите строку с USD (доллар США) — курс указан в колонке Курс.
  • 📋 Скопируйте значение (например, 92,4567) и вставьте в нужную ячейку Excel.
  • 📊 При необходимости отформатируйте ячейку как Числовой формат с 4 знаками после запятой.

⚠️ Внимание: Курс на сайте ЦБ обновляется раз в день (обычно к 11:30 по московскому времени). Если вам нужны данные в реальном времени (например, для трейдинга), используйте альтернативные источники из следующих разделов.

📊 Как часто вам нужно обновлять курс доллара в Excel?
Ежедневно
Раз в неделю
Один раз в месяц
Только для отчётности
Другой вариант

Способ 2: Формула WEBSERVICE + FILTERXML — автоматическое подтягивание курса из ЦБ

Для пользователей Excel 2013 и новее (а также Excel 365) доступна функция WEBSERVICE, которая позволяет загружать данные прямо с сайта ЦБ РФ без макросов. Этот метод требует минимальных знаний формул, но работает стабильно.

Инструкция:

  1. В любой ячейке (например, A1) введите формулу:
    =WEBSERVICE("https://www.cbr.ru/scripts/XML_daily.asp")

    Она вернёт XML-код с курсами всех валют.

  2. В другой ячейке (например, B1) используйте FILTERXML, чтобы вытащить курс доллара:
    =FILTERXML(A1,"//Valute[CharCode='USD']/Value")

    Замените запятую на точку с запятой (;), если у вас русская версия Excel.

  3. Нажмите Enter — в ячейке B1 появится актуальный курс.

Чтобы курс обновлялся автоматически, перейдите в Данные → Запросить данные → Свойства и установите Обновлять каждые (например, 60 минут).

Убедитесь, что у вас Excel 2013 или новее

Включите надстройку "Power Query" (если требуется)

Проверьте подключение к интернету

Отключите блокировщики рекламы (они могут мешать загрузке XML)-->

Преимущества метода Недостатки метода
✅ Не требует макросов или VBA ❌ Работает только в новых версиях Excel
✅ Данные берутся с официального источника ❌ При изменении структуры XML на сайте ЦБ формула сломается
✅ Можно настроить автоматическое обновление ❌ Требует подключения к интернету

Способ 3: Power Query — импорт курса доллара с преобразованием данных

Power Query (или Get & Transform в новых версиях Excel) — это мощный инструмент для импорта и обработки данных. С его помощью можно одним кликом подтянуть курс доллара и автоматически обновлять его.

Пошаговая инструкция:

  1. Перейдите на вкладку ДанныеПолучить данныеИз других источниковИз интернета.
  2. Вставьте URL:
    https://www.cbr.ru/scripts/XML_daily.asp

    и нажмите OK.

  3. В открывшемся окне Power Query нажмите Преобразовать данные.
  4. Разверните столбец Valute, затем разверните Valute.CharCode и Valute.Value.
  5. Отфильтруйте строку с USD и оставьте только столбец Value.
  6. Нажмите Закрыть и загрузить — курс доллара появится на новом листе.

⚠️ Внимание: Если при импорте возникает ошибка "Не удалось загрузить данные", проверьте настройки прокси-сервера или временно отключите VPN. Также убедитесь, что в Параметрах Excel разрешён доступ к интернет-ресурсам (Файл → Параметры → Центр управления безопасностью → Параметры центра управления безопасностью → Внешнее содержимое → Включить все источники данных).

Способ 4: Макрос VBA — автоматическое обновление курса по расписанию

Если вам нужно обновлять курс доллара по расписанию (например, каждый час) или интегрировать его в сложные расчёты, лучший вариант — написать макрос на VBA. Этот метод подходит для Excel 2010 и новее.

Пример кода для вставки курса доллара:

Sub GetUSDRate()

Dim xmlHttp As Object

Dim url As String

Dim response As String

Dim usdRate As String

' Создаём объект для HTTP-запроса

Set xmlHttp = CreateObject("MSXML2.XMLHTTP")

url = "https://www.cbr.ru/scripts/XML_daily.asp"

' Отправляем запрос

xmlHttp.Open "GET", url, False

xmlHttp.Send

' Парсим ответ

response = xmlHttp.responseText

usdRate = Mid(response, InStr(response, "USD") + 25)

usdRate = Mid(usdRate, InStr(usdRate, "") + 7)

usdRate = Left(usdRate, InStr(usdRate, "") - 1)

usdRate = Replace(usdRate, ",", ".")

' Вставляем курс в ячейку A1

Range("A1").Value = usdRate

' Форматируем как число

Range("A1").NumberFormat = "0.0000"

End Sub

Как использовать:

  • 📁 Нажмите Alt + F11, чтобы открыть редактор VBA.
  • 📝 Вставьте код выше в новый модуль (Insert → Module).
  • ▶️ Запустите макрос кнопкой F5 или через Макросы в Excel.
  • ⏰ Чтобы настроить автоматическое обновление, используйте Application.OnTime (пример в спойлере ниже).
Как запускать макрос по расписанию?

Чтобы макрос GetUSDRate выполнялся, например, каждый час, добавьте в модуль следующий код:

Sub ScheduleMacro()

Application.OnTime Now + TimeValue("01:00:00"), "GetUSDRate"

Application.OnTime Now + TimeValue("01:00:00"), "ScheduleMacro"

End Sub

Запустите ScheduleMacro один раз — и макрос будет выполняться автоматически. Чтобы остановить обновление, используйте Application.OnTime Now + TimeValue("01:00:00"), "GetUSDRate", , False.

Способ 5: Альтернативные источники — API и онлайн-сервисы для реального времени

Если курс ЦБ вас не устраивает (например, из-за задержки обновлений), можно использовать API внешних сервисов, которые предоставляют данные в реальном времени. Популярные варианты:

  • 💰 ExchangeRate-API — бесплатный тариф до 1500 запросов/месяц.
  • 📊 Alpha Vantage — курсы Forex с обновлением каждую минуту.
  • 🌍 Open Exchange Rates — платный сервис с высокой точностью.

Пример формулы для ExchangeRate-API (потребуется бесплатный ключ API):

=WEBSERVICE("https://v6.exchangerate-api.com/v6/ВАШ_КЛЮЧ_API/latest/USD")

Затем используйте FILTERXML, чтобы вытащить курс рубля (RUB).

Сравнение всех способов: какой выбрать для ваших задач

Выбор метода зависит от ваших целей, версии Excel и требований к актуальности данных. Ниже — сравнительная таблица, которая поможет определиться.

Метод Сложность Автоматизация Актуальность данных Подходит для
Ручной ввод с сайта ЦБ ❌ Нет Курс на конец дня Разовые расчёты, отчётность
WEBSERVICE + FILTERXML ⭐⭐ ✅ Да (настройка обновления) Курс ЦБ, 1 раз в день Регулярные обновления без макросов
Power Query ⭐⭐⭐ ✅ Да Курс ЦБ, 1 раз в день Сложные отчёты, обработка данных
Макрос VBA ⭐⭐⭐⭐ ✅ Да (по расписанию) Курс ЦБ, 1 раз в день Автоматизация, интеграция в системы
API внешних сервисов ⭐⭐⭐ ✅ Да Реальное время (каждую минуту) Трейдинг, аналитика, высокочастотные обновления

⚠️ Внимание: Если вы работаете с бухгалтерской отчётностью, используйте только данные ЦБ РФ — другие источники могут не соответствовать требованиям налоговых органов. Для трейдинга или аналитики лучше подойдут API с обновлением в реальном времени.

FAQ: Частые вопросы по работе с курсом доллара в Excel

Можно ли получить курс доллара в Excel на мобильном телефоне?

В мобильной версии Excel (Android/iOS) функции WEBSERVICE и FILTERXML не работают. Альтернативные варианты:

  • Используйте Google Таблицы с функцией =IMPORTXML.
  • Вручную скопируйте курс с сайта ЦБ и вставьте в Excel.
  • Настройте автоматическое обновление на ПК, а затем откройте файл на телефоне.
Почему формула WEBSERVICE возвращает ошибку #ЗНАЧ?

Ошибка #ЗНАЧ! в WEBSERVICE возникает по следующим причинам:

  • 🔌 Нет подключения к интернету.
  • 🛡️ Блокировщик рекламы или фаервол блокирует запрос.
  • 📅 У вас Excel 2010 или старше (функция недоступна).
  • 🔒 В настройках Excel отключён доступ к внешним данным (Файл → Параметры → Центр управления безопасностью → Параметры → Внешнее содержимое).

Решение: проверьте подключение, отключите VPN/блокировщики и обновите Excel.

Как в Excel перевести рубли в доллары по актуальному курсу?

Предположим, курс доллара находится в ячейке A1, а сумма в рублях — в B1. Формула для конвертации:

=B1/A1

Пример: если в A1 курс 92,50, а в B1 сумма 10000, результат будет 108,11 (долларов).

⚠️ Не забудьте отформатировать ячейку с результатом как Числовой формат с 2 знаками после запятой.

Можно ли получить курс доллара на конкретную дату (не сегодня)?

Да, для этого используйте архив курсов ЦБ. Формула для WEBSERVICE с указанием даты (формат DD/MM/YYYY):

=FILTERXML(WEBSERVICE("https://www.cbr.ru/scripts/XML_daily.asp?date_req=" & TEXT(DATE(2026;5;15);"DD/MM/YYYY"));"//Valute[CharCode='USD']/Value")

Замените DATE(2026;5;15) на нужную дату. Обратите внимание: курс доступен только за рабочие дни (в выходные данные не обновляются).

Как защитить ячейку с курсом доллара от случайных изменений?

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

  1. Выделите ячейку (например, A1).
  2. Нажмите правой кнопкой → Формат ячеек → вкладка Защита → снимите галочку Защищаемая ячейка.
  3. Перейдите в Рецензирование → Защитить лист и установите пароль.

Теперь ячейка будет защищена от изменений, но формула продолжит работать.