Курс валют цб рф на заданную дату таблица: Курсы валют ЦБ РФ на заданную дату, сегодня и завтра. Купить и продать валюту онлайн 2023

Импорт курсов валюты в Excel




Готовые решения »


Надстройка VBA-Excel »
Курс валюты

Для кого-то сайт cbr.ru ничего не говорит, а кто-то заходит туда каждый день и не раз. Для того чтобы импорт курса валюты на любую дату занимал у вас максимум секунд 10 создан данный макрос.

Добавить в Excel

Описание работы

Один из самых эффективных способов вставить курс валюты с сайта ЦБ в ячейку 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

Рекомендуем к прочтению

Формула для расчета НДС в Excel

Сумма прописью в excel

Импорт текста из интернет страницы в Excel

Средний курс валюты за период в Excel

Комментарии:

Please enable JavaScript to view the comments powered by Disqus.comments powered by Disqus

Курс доллара ЦБ РФ на 31 октября 2022

61,5343 ₽за 1 доллар

  • USD
  • EUR
  • CNY
  • Выбрать валюту
  • курс доллара на сегодня
  • курс доллара на завтра
  • архив
  • конвертер

Изменение курса доллара

за день0,00000,00%
с начала недели0,00000,00%
с начала месяца+6,2356+11,28%
за 30 дней+6,2356+11,28%
с начала года−12,7583−17,17%

График курса доллара ЦБ РФ

Конвертер валют

по курсу ЦБРФ на 31-10-2022

все валюты

Таблица изменений курса доллара ЦБ

c 27. 10.2022 по 05.11.2022

ДатаКурсИзм.Изм.,%
05.11.2022

62,0955

0,0000  0,00% 
04.11.2022

62,0955

+0,4780↑ +0,78%↑
03. 11.2022

61,6175

+0,1900↑ +0,31%↑
02.11.2022

61,4275

−0,1954↓ −0,32%↓
01. 11.2022

61,6229

+0,0886↑ +0,14%↑
31.10.2022 61,5343 0,0000  0,00% 
30. 10.2022

61,5343

0,0000  0,00% 
29.10.2022

61,5343

+0,1754↑ +0,29%↑
28. 10.2022

61,3589

−0,0688↓ −0,11%↓
27.10.2022

61,4277

+0,0951↑ +0,16%↑
ВалютаКурс
1новый румынский лей12,4690
10гривен16,6874
10шведских крон55,9210
1болгарский лев31,5787
1000южнокорейских вон43,2883
1сдр (специальные права заимствования)79,4032
100иен41,9743
1канадский доллар45,4228
100киргизских сомов73,9168
1сингапурcкий доллар43,7748
10чешских крон25,1736
10южноафриканских рэндов33,9933
1азербайджанский манат36,1966
10китайских юаней84,3159
10гонконгских долларов78,5377
10000узбекских сумов55,0823
1евро61,1328
1новый туркменский манат17,5812
100армянских драмов15,5574
100венгерских форинтов14,8469
1австралийский доллар39,8065

vba api очистка веб-сайта за заданный период валютных курсов

Моя функция ExchangeRatesCbr возвращает четырехмерный массив перечисленных валют и их текущий обменный курс:

 ' Получить текущие обменные курсы от Центрального банка Российской
' Федерация, использующая российский рубль в качестве базовой валюты. 
' Ставки возвращаются в виде массива и кэшируются до следующего обновления.
Курсы обновляются один раз в день примерно в 13:00 UTC.
'
' Источник:
' https://cbr.ru/eng/currency_base/daily/
'
' Примечание:
«Центральный банк Российской Федерации установил курсы валют
иностранной валюты по отношению к рублю, не принимая на себя никакой ответственности перед
' купить или продать иностранную валюту по курсу.
'
' Пример:
' Dim Rates как вариант
' Курсы = ExchangeRatesCbr()
' Ставки(9, 0) -> 2018-10-06 ' Дата публикации.
' Rates(9, 1) -> "DKK" ' Код валюты.
' Rates(9, 2) -> 10.2697 ' Обменный курс.
' Rates(9, 3) -> "Danish Krone" ' Название валюты на английском языке.
'
' 07.10.2018. Густав Брок, Cactus Data ApS, CPH.
'
Публичная функция ExchangeRatesCbr( _
    Необязательный ByVal LanguageCode как строка) _
    Как вариант
    «Операционные константы.
    '
    ' Конечные точки API.
    Const RuServiceUrl As String = "https://cbr.ru/currency_base/daily/"
    Const EnServiceUrl As String = "https://cbr. ru/eng/currency_base/daily/"
    
    «Функциональные константы.
    '
    'Кодировка страницы.
    Набор символов Const As String = "UTF-8"
    'Асинхронная настройка.
    Const Async As Variant = False
    ' Имя класса таблицы данных.
    Const DataClassName As String = "данные"
    ' Элементы поля html-таблицы.
    Константа CodeField как целое число = 1
    Const NameField As Integer = 3
    Const UnitField As Integer = 2
    Const RateField As Integer = 4
    ' Локатор/заголовок даты публикации: "DT":".
    Const DateHeader As String = """DT"":"""
    ' Длина отформатированной даты: 2000-01-01.
    Константа DateLength как целое число = 10
    
    ' Час обновления (UTC).
    Const UpdateHour As Date = #13:00:00#
    ' Интервал обновления: 24 часа.
    Константа UpdatePause как целое число = 24
    'Код английского языка.
    Const EnglishCode As String = "en"
    'Код русского языка.
    Const RussianCode As String = "ru"
    
#Если раннее связывание, то
    «Майкрософт XML, версия 6. 0.
    Dim XmlHttp как MSXML2.ServerXMLHTTP60
    ' Библиотека объектов данных Microsoft ActiveX 6.1.
    Тусклый поток как ADODB.Stream
    ' Библиотека объектов Microsoft HTML.
    Тусклый документ как MSHTML.HTMLDocument
    Dim Scripts As MSHTML.IHTMLElementCollection
    Dim Script As MSHTML.HTMLHtmlElement
    Dim Tables As MSHTML.IHTMLElementCollection
    Dim Table As MSHTML.HTMLHtmlElement
    Dim Rows As MSHTML.IHTMLElementCollection
    Затемнить строку как MSHTML.HTMLHtmlElement
    Dim Fields As MSHTML.IHTMLElementCollection
    Установите XmlHttp = новый MSXML2.ServerXMLHTTP60
    Установить поток = новый ADODB.Stream
    Установить документ = новый MSHTML.HTMLDocument
#Еще
    Dim XmlHttp как объект
    Тусклый поток как объект
    Затемнить документ как объект
    Dim скрипты как объект
    Dim Script как объект
    Dim Tables как объект
    Dim Table As Object
    Затемнить строки как объект
    Затемнить строку как объект
    Затемнение полей как объекта
    
    Установите XmlHttp = CreateObject("MSXML2. ServerXMLHTTP")
    Установить поток = CreateObject("ADODB.Stream")
    Установить Документ = СоздатьОбъект("htmlфайл")
#Конец, если
    Статические ставки () как вариант
    Статический LastCall как дата
    Статический LastCode как строка
    
    Dim ServiceUrl как строка
    Dim RateCount как целое число
    Dim публикуется как строка
    Dim ValueDate как дата
    Dim ThisCall As Date
    Затемнить текст как строку
    Dim Index как целое число
    Тусклый блок как двойной
    Dim ScaledRate As Double
    Dim TrueRate как двойной
    
    Если StrComp(LanguageCode, RussianCode, vbTextCompare) = 0 Тогда
        LanguageCode = РусскийКод
        Сервисурл = РуСервисурл
    Еще
        LanguageCode = EnglishCode
        Сервисурл = ЭнСервисурл
    Конец, если
    
    Если LastCode = LanguageCode And DateDiff("h", LastCall, UtcNow) < UpdatePause Тогда
        ' Возврат кешированных ставок.
    Еще
        ' Получить обновленные ставки.
    
        ' Определить массив результатов по умолчанию. 
        ' Redim для четырех измерений: дата, код, скорость, имя.
        ReDim ставки (0, 0 до 3)
        Оценки(0, RateDetail.Date) = NoValueDate
        Тарифы(0, RateDetail.Code) = NeutralCode
        Оценки(0, RateDetail.Rate) = NeutralRate
        Rates(0, RateDetail.Name) = NeutralName
        
        ' Получить данные.
        XmlHttp.Open "GET", ServiceUrl, асинхронный
        XmlHttp. Отправить
        Если XmlHttp.Status = HttpStatus.OK Тогда
            ' Получить и преобразовать страницу.
            ' Невозможно использовать набор символов по умолчанию. Видеть:
            https://stackoverflow.com/a/23812869/3527297
            
            ' Записать необработанные байты в поток.
            Поток.Открыть
            Stream.Type = адтипебинари
            Stream.Write XmlHttp.responseBody
            ' Считать текстовые символы из потока, применяя набор символов.
            Поток.Позиция = 0
            Поток.Тип = adTypeText
            Stream.Charset = Набор символов
            ' Скопируйте страницу в объект документа. 
            Document.body.innerHTML = Stream.ReadText
        
            ' Найдите в сценариях дату публикации.
            Установить сценарии = Document.getElementsByTagName ("сценарий")
            ДатаДаты = Дата
            Для каждого скрипта в скриптах
                Текст = Скрипт.innerHTML
                Если InStr(Text, "uniDbQuery_Data =") > 0 Тогда
                    Опубликовано = Оставлено (Разделить (Текст, Заголовок даты) (1), Длина даты)
                    Если Дата(Опубликовано), Тогда
                        ValueDate = CDate(опубликовано)
                    Конец, если
                    Выход для
                Конец, если
            Следующий
        
            ' Выполните поиск в таблицах, чтобы найти таблицу данных.
            ' Не работает с поздним связыванием.
            ' Установить таблицы = Document.getElementsByClassName ("данные")
            Установить таблицы = Document.getElementsByTagName ("таблица")
            Для каждой таблицы в таблицах
                Если ИмяТабл. класса = ИмяКлассаДанных Тогда
                    Выход для
                Конец, если
            Следующий
            
            Если не таблица ничего, то
                «Стол найден.
                Установить строки = Table.getElementsByTagName ("tr")
                ' Уменьшите количество на единицу, чтобы пропустить строку заголовка.
                RateCount = Rows.Length - 1
                ' Redim для четырех измерений: дата, код, скорость, имя.
                ReDim Rates (от 0 до RateCount - 1, от 0 до 3)
                
                ' Заполнить массив ставок.
                Для индекса = LBound (ставки, 1) в UBound (ставки, 1)
                    ' Сместите индекс на единицу, чтобы пропустить строку заголовка.
                    Установить строку = строки.Элемент (индекс + 1)
                    ' Получить поля этой ставки.
                    Установить поля = Row.getElementsByTagName ("td")
                    
                    ' Возвращенные скорости масштабируются, чтобы содержать только четыре десятичных знака. 
                    ' Вычислите истинную (немасштабированную) скорость.
                    ScaledRate = Val(Replace(Fields.Item(RateField).innerText, ",", "."))
                    Unit = Val(Fields.Item(UnitField).innerText)
                    TrueRate = ScaledRate / Unit
                    
                    Тарифы(индекс, RateDetail.Date) = ValueDate
                    Тарифы(индекс, RateDetail.Code) = Fields.Item(CodeField).innerText
                    Тарифы(Индекс, RateDetail.Rate) = TrueRate
                    Тарифы(индекс, RateDetail.Name) = Fields.Item(NameField).innerHTML
                Следующий
            Конец, если
            
            ThisCall = ValueDate + UpdateHour
            ' Запишите запрошенный язык и время публикации полученных ставок.
            LastCode = LanguageCode
            Последний Звонок = Этот Звонок
            
        Конец, если
    Конец, если
    
    ExchangeRatesCbr = Курсы
Конечная функция
 

Отсюда вы можете выбрать интересующую вас валюту или использовать вспомогательную функцию CurrencyConvertCbr для прямого выбора валюты и коэффициента пересчета:

 ' Возвращает текущий коэффициент пересчета из рублей в другую валюту на основе
официальные курсы валют, публикуемые ЦБ РФ. 
«Федерация.
'
' При необходимости коэффициент пересчета может быть рассчитан из любого другого
опубликованы курсы валют. Обменные курсы из или в другие валюты, чем
' Рубли рассчитываются из руб. треугольным расчетом.
'
' Если передан неверный или неопубликованный код валюты, коэффициент пересчета
' возвращается ноль.
'
' Примеры, типичные:
' CurrencyConvertCbr("DKK") -> 0,0973738278625471
' CurrencyConvertCbr("DKK", "EUR") -> 7.46477501777072
' CurrencyConvertCbr("AUD") -> 0.021253081696846
' CurrencyConvertCbr("AUD", "DKK") -> 0.2182627731021
' CurrencyConvertCbr("DKK", "AUD") -> 4.58163334858857
' CurrencyConvertCbr("EUR", "DKK") -> 0.133962510272498
' CurrencyConvertCbr("", "DKK") -> 10.2697
' CurrencyConvertCbr("EUR") -> 0.013044442415309
' Примеры, нейтральный код.
' CurrencyConvertCbr("AUD", "XXX") -> 1
' CurrencyConvertCbr("XXX", "AUD") -> 1
' ВалютаКонвертЦбр("ХХХ") -> 1
' Примеры, неверный код.
' CurrencyConvertCbr("XYZ") -> 0
' CurrencyConvertCbr("DKK", "XYZ") -> 0
'
' 07.10. 2018. Густав Брок, Cactus Data ApS, CPH.
'
Открытая функция CurrencyConvertCbr( _
    ByVal IsoTo As String, _
    Необязательный ByVal IsoFrom As String = RubelCode) _
    Как двойной
    
    Dim Rates () как вариант
    
    Dim RateTo As Double
    Dim Rate From As Double
    Dim Factor как двойной
    Dim Index как целое число
    
    Если ИзоОт = "" Тогда
        ИзоОт = Рублевый Код
    Конец, если
    Если ИзоТо = "" Тогда
        IsoTo = Рублевый Код
    Конец, если
    
    Если IsoTo = NeutralCode или IsoFrom = NeutralCode, тогда
        Фактор = нейтральная ставка
    ИначеЕсли ИзоТо = ИзоОт Тогда
        Фактор = нейтральная ставка
    Еще
        Курсы () = Курсы ОбменаCbr
    
        Если IsoTo = Код Рубеля Тогда
            RateTo = нейтральная ставка
        Еще
            Для индекса = LBound (ставки) в UBound (ставки)
                Если Тарифы(Индекс, RateDetail.Code) = IsoTo Тогда
                    RateTo = Rates(Index, RateDetail.Rate)
                    Выход для
                Конец, если
            Следующий
        Конец, если
        
        Если RateTo > NoRate, то
            Если IsoFrom = Рублевый Код Тогда
                СтавкаОт = Нейтральнаяставка
            Еще
                Для индекса = LBound (ставки) в UBound (ставки)
                    Если Тарифы(Индекс, RateDetail. Code) = IsoFrom Тогда
                        RateFrom = Rates(Index, RateDetail.Rate)
                        Выход для
                    Конец, если
                Следующий
            Конец, если
            Коэффициент = Ставка от / Ставка до
        Конец, если
        
    Конец, если
    
    CurrencyConvertCbr = Фактор
Конечная функция
 

Чтобы получить курсы на историческую дату, примените последний параметр, например, для 2020-11-02, как показано здесь:

 https://cbr.ru/eng/currency_base/daily/?UniDbQuery.Posted= True&UniDbQuery.To=02%2F11%2F2020
 

Моя функция этого не сделает, но вам должно быть легко настроить.

Полный исходный код на GitHub: VBA.CurrencyExchange

Раскрытие информации: Связанная страница содержит обширный код, написанный только мной.

Диаграмма: Кому принадлежат резервы Центрального банка России?

Описание

На этой диаграмме показаны крупнейшие держатели валютных и золотых резервов российского центрального банка по географическому распределению.

Отчет

Скачать диаграмму

URL-адрес, который будет использоваться в качестве справочной ссылки:
https://www.statista.com/chart/26940/russian-central-bank-foreign-currency-and-gold-reserves-by-holder/

HTML-код для встраивания диаграммы

Вы найдете больше инфографики на Statista

Инфографический информационный бюллетень

Statista предлагает ежедневную инфографику по актуальным темам, охватывающую: Экономика и финансы , Политика и общество , Технологии и СМИ , Здоровье и окружающая среда , Потребительские товары , Спорт и многие другие.

Связанная инфографика

Часто задаваемые вопросы

  • Statista «График дня», доступный
    по лицензии Creative Commons CC BY-ND 3.0, можно использовать
    и отображается бесплатно всеми коммерческими и
    некоммерческие сайты. Однако использование разрешено только с
    правильная атрибуция Statista. При публикации одного из этих рисунков
    включите обратную ссылку на соответствующий URL-адрес инфографики.

    Больше информации

  • Statista «График дня» в настоящее время фокусируется
    по двум секторам: «Медиа и технологии», обновленный
    ежедневно и с последней статистикой из СМИ,
    Интернет, телекоммуникации и бытовая электроника
    отрасли промышленности; и «Экономика и общество», которые
    текущие данные из Соединенных Штатов и вокруг
    мира по экономическим и политическим вопросам, а также
    спорт и развлечения.