Нехитрую свою домашнюю бухгалтерию я веду в Google Spreadsheet (да, у меня нет паранойи и мне наплевать, что гугл знает сколько я зарабатываю и на что, в общих чертах, трачу).
У меня в расчётах используется, по разным причинам, курс бакса, и со времён введения гуглом функций Google Finance я поражался тому, что через них нельзя получить курсы валют, приходилось раз в месяц соотв. ячейку руками править.
И вот намедни натолкнулся на то, как люди, оказывается,
обходят этот недочёт гугла - через парсинг HTML страниц. Пусть криво, но работает.
Для курса бакса ЦБ я намонстрячил следующую конструкцию:
=REPLACE(Index(ImportHTML("
http://stock.rbc.ru/demo/cb.0/daily/USD.rus.shtml?show=1W";"table";6);2;1); 3; 1; ",")
Да, возможно есть попроще страница с нужной мне цифрой в табличном виде, чем
http://stock.rbc.ru/demo/cb.0/daily/USD.rus.shtml?show=1W, но я не нашёл, да и наплевать - это гуглу её высасывать и парсить, не мне.
Наворот с REPLACE объясняется просто - я использую в spreadsheet русскую локаль (дробная часть отделяется запятой), а практически все наши сайты по неизвестной мне причине (да просто раздолбайство обыкновенное, видимо,
Тёмы на них нет) курсы валют выводят в американской локали (дробная часть отделяется точкой), так что пришлось слегка извратиться.