Подскажите, как вывести через GOOGLEFINANCE мин/макс цену начиная с даты (из ячейки) и по текущий день?
Не выходит что-то https://support.google.com/docs/answer/3093281?hl=ru
RRomanov, да это неудобно. знаю несколько вариантов, как с этим бороться. 1) в настройках таблицы выбрать региональные настройки типа США (тогда разделителем будет считаться точка, а не запятая). 2) заменить разделитель десятичных знаков в выдаче
3) Для выдачи в csv формате Есть параметр iss.dp=comma
4) Добавить свою функцию в AppScript. И потом вызывать ее в ячейке командой =ISS_PREV_PRICE(«SBER»). Для вашего примера так:
/**
* Get security prev day price.
* @param Ticker
* @return price.
* @customfunction
*/
function ISS_PREV_PRICE(TICKER = 'TECH') {
var jsonData = UrlFetchApp.fetch("http://iss.moex.com/iss/engines/stock/markets/shares/securities/"+TICKER+".json?iss.meta=off&iss.only=securities&securities.columns=PREVADMITTEDQUOTE&iss.dp=comma");
var data = JSON.parse(jsonData);
var my = data.securities.data.map(parseFloat);
return my.shift();
}
=QUERY(GOOGLEFINANCE("MCX:SBER";"high";DATE(2021;1;1);TODAY());"SELECT Max(Col2) LABEL Max(Col2) ''")Минимум сбера с начала года:
=QUERY(GOOGLEFINANCE("MCX:SBER";"low";DATE(2021;1;1);TODAY());"SELECT MIN(Col2) LABEL MIN(Col2) ''")вместо DATE(2021;1;1) — вписать адрес ячейки
Минимум сбера с начала года:
=MIN(ARRAYFORMULA(VALUE(SUBSTITUTE(IMPORTXML("http://iss.moex.com//iss/engines/stock/markets/shares/securities/sber/candles.xml?from=2021-01-01&interval=31";"//row/@low");".";","))))Максимум сбера с начала года:
=MAX(ARRAYFORMULA(VALUE(SUBSTITUTE(IMPORTXML("http://iss.moex.com//iss/engines/stock/markets/shares/securities/sber/candles.xml?from=2021-01-01&interval=31";"//row/@high");".";","))))=SUBSTITUTE(IMPORTXML("http://iss.moex.com/iss/engines/stock/markets/shares/securities/tech.xml?iss.meta=off&iss.only=securities&securities.columns=PREVADMITTEDQUOTE&iss.dp=comma";"//row/@PREVADMITTEDQUOTE");".";",")3) Для выдачи в csv формате Есть параметр iss.dp=comma4) Добавить свою функцию в AppScript. И потом вызывать ее в ячейке командой =ISS_PREV_PRICE(«SBER»). Для вашего примера так:
/** * Get security prev day price. * @param Ticker * @return price. * @customfunction */ function ISS_PREV_PRICE(TICKER = 'TECH') { var jsonData = UrlFetchApp.fetch("http://iss.moex.com/iss/engines/stock/markets/shares/securities/"+TICKER+".json?iss.meta=off&iss.only=securities&securities.columns=PREVADMITTEDQUOTE&iss.dp=comma"); var data = JSON.parse(jsonData); var my = data.securities.data.map(parseFloat); return my.shift(); }Только зарегистрированные и авторизованные пользователи могут оставлять ответы.
Залогиниться
Зарегистрироваться