Текущий курс валюты (в примере — курс доллара ЦБ РФ) можно получить с помощью следующей функции:
То же самое на любую дату:
Дополнение от 7 янв. 2015:
Спасибо Илье Кочеткову за упрощение формулы. Старый вариант под катом. Возможно, кому-то пригодятся и решения из него. А можно даже ещё проще, т.к. буквенный код валюты уникален:
=IMPORTXML("http://www.cbr.ru/scripts/XML_daily.asp"; "//*[*=""USD""]/Value")
Спасибо Михаилу.
Дополнение от 13 фев. 2016:
Есть способ проще, с использованием встроенной функции:
Однако это не курс ЦБ РФ. Указывать дату также можно; подробная справка по функции находится здесь. Спасибо за подсказку Ивану.
Старый вариант:
То же самое на любую дату:
Во мне умер оптимизатор :) Для четких пацанчиков привязка по 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»)_
Подскажите, пожалуйста — как мне быть? Задача ровно та же самая — иметь в таблице цену золота на сегодняшний день.
Благодарю Вас.
Здравствуйте. Спасибо за отзыв.
Просто сайтом ЦБ РФ сейчас почему-то не выдаются данные по ссылкам:
http://www.cbr.ru/scripts/xml_metall.asp?date_req1=31/07/2017&date_req2=31/07/2017
http://www.cbr.ru/scripts/xml_metall.asp?date_req1=30/07/2017&date_req2=30/07/2017
А вот на 29-е число есть данные:
http://www.cbr.ru/scripts/xml_metall.asp?date_req1=29/07/2017&date_req2=29/07/2017
Хоть это и ЦБ РФ, у них тоже случаются технические ошибки. Напишите им в поддержку о замеченной неисправности. Они обычно чинят.
Удачи!
Приведенная формула выдает целое число, нет запятой после рублей. Соответственно, чтобы использовать в расчетах, приходится импортированное значение делить на 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 минут! Я вообще сомневаюсь, что в гугл докс возможно организовать обновление котировок хотя бы раз в секунду. Т.е. все эти функции можно применять только для долгосрочного планирования, но не для определения текущих котировок в данный момент.
Google Таблицы для этого и не предназначены.
An interesting topic and I’m glad to come across your page where I found some helpful insights. Check out my website UY5 too, if you need additional resources about Thai-Massage.