EXCEL: Загружаем курсы валют с сайта ЦБ

24 мар 2016 Сергей  Кикевич

Приложение к статье:
файл для скачивания

Продолжаем тему загрузки исторических данных из различных бесплатных баз. В прошлый раз мы говорили о простейшем способе подключения к Yahoo Finance: Загружаем исторические данные из Yahoo Fianance.

На этот раз расскажем о том, как загрузить котировки валют с сайта Центрального банка России, а заодно познакомился в EXCEL с двумя полезными инструментами Web Query и Power Query.

Начиная с версии 2016, Power Query интегрирован в EXCEL. Для остальных версий его можно скачать виде надстройки со страницы Microsoft.

Сразу надо сказать, что возможности сайта Центробанка закрывают потребности инвестора (и спекулянта тоже) на 90%. Почему на 90%? На сайте ЦБ нет исторических данных по нерублёвым валютным парам, например, EUR/USD.

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

Последовательность шагов

Все скриншоты сделаны в EXCEL 2016.

Шаг 1

Итак, зайдя на сайт ww.cbr.ru мы сразу видим ссылки на курсы валют.

step1

Шаг 2

Мы попадаем на страницу баз данных валют. Далее нам в раздел, посвященный динамике курса заданной валюты.

step2

Шаг 3

Задаем параметры поиска: тип валюты, даты и тип выдачи данных (таблица):

step3

Шаг 4

В результатах нас интересует только адресная строка, копируем её в буфер (CTRL-C):

step4

Шаг 5

Открываем новый документ в EXCEL. Переходим на закладку Данные. Далее – Получение внешних данных / Из интернета:

step5

Шаг 6

Загружается встроенный браузер. Копируем в адресную строку ссылку, которую мы получили ранее на шаге 4 (Ctr-V), и снова видим таблицу с историей курсов валюты. Можно весь путь к таблице сделать и без использования внешнего браузера, но встроенный в EXCEL браузер работает на базе IE, что не очень удобно.

Единственное, что нам нужно здесь сделать, это нажать на кнопку «Сохранить запрос»:

step6

Шаг 7

Параметры WEB запроса (поэтому он называется WEB Query) сохраняем в файл с расширением .iqy

step7

Шаг 8

Открываем записанный файл в каком-либо текстовом редакторе, например, в Notepad. В строке запроса находим даты и код валюты (R01235 для доллара США):

step8

Шаг 9

Меняем эти значения на переменные и сохраняем изменения. Название переменных произвольное. Синтаксис переменной – [“Name”]:

step9

Шаг 10

Возвращаемся в EXCEL и готовим значения переменных, которые будут считываться при обращении к сайту ЦБ. Значение каждой переменной нужно разместить в отдельной ячейке на листе. Популярные коды валют: Доллар США - R01235, Евро - R01239, Юань - R01375. Код любой другой валюты можно узнать, сформировав новый запрос на сайте ЦБ.

Формат даты необходимо поменять на текстовый, т.к. по умолчанию EXCEL дата представляет собой пятизначное число. Делается это при помощи формулы =ТЕКСТ(B3;"ДД.ММ.ГГГГ"). В дальнейшем колонку «Переменные» можно скрыть.

step10

Шаг 11

Снова обращаемся к закладке «Данные», раздел «Существующие подключения». Выбираем «Найти другие …» и загружаем записанный файл в формате .iqy

step11a

step11b

Шаг 12

Выбираем отображение данных на новом листе.

step12

Шаг 13

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

step13

Шаг 14

На новом листе формируется таблица с котировками валюты. В принципе эти данные уже можно использовать, но на листе кроме таблицы присутствует много лишнего «мусора».

step14

Шаг 15

Для очистки данных нам поможет Power Query. В EXCEL 2016 раздел Power Query (Скачать и преобразовать) находится по соседству с «Получением данных» (вкладка данные). Нас интересует создание нового запроса из таблицы. При нажатии на «Из таблицы» должна быть активной страница с полученными данными.

step15

Шаг 16

Открывается диалог интерфейса Power Query. Для начала удаляем лишнюю колону. Для этого надо ее выделить и нажать «Удалить столбцы».

step16

Шаг 17

Далее убираем ненужную информацию, расположенную в верхних строках: «Удаление верхних строк». И указываем номер последней строки с мусором (26).

step17

Шаг 18

Теперь можно использовать верхнюю строку в качестве заголовка таблицы:

step18

Шаг 19

Выбираем колонку Дата и сортируем ее по убыванию (от новых дат к старым):

step19

Шаг 20

После сортировки становится понятно, что внизу таблицы тоже был «мусор». Чистим его по аналогии с шагом 17. Таблица начинает приобретать рабочий вариант.

Остается только выделить колонку Дата и указать для нее правильный формат:

step20

Шаг 21

Последний шаг – указать где должны отображаться очищенные данные:

step21

step21a

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

image98

Еще одним удобством использования Power Query является обратимость всех действий по преобразованию запроса. В любой момент можно вернуться к редактору запроса (Показать запросы). В правой части интерфейса расположена история редактирования запроса, куда всегда можно внести изменения и удалить действия.

image99

Для обновления данных в итоговой таблице нужно нажать «Обновить все» в закладке Данные:

image97

Файлы для скачивания

Файл: currency_cbr.zip
Размер: 161928 байт


Для скачивания файлов необходимо зарегистрироваться или авторизоваться

Понравилась статья?

Самое интересное и важное в нашей рассылке

Анонсы свежих статей Информация о вебинарах Советы экспертов

Нажимая на кнопку "Подписаться", я соглашаюсь с политикой конфиденциальности


Комментарии (1)

  1. Сергей 16 июня 2017, 06:21 # 0
    Поправка. Новая версия EXCEL не поддерживает создание файла с расширением .iqy из встроенного браузера (шаг 6). Вместо этого файл можно сделать в любом текстовом редакторе либо загрузить уже готовый у нас — в приложении к этой статье.
    наверх