Получить обменный курс валюты
С помощью типа данных Валюты можно легко получить и сравнить обменные курсы по всему миру. В этой статье вы узнаете, как вводить пары валют, преобразовывать их в тип данных и извлекать дополнительные сведения для надежных данных.

Примечание: Валютные пары доступны только для Microsoft 365 (клиенты с несколькими клиентами по всему миру).
Использование типа данных «Валюты» для расчета обменных курсов
- Введите валютную пару в ячейку, используя такой формат: Из валюты / В валюту с кодами валют ISO.

Если Excel обнаружит совпадение между валютной парой и поставщиком данных, текст преобразуется в тип данных, а в ячейке значок Валюты.

Примечание: Если в ячейке вместо значка Валюты, Excel затруднение при совпадении текста с данными. Исправь все ошибки и нажмите ввод, чтобы повторить попытку. Можно также выбрать значок, чтобы открыть селектор данных, в котором можно найти валютную пару или указать нужные данные.

Внимание: Сведения о валюте предоставляются «как есть» и могут быть задержаны. Поэтому эти данные не следует использовать в целях торговли или советов. Дополнительные сведения см. всведениях об источниках данных.
Импорт курсов валюты в Excel
Для кого-то сайт cbr.ru ничего не говорит, а кто-то заходит туда каждый день и не раз. Для того чтобы импорт курса валюты на любую дату занимал у вас максимум секунд 10 создан данный макрос.
Описание работы

Один из самых эффективных способов вставить курс валюты с сайта ЦБ в ячейку Excel — использовать надстройку с макросом. После установки программы VBA-Excel у вас появится новая вкладка на ленте с командой вызова функции Курс валюты.
Эта команда открывает удобную форму для импорта курса на заданную дату.

Выбор даты импорта
На форме имеется встроенный календарь для выбора даты на которую импортируется курс валюты. По умолчанию выбрана текущая дата.
Установить текущую дату можно также нажав на кнопку Сегодня в календаре
Выбор валюты
Далее необходимо указать курс какой валюты необходимо импортировать. Для этого кликните по нужной строке в списке.
Для выбора доступны все валюты с сайта ЦБ РФ. Для удобства самые популярные курсы доллара и евро вынесены в начало списка. Остальные отсортированы по алфавиту.
Выбор единицы расчета
Обратите внимание, что не все курсы валют берутся из расчета за 1 единицу. Например, для Армянских драммов расчет ведется за 100 единиц. Если необходимо, чтобы курс вставлялся за 1 единицу, то установите опцию В расчете за 1 единицу валюты в нижнем левом углу.
Тип вставки
Если вы не планируете обновлять курс валюты в дальнейшем, то советую вставлять курс валюты «текстом» тогда Excel не будет обращаться к сайту ЦБ для обновления данных. Для этого нажмите кнопку Вставка текстом.
Если вы хотите периодически обновлять курс (например на текущую дату), то используйте кнопку Вставить формулой. В этом случае в выбранную ячейку вставится функция КУРС с установленными параметрами.
Использовать функцию КУРС
Вставить курс валюты Вызвать функцию можно с помощью функции. Использовать ее можно так же как и любую другую встроенную в Excel — просто введите в ячейку =КУРС([Дата]; [ВАЛЮТА]; [ За1ед ]).
- [Дата] — Дата, на которую необходимо определить валюту. По умолчанию текущая дата.
- [ВАЛЮТА] — Текст, определяющий код валюты в соответствии с сайтом cbr.ru. По умолчанию USD.
- [ За1ед ] — Не все курсы валют на сайте Центробанка указываются за 1 единицу валюты. Чтобы валюта рассчитывалась из расчета за 1 единицу укажите значение этой переменной = 1
Само собой необходим интернет для пользования данной функцией. Прошу не мучить свой компьютер, интернет и не делать выгрузку курсов за большой период времени, для этого на сайте Центробанка есть специальный функционал.
Пример 1
Получение курса USD на сегодня.

Пример 2
Получение различных курсов валют на сегодня.

Пример 3
Получение динамики курса доллара за 5 дней.

Пример 4
Получение курсов валюты из расчета за 1 единицу валюты на текущую дату.


Надстройка
VBA-Excel
Надстройка для Excel содержит большой набор полезных функций, с помощью которых вы значительно сократите время и увеличите скорость работы с программой.
EXCEL: Загружаем курсы валют с сайта ЦБ через функцию ВЕБСЛУЖБА или VBA
В EXCEL 2013 появилась замечательная функция ВЕБСЛУЖБА (WEBSERVICE). А старый способ параметризованных запросов через web query перестал работать. Поэтому я решил обновить информацию о том, как автоматически получать историю курсов валют с сайта Центрального банка ( cbr.ru ).
Впрочем, не всё так радужно … у команды ВЕБСЛУЖБА есть свои проблемы. Но обо всём по порядку.
Загрузка курсов валют через ВЕБСЛУЖБА
Сайт cbr.ru автоматически отдает информацию о курсах валют в формате XLM через нехитрый запрос (справка по API на сайте ЦБ):
http://www.cbr.ru/scripts/XML_dynamic.asp?date_req1=01.01.2022&date_req2=01.02.2022&VAL_NM_RQ=R01235
(можете скопировать в адресную строку браузера и посмотреть, что получится)
В запросе сразу видно, что нужно параметризировать, чтобы задать первую дату истории, последнюю дату и код валюты. R01235 – долл США (справочник по кодам валют ЦБ).
Для успешной загрузки данных в EXCEL необходимо вставить URL запроса в функцию ВЕБСЛУЖБА().
Удобства ради вставим ссылки на ячейки вместо дат и кода валюты:
Здесь потребовалось использовать функцию ТЕКСТ() для преобразования даты EXCEL в текстовый формат.
На выходе функции ВЕБСЛУЖБА получаем формат XML, который содержит историю данных котировок валюты.

С XML отлично справляется функция ФИЛЬТР.XML (FILTERXML). Она использует язык запросов XPath. Сам по себе этот язык несложный и очень полезный. Он позволяется легко «вытащить» нужную информацию из узлов XML документов. Если интересно познакомиться с ним поближе, пройдите несколько шагов обучения в W3Schools: XPath Syntax.
После обработки получаем то, за чем пришли:

Магия … если бы не одно «НО».
Сайт cbr.ru на запрос отвечает с некоторой задержкой. Когда, запрашивается небольшое количество данных, задержка небольшая, и всё нормально работает. Но, если глубина запрашиваемой истории значительная, то ВЕБСЛУЖБА реагирует на задержку, как на отказ API. Вместо красивой таблицы с данными получаем сообщение об ошибке: #ЗНАЧ. Похоже, что с этим поделать ничего нельзя, так как timeout в команде ВЕБСЛУЖБА не настраивается.
Получается, что для запроса значительного объема информации этот способ не годится. Тем не менее файл с образцом запроса вы можете скачать в конце статьи.
Реклама. ООО «МБК Развитие» ИНН 7719849050 Erid:2VtzqxSyAag
Загрузка курсов валют через VBA
Как обычно, когда начинаются сложности со встроенными функциями, на помощь приходит VBA. Небольшой скрипт помогает скачать любую глубину истории. Кроме того, можно выбрать между месячными и дневными данными.

Про то, как работает макрос на Visual Basic, я писать не буду. Это явно выходит за рамки этой статьи. Но разобраться в этом несложном скрипте может даже неспециалист.
В следующей статье, я продемонстрирую, как сделать такую же загрузку курсов валют в Таблицах Google (Google Sheets).
Примеры использования ВЕБСЛУЖБА и VBA для загрузки курсов валют ЦБ
Ниже вы можете загрузить примеры использования функции ВЕБСЛУЖБА и вариант с VBA для загрузки официальных курсов валют Центрального банка.
Внимание: прилагаемый файл EXCEL со скриптом VBA содержит макрос и предоставляется в формате .xlsm . Загрузка этого файла может быть заблокирована антивирусом, если он у вас установлен.
Файлы для скачивания
Загрузка истории курсов валют через ВЕБСЛУЖБА
Файл: cbr_currency_data.xlsx
Размер: 33427 байт
Загрузка истории курсов валют через VBA
Файл: cbr_currency_data_vba.zip
Размер: 112255 байт
Для скачивания файлов необходимо зарегистрироваться или авторизоваться
Форматирование чисел в виде валюты в Excel в Интернете
Для показа чисел в виде валюты можно применить либо формат «Валюта», либо бухгалтерский.
(Сравнение этих двух форматов см. в разделе Денежный и финансовый форматы ниже.)

- Выделите ячейки, которые вы хотите отформатировать, а затем в группе Число на вкладке Главная щелкните стрелку вниз в поле Числовой формат.
- Выберите Денежный или Финансовый.
Excel в Интернете к выбранным ячейкам применяется символ валюты по умолчанию и соответствующие десятичные знаки.
Денежный и финансовый форматы
Как денежный, так и финансовый формат правильно отображают денежные значения, но между ними существует ряд различий, как показано в таблице ниже.
- десятичные знаки выровнены в столбце;
- Рядом с первой цифрой в ячейке появится символ валюты. (Это не соответствует другим символам валюты в столбце.

- как десятичные знаки, так и обозначения денежной единицы выровнены в столбце;
- ячейки, содержащие только нули, помечаются дефисом;
- отрицательные числа отображаются в круглых скобках.

Изменение символа валюты по умолчанию
Вы пока не можете изменить символ рубля по умолчанию в Excel в Интернете. но если у вас есть настольное приложение Excel, вы можете нажать кнопку «Открыть в Excel» и следуйте инструкциям, чтобы указать нужное значение валюты по умолчанию. После применения символа валюты сохраните и снова откроете его в Excel в Интернете.

Новости о последних обновлениях Excel в Интернете, читайте в блоге Microsoft Excel.
Чтобы использовать полный набор приложений и служб Office, поработайте с пробной версией или приобретите его на сайте Office.com.