Інструменти імпорту даних з інтернет були реалізовані в більш ранніх версіях і дозволяли вивантажувати інформацію з веб сторінок. Функція ВЕБСЛУЖБА повертає дані на лист в форматі XML, з якого в подальшому можна вибрати необхідні дані за допомогою функції ФІЛЬТР.XML. У сьогоднішній статті ми розглянемо можливість імпорту курсу долара за тижневий період (думаю, на тлі поточної нестабільної ситуації на ринках, ця інформація актуальна для багатьох), за отриманими даними побудуємо графік для можливості відстеження тренда змін
Для початку, необхідно знайти веб сервіс, який повертає дані у форматі XML. Я скористався службами Центробанку, який люб'язно надає свої API для вивантаження даних. За посиланням ви знайдете всі дійсні на поточний момент запити банку.
Змінюючи будь-який з них, сервіс ЦБ буде повертати потрібну нам інформацію.
Зверніть увагу, функція ВЕБСЛУЖБА повернула відповідь в форматі XML, такий же як ми бачили в браузері. Тепер з отриманої відповіді необхідно вибрати потрібні нам дані. У цьому нам допоможе функція ФІЛЬТР.XML, яка використовує в якості аргументів два параметри: перший - XML вміст, другий - об'єкт Xpath - мова запитів до елементів XML-документа, іншими словами, це текстовий рядок, який вказує системі, які конкретні дані необхідно отримати з XML вмісту. Ви можете більш детально прочитати про мову Xpath в статті.
Виділяємо комірки A4: A8, тиснемо F2, вставляємо формулу = ФІЛЬТР.XML (B1; "// Record // @ Date") і натискаємо клавіші Ctrl + Shift + Enter. таким чином у нас вийшла формула масиву. яка вибирає з веб служби дати змін курсів валют Центробанком. Таким же чином виділяємо сусідній діапазон B4: B8 і вставляє туди формулу = ФІЛЬТР.XML (B1; »// Value»). У нас повинна вийти наступна таблиця:
Так як мій комп'ютер сприймає як роздільник дробової частини тільки точку (.), Трохи підправимо формулу, яка повертає курс валют.
Встановимо в якості другого аргументу значення сьогоднішньої дати плюс один день (тому що Центробанк встановлює курс на наступний день), перший аргумент буде дорівнювати другого аргументу мінус 6 днів. Задамо обидві ці дати в якості першого і другого аргументів в нашій рядку запиту.
Додамо трохи краси для наочності, тепер ви точно будете знати, коли починати зливати валюту)
Варто відзначити, що дану функцію можна застосовувати для імпорту даних з будь-яких веб служб, що надають свої API у вільному доступі. Такими службами є API Яндекс, Twitter, API Google і т.д.