Курсы криптовалют меняются практически каждую минуту, причем некоторые колеблются не на один десяток или даже сотню процентов. Иногда требуется отследить текущий курс определенной криптовалюты прямо в Google Таблицах, чтобы выполнить необходимые расчеты, посчитать доходы или убытки.
В рамках этой статьи я расскажу, как справиться с этой задачей двумя разными способами.
Метод 1: Использование функции GOOGLEFINANCE
Использование функции GOOGLEFINANCE уже описано в другой моей статье – в ней рассказывается о конвертировании денежных единиц, не связанных с криптовалютой. Вы можете использовать ее и для биткоина или других токенов, о которых знает Гугл. Для этого можете ввести в поисковике запрос, например, «SHIB to RUB». Если появится форма от Google, значит, этот способ можно использовать для конкретной криптовалюты.
Вам будет достаточно узнать сокращение и в формуле указать, например, BTCRUB, чтобы получить соответствующий курс, который будет время от времени обновляться автоматически, отображая актуальное состояние котировок.
В противном случае, когда форма с котировками отсутствует, понадобится обратиться к следующему методу с импортом XML, о котором я расскажу в следующей инструкции.
Метод 2: Использование функции IMPORTXML
Этот метод более гибкий, поскольку вы можете самостоятельно выбрать сайт или биржу, с которой будете переносить котировки криптовалюты в Google Таблицу с автоматическим обновлением. Второе преимущество данного варианта перед предыдущим – нет ограничений в плане доступных токенов, ведь далеко не все из них представлены Гуглом. В качестве примера я взял сайт CoinMarketCup, поэтому покажу, как получить необходимое значение для дальнейшего использования в таблице.
-
Откройте данный сайт или любой другой, отыщите в списке требуемый токен и перейдите на его страницу.
-
Сайт предлагает выбрать валюту, курс с которой необходимо отображать. Отыщите подходящий вариант и дождитесь загрузки страницы.
-
На русскоязычной версии сайта CoinMarketCup цена автоматически отображается в рублях. Выделите надпись, щелкните по ней правой кнопкой мыши и через контекстное меню перейдите в просмотр кода элемента.
-
Вам необходимо узнать, к какому классу относится это значение. Если будете использовать данный сайт, можете пропустить этот этап, поскольку далее можно будет скопировать мою формулу и вставить ее в свою таблицу. При работе с другими площадками понадобится самостоятельно узнать класс и уже модернизировать формулу под себя.
Теперь перейдите к таблице, выделите для формулы пустую ячейку. Вставьте туда формулу, если собираетесь использовать тот же сайт, о котором я говорю:
=IMPORTXML("https://coinmarketcap.com/ru/currencies/bitcoin/";"//div[contains(@class,'priceValue')]")
Соответственно, «bitcoin» нужно заменить на название того токена, курс которого вы желаете отслеживать. Обратите внимание на то, что при работе с другими площадками название класса понадобится заменить на актуальное, чтобы считывание данных происходило корректно.
Вы можете убрать приставку «ru/» из данной формулы, чтобы получить отображение курса выбранной криптовалюты к доллару.
Дополнительно отмечу, что вы можете использовать ссылку формата https://coinmarketcap.com/currencies/bitcoin/btc/eur/, заменив необходимые названия валют. Это более гибкий вариант, не привязанный к языку страницы и вашей геопозиции.
Разработчики в документации более детально описывают функцию IMPORTXML, которая и является основной при получении необходимых сведений. Вы можете ознакомиться с ее синтаксисом самостоятельно и редактировать под личные потребности.
Если сайт, который вы используете как средство слежения за курсами криптовалют, предоставляет свое API, его можно импортировать в Google Таблицу и получить примерно такой же результат. Я не рассматриваю этот вариант, поскольку для обычных пользователей он не является приоритетным, к тому же значительно он сложнее в реализации, нежели те два метода, которые были рассмотрены выше.
Комментарии
Пробовал несколько вариантов , как менять формат ячейки, как скрыть первый символ (это у меня не получилось), итог один - формулы не работают.
С этим дополнением, будет супер решение!
Работает REGEXREPLACE
Может кто знает, почему формула не работает?
=GOOGLEFINANCE("USDTRUB")
Очень доступно и по-простому рассказано и показано!
При использовании формулы (=IMPORTXML("https://coinmarketcap.com/ru/currencies/tether/";"//div[contains(@class,'priceValue')]")) под ячейкой с актуальным курсом автоматически заполняется ячейка под ней и прописывает, видимо, процентное изменение цены за период указанный на сайте. И эта вторая ячейка влияет на все формулы и расчеты. Как от неё избавиться?
Используйте этот пример:
=IMPORTXML("https://coinmarketcap.com/en/currencies/xrp/";"//*[@id='__next']/div/div[1]/div[2]/div/div[1]/div[2]/div/div[2]/div[1]/div/span")
А на будущее можете погуглить как самостоятельно можно получить XPath ссылку на нужный элемент сайта (с помощью браузера Chrome, например). Это знание поможет вытаскивать практически любое значение с любого сайта.
=IMPORTXML("https://coinmarketcap.com/currencies/bitcoin/";"//span[contains(@class,'sc-f70bb44c-0 jxpCgO base-text')]")
=IMPORTXML("https://coinmarketcap.com/currencies/bitcoin/";"//span[contains(@class,'sc-f70bb44c-0 jxpCgO base-text')]")
И при необходимости, в комментариях подсказали как перевести полученное значение из строки в число:
=ЗНАЧЕН(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПРАВСИМВ(Ячейка с ценой криптовалюты;ДЛСТР(Ячейка с ценой криптовалюты)-1);",";"");".";","))