Автоматическое обновление курса валют в excel с помощью функции вебслужба и фильтр.xml

Автоматическое обновление курса валют в excel с помощью функции вебслужба и фильтр.xml

Желали ли вы когда-нибудь включить эти из интернет-ресурсов в ваши таблицы Excel, таких как валютные котировки, погоду, результаты выдачи поисковых машин либо кроме того сообщения Twitter. C новым Excel 2013 такая возможность показалась в виде функции ВЕБСЛУЖБА.

Инструменты импорта данных из интернет были реализованы в более ранних предположениях и разрешали выгружать данные с веб страниц. Функция ВЕБСЛУЖБА возвращает эти на страницу в формате XML, из которого в последующем возможно выбрать нужные эти посредством функции ФИЛЬТР.XML. В сегодняшней статье мы разглядим возможность импорта курса американского доллара за недельный период (думаю, на фоне текущей нестабильной обстановке на рынках, эта информация актуальна для многих), по взятым данным выстроим график для возможности отслеживания тренда трансформаций

Для начала, нужно отыскать веб сервис, что возвращает данные в формате XML. Я воспользовался работами Центрального банка, что любезно предоставляет собственные API для выгрузки данных. По ссылке вы отыщете все настоящие на данный момент запросы банка.

Так как нас интересует недельный тренд аммериканского доллара, ищем динамику котировок, она находится под заголовком Example 2. В случае если мы щелкнем по ссылке этого примера, сервис вернет нам эти по котировкам американского доллара за период 01/03/2001 по 14/03/2001 в формате XML. Обратите внимание на адресную строчок в браузере, тут находится строка запроса к сервису (она то нам и нужна. ) с тремя доводами: Дата С, Дата ПО и идентификационный номер валюты.

Изменяя любой из них, сервис ЦБ будет возвращать нужную нам данные.

Копируем строчок с заголовком, открываем книгу Excel, в ячейку B1 вбиваем функцию =ВЕБСЛУЖБА(), где доводом функции станет, скопированная нами, строка, т.е. =ВЕБСЛУЖБА(http://www.cbr.ru/scripts/XML_dynamic.asp?date_req1=07/08/2013date_req2=13/08/2013VAL_NM_RQ=R01235)

Обратите внимание, функция ВЕБСЛУЖБА вернула ответ в формате XML, такой же как мы видели в браузере. Сейчас с взятого ответа нужно выбрать

необходимые нам эти. В этом нам окажет помощь функция ФИЛЬТР.XML, которая применяет в качестве доводов два параметра: первый — XML содержимое, второй – объект Xpath — язык запросов к элементам XML-документа, иначе говоря это текстовая строка, которая показывает совокупности, какие конкретно конкретные эти нужно взять из XML содержимого. Вы имеете возможность более детально прочесть о языке Xpath в статье .

Выделяем ячейки A4:A8, жмем F2, вставляем формулу =ФИЛЬТР.XML(B1; //Record//@Date) и нажимаем сочетание клавиш Ctrl + Shift + Enter. так у нас оказалась формула массива. которая выбирает из веб работы даты трансформаций валютных котировок Нацбанком. Таким же образом выделяем соседний диапазон B4:B8 и вставляет в том направлении формулу =ФИЛЬТР.XML(B1;//Value). У нас обязана оказаться следующая таблица:

Так как мой компьютер принимает в качестве разделителя дробной части лишь точку (.), мало подправим формулу, возвращающую курс валют.

Итак, у нас имеется статичная таблица трансформации курса американского доллара к рублю за период с 7/08/2013 по 13/08/2013. Так как отечественная начальная задача была – динамическое обновление данных, нам потребуется заменить жестко зафиксированные даты в строчке запроса на формулу, которая бы изменяла собственный значение в зависимости от текущей даты.

Установим в качестве второго довода значение сегодняшней даты плюс один сутки (т.к. Национальный банк устанавливает курс на следующий сутки), первый довод будет равняться второму доводу минус 6 дней. Зададим обе эти даты в качестве первого и второго доводов в отечественной строке запроса.

Добавим мало красоты для наглядности, сейчас вы совершенно верно станете знать, в то время, когда затевать сливать валюту)

Необходимо подчеркнуть, что данную функцию возможно использовать для импорта данных с любых веб работ, предоставляющих собственные API в свободном доступе. Такими работами являются API Яндекс, Twitter, API Гугл и т.д.

Вам также будут быть увлекательны следующие статьи

Источник: exceltip.ru

Как в Excel автоматизировать загрузку актуального курса валют?

Важное на сайте:

Самые интересные результаты статей, подобранные именно по Вашим интересам: