Як імпортувати курси валют в Google Таблиці на прикладі «Приватбанк»

 

Google Sheets

    Не секрет, що торгуючи імпортними товарами потрібно враховувати курси валют для ціноутворення та інших розрахунків. Розглянемо тему імпорту курсів валют з сайтів в Google Таблиці на прикладі Приватбанку.

    Почнемо з того, що знайдемо сторінку на якій розміщено курси валют. У випадку з Приватбанком це головна сторінка сайту:

Приватбанк курси валют

    Візьмемо для прикладу курс продажу USD у відділеннях банку: 29.5474

    Для того, щоб вставити значення курсу в таблицю Google Sheet скористаємося вбудованою функцією ImportHTML яка імпортує данні з таблиці чи списку на веб-сторінці. Функції потрібно передати адресу веб-сторінки, тип даних та порядковий номер таблиці на сторінці. Формула в комірці буде виглядати наступним чином:
    
Import HTML currency Google Sheet

    У результаті ми отримаємо таблицю наступного вигляду:

Import HTML курси валют Google Sheet

    Порядковий номер таблиці підбирається дослідним шляхом. У нашому випадку це "1". В такому вигляді використовувати таблицю не дуже зручно адже нам потрібне лише одне значення з неї. Застосуємо іншу функцію — INDEX — яка добуває данні з комірки на перетині певного рядка і стовпчика. Нам потрібно отримати значення на перетині 3-го рядка та 4-го стовпчика:

Import HTML курси валют Google Sheet

    У формулі це буде виглядати наступним чином:

Import HTML курси валют Google Sheet

    Як результат ми отримаємо значення лише з цієї комірки:

Import HTML курси валют Google Sheet

    Але зразу використовувати це значення у своїх розрахунках ми не зможемо так як воно являє собою текст, а не число:

Import HTML курси валют Google Sheet

    Відбувається це через те, що у якості розділювача використовується крапка, а Google Таблиці використовують кому у якості розділювача. Тому для того щоб привести значення до потрібного вигляду ми скористаємося функцією 
SUBSTITUTE для пошуку "." і заміни на ",":

Import HTML курси валют Google Sheet

    Результат заміни:

Import HTML курси валют Google Sheet

    В такому вигляді уже можна користуватися значенням в своїх формулах, але при спробі застосування до комірки будь якого числового форматування воно не спрацює, так як необхідно щоб комірка мала данні явно числового типу. Привести вміст комірки до числового типу нам допоможе функція VALUE:

Import HTML курси валют Google Sheet

    Тепер ми можемо застосувати до комірки зі значенням числове форматування. Наприклад, формат числа з двома знаками після коми «0,00»:

Import HTML курси валют Google Sheet

    Тож фінальна версія формули буде виглядати наступним чином:
=VALUE(SUBSTITUTE(INDEX(ImportHTML("https://privatbank.ua/";"table";1);3;4);".";","))
    Таким чином можна імпортувати курси з більшості сайтів які публікують їх у вигляді таблиць чи списків. 

    Для тих, хто розуміється на XML / JSON існує ще кілька способів отримати курси через API Приватбанку. 

    У випадку з XML формула буде виглядати наступним чином:
=SUBSTITUTE(IMPORTXML("https://api.privatbank.ua/p24api/pubinfo?exchange&coursid=5";"//exchangerates/row[1]/exchangerate/@sale");".";",")
    Для отримання курсів через JSON можна скористатися стороннім парсером.