Шрифт
Google Docs: текущий курс валюты
Play

Google Docs: текущий курс валюты

Текущий курс валюты (в примере — курс доллара ЦБ РФ) можно получить с помощью следующей функции:

То же самое на любую дату:

Дополнение от 7 янв. 2015: Спасибо Илье Кочеткову за упрощение формулы. Старый вариант под катом. Возможно, кому-то пригодятся и решения из него. А можно даже ещё проще, т.к. буквенный код валюты уникален: =IMPORTXML("http://www.cbr.ru/scripts/XML_daily.asp"; "//*[*=""USD""]/Value") Спасибо Михаилу.

Дополнение от 13 фев. 2016: Есть способ проще, с использованием встроенной функции:

Однако это не курс ЦБ РФ. Указывать дату также можно; подробная справка по функции находится здесь. Спасибо за подсказку Ивану.

Старый вариант:

То же самое на любую дату:

Автор

KodopiK

41 thoughts on “Google Docs: текущий курс валюты”

Во мне умер оптимизатор :) Для четких пацанчиков привязка по ID: «//*[@ID=’R01235′]/Value»

Ну по названию валюты всё-таки проще для понимания.

Подскажите как с «http://www.cbr.ru/scripts/xml_metall.asp?date_req1=число/меся/год&date_req2=число/меся/год» парсить в гугл докс цену драг металла?

По аналогии :) Или уточните, пожалуйста, что именно Вам нужно и за какие периоды. Вот пример формулы для вывода цен покупки для нескольких дат и металла с кодом «1»:

Отлично! Вообще я мимопроходящий и кодить не умею.) Просто удовлетворяю свой хозяйственный интерес). На самом деле в идеале хочется получить такой же результат как и для курса валют, т.е. именно единичное значение текущего курса. Но на сайте цб рф нет функции вывода текущего значения, только вывод за период. Может есть какой-нибудь деликатный вариант ?)

Очевидное решение — подставить одну и ту же дату в параметры адресной строки «date_req1» и «date_req2»: http://www.cbr.ru/scripts/xml_metall.asp?date_req1=21/06/2016&date_req2=21/06/2016 Соответственно, применительно к приведённому выше примеру:

Просто подставляете нужный id валюты и необходимый тип цену – Buy или Sell. Если нужно на сегодняшний день, то подставляете вместо даты формулу, преобразующую сегодняшний день в нужный формат:

Ну и в итоговой формуле это выглядит так:

Да прибудет с вами сила! Спасибо!)

KodopiK, здравствуйте. Благодарю Вас за Ваш труд и ресурс. В частности, за разбор данного «лайфхака» в Гуглотаблицах. У меня вопрос — Ваша итоговая формула, с подставлением даты (=TEXT(TODAY();»dd/mm/yyy»)) — не работает. Как я не пытался реанимировать — никак. В тоже время статическое указание диапазона даты — работает без изменений. (=IMPORTXML(«http://www.cbr.ru/scripts/xml_metall.asp?date_req1=10/06/2016&date_req2=20/06/2016″;»//Record[@Code=’1′]/Buy»)_ Подскажите, пожалуйста — как мне быть? Задача ровно та же самая — иметь в таблице цену золота на сегодняшний день. Благодарю Вас.

Здравствуйте. Спасибо за отзыв.

Хоть это и ЦБ РФ, у них тоже случаются технические ошибки. Напишите им в поддержку о замеченной неисправности. Они обычно чинят.

Приведенная формула выдает целое число, нет запятой после рублей. Соответственно, чтобы использовать в расчетах, приходится импортированное значение делить на 10 000. Возможно есть какое-то более элегантное решение?

У меня выдаётся число в формате: «63,0399». Возможно, Вам нужно поправить настройки таблицы. А именно региональные настройки — чтобы запятая, а не точка, была дробным разделителем. Поставьте российский (европейский), а не американский формат чисел. Делается это здесь: Файл → Настройки таблицы → Региональные настройки.

Спасибо, но не помогло. После смены формата у меня выдается число «624 499,00».

Очень странно. Перед тем, как Вам ответить, специально протестировал на чистом файле. Моя теория подтвердилась. Видимо, есть ещё какой-то фактор, влияющий на вывод.

Но ведь деление — тоже вполне себе элегантное решение :)

Здравствуйте, помогите пожалуйста решить слудующую задачу: пытаюсь создать формулу в гугл докс (таблица ексель) чтобы автоматически импортировало в ячейку актуальные курсы некоторых криптовалют, например Биткойн/евро и Рыппл/евро с сайта https://www.bitstamp.net/. Как написать формулу чтобы ето работало. Заренее всем благодарен за ответ. С уважением Марьян.

Добрый день. Вообще-то работает просто

Но если надо именно с Bitstamp, то лучше брать курс из тех источников, которые отдают данные в нормальном виде. Например, для этого подойдёт Bitstamp API: https://www.bitstamp.net/api/v2/ticker/btceur/ Проблема в том, что данные выдаются в JSON, а в Google Spreadsheets нет встроенной функции для обработки этого формата. Можно написать свою, но это работа со скриптами. Оно Вам надо?

Здравствуйте, спасибо за быстрый ответ. Через =GOOGLEFINANCE(«BTCEUR») это я сделал но там нету другой крипты. Идеально было бы взять курсы с https://coinmarketcap.com/#EUR. Там есть практически вся крипта. Но для этого мне уже знаний не зватает.

Вот прям такой в точности тикер — BTCEUR — точно есть. У меня это работает. В точности Ваш пример — биткойн и евро.

Зачем скрипт? Всё в одну строчку умещается, если с importdata заюзать index, sustitute, regexextract и value. Но проблема в том, что всё эти IMPORTXML,IMPORTDATA, GOOGLEFINANCE это не текущие (не real-time) котировки, временной лаг до 20 минут! Я вообще сомневаюсь, что в гугл докс возможно организовать обновление котировок хотя бы раз в секунду. Т.е. все эти функции можно применять только для долгосрочного планирования, но не для определения текущих котировок в данный момент.

📎📎📎📎📎📎📎📎📎📎