Як імпортувати курси валют в Google Таблиці на прикладі «Приватбанк»
Не секрет, що торгуючи імпортними товарами потрібно враховувати курси валют для ціноутворення та інших розрахунків. Розглянемо тему імпорту курсів валют з сайтів в Google Таблиці на прикладі Приватбанку.
Почнемо з того, що знайдемо сторінку на якій розміщено курси валют. У випадку з Приватбанком це головна сторінка сайту:
Візьмемо для прикладу курс продажу USD у відділеннях банку: 29.5474
Для того, щоб вставити значення курсу в таблицю Google Sheet скористаємося вбудованою функцією ImportHTML яка імпортує данні з таблиці чи списку на веб-сторінці. Функції потрібно передати адресу веб-сторінки, тип даних та порядковий номер таблиці на сторінці. Формула в комірці буде виглядати наступним чином:
Для того, щоб вставити значення курсу в таблицю Google Sheet скористаємося вбудованою функцією ImportHTML яка імпортує данні з таблиці чи списку на веб-сторінці. Функції потрібно передати адресу веб-сторінки, тип даних та порядковий номер таблиці на сторінці. Формула в комірці буде виглядати наступним чином:
У результаті ми отримаємо таблицю наступного вигляду:
Порядковий номер таблиці підбирається дослідним шляхом. У нашому випадку це "1". В такому вигляді використовувати таблицю не дуже зручно адже нам потрібне лише одне значення з неї. Застосуємо іншу функцію — INDEX — яка добуває данні з комірки на перетині певного рядка і стовпчика. Нам потрібно отримати значення на перетині 3-го рядка та 4-го стовпчика:
У формулі це буде виглядати наступним чином:
Як результат ми отримаємо значення лише з цієї комірки:
Але зразу використовувати це значення у своїх розрахунках ми не зможемо так як воно являє собою текст, а не число:
Відбувається це через те, що у якості розділювача використовується крапка, а Google Таблиці використовують кому у якості розділювача. Тому для того щоб привести значення до потрібного вигляду ми скористаємося функцією SUBSTITUTE для пошуку "." і заміни на ",":
Результат заміни:
В такому вигляді уже можна користуватися значенням в своїх формулах, але при спробі застосування до комірки будь якого числового форматування воно не спрацює, так як необхідно щоб комірка мала данні явно числового типу. Привести вміст комірки до числового типу нам допоможе функція VALUE:
Тепер ми можемо застосувати до комірки зі значенням числове форматування. Наприклад, формат числа з двома знаками після коми «0,00»:
Тож фінальна версія формули буде виглядати наступним чином:
=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 можна скористатися стороннім парсером.