Size: a a a

Чат | Google Таблицы и скрипты

2018 August 02

M

Mike in Чат | Google Таблицы и скрипты
Но если формул реально много - вручную не надобавляешься - или надо 
какой-то шаблон что для интервал а1:а20 например один шаблон, а для 
другого - другой.

Как лучше сделать думаете?
источник

EN

Eugeny Namokonov in Чат | Google Таблицы и скрипты
Привет!

Самый простой вариант:

1. делаем шаблон с формулами
2. пишем скрипт, который вставляет эти формулы (диапазоном) на новый лист, дает пересчитаться и сразу же заменяет их на значения
3. ???
4. профит!
источник

EN

Eugeny Namokonov in Чат | Google Таблицы и скрипты
Покажу чуть попозже пример.
источник

EN

Eugeny Namokonov in Чат | Google Таблицы и скрипты
Еще можно парсер адаптировать  и не использовать формулы. https://developers.google.com/apps-script/reference/xml-service/xml-service, но это вариант посложнее
источник

EN

Eugeny Namokonov in Чат | Google Таблицы и скрипты
Да и не нужен он, если нужно вытащить ОДНУ цифру
источник

AI

Alexander Ivanov in Чат | Google Таблицы и скрипты
Вообще это бредовая идея. Зачем оно вам? Всегда можно нормально руками пофетчить эти адреса.
источник

EN

Eugeny Namokonov in Чат | Google Таблицы и скрипты
В смысле скриптом?
источник

AI

Alexander Ivanov in Чат | Google Таблицы и скрипты
Ну, да. Формулы, как мне кажется из моег многолетнего опыта, нужны для другого.
источник

EN

Eugeny Namokonov in Чат | Google Таблицы и скрипты
можно и скриптом, не принципиально
источник

AI

Alexander Ivanov in Чат | Google Таблицы и скрипты
Кстати, работать не будет. Только вначале.
источник

EN

Eugeny Namokonov in Чат | Google Таблицы и скрипты
Если там 10-20 формул - то берем двумя строчками копируем их и вставляем как знач
источник

EN

Eugeny Namokonov in Чат | Google Таблицы и скрипты
Я же подсказываю быстрый и дешевый вариант, а не тот, который можно сделать оптимально
источник

AI

Alexander Ivanov in Чат | Google Таблицы и скрипты
Не, я вообще, про смысл. Это реально бессмысленно. Так не делают.
источник

AI

Alexander Ivanov in Чат | Google Таблицы и скрипты
Ну, или я кейса не понимаю.
источник

EN

Eugeny Namokonov in Чат | Google Таблицы и скрипты
Alexander Ivanov
Не, я вообще, про смысл. Это реально бессмысленно. Так не делают.
Смотри

1. человек хочет сделать скрипт, который будет парсить данные и вставлять
2. в скриптах он понимает только копирование формул и вставку их как значения
3. значит, решением будет взять формулу importxml (или несколько), скопировать и вставить как значение, создав триггер на это дело
источник

EN

Eugeny Namokonov in Чат | Google Таблицы и скрипты
можно и без формул обойтись, написав простой парсер, наподобии
источник

EN

Eugeny Namokonov in Чат | Google Таблицы и скрипты
Переслано от Roman
function coinmarketcap(crpt, info, refresh) {  
 var url = 'https://api.coinmarketcap.com/v1/ticker/';
 var full_url = url + crpt;
 var response = UrlFetchApp.fetch(full_url);
 var data = JSON.parse(response.getContentText());
 return Number(data[0][info]);
}

function getRates() {
 var cr = [['bitcoin', 'price_usd', 1],['bitcoin-cash', 'price_usd', 1],['dash', 'price_usd', 1],['ethereum', 'price_usd', 1],['litecoin', 'price_usd', 1],['zcash', 'price_usd', 1]];
 var rates = [];
 
 for(var x=0; x<cr.length; x++){
   var data = coinmarketcap(cr[x][0], cr[x][1], cr[x][2], cr[x][3], cr[x][4], cr[x][5], 1);
   rates.push(data)
 }
 return [rates]
}
 
function pasteRates(){

 var parsed = getRates ();
источник

AI

Alexander Ivanov in Чат | Google Таблицы и скрипты
Возможности порождают разнообразие.
источник

M

Mike in Чат | Google Таблицы и скрипты
Alexander Ivanov
Не, я вообще, про смысл. Это реально бессмысленно. Так не делают.
Например мне нужно брать актуальные данные по котировкам ценных бумаг. Для того чтобы сводить информацию в единую таблицу. Причём не только котировки но и некоторые другие параметры которые тоже общедоступны.
На текущий момент смог через импорт xml это полностью реализовать. Но это происходит только когда таблица открыта а в фоновом режиме если например хочешь построить изменение стоимости активов за какой-то определенный промежуток времени например по неделям или по месяцам importXml уже как бы не работает в фоновом режиме - Поэтому думаю что можно изменить чтобы эту историю строить
источник

M

Mike in Чат | Google Таблицы и скрипты
Eugeny Namokonov
Переслано от Roman
function coinmarketcap(crpt, info, refresh) {  
 var url = 'https://api.coinmarketcap.com/v1/ticker/';
 var full_url = url + crpt;
 var response = UrlFetchApp.fetch(full_url);
 var data = JSON.parse(response.getContentText());
 return Number(data[0][info]);
}

function getRates() {
 var cr = [['bitcoin', 'price_usd', 1],['bitcoin-cash', 'price_usd', 1],['dash', 'price_usd', 1],['ethereum', 'price_usd', 1],['litecoin', 'price_usd', 1],['zcash', 'price_usd', 1]];
 var rates = [];
 
 for(var x=0; x<cr.length; x++){
   var data = coinmarketcap(cr[x][0], cr[x][1], cr[x][2], cr[x][3], cr[x][4], cr[x][5], 1);
   rates.push(data)
 }
 return [rates]
}
 
function pasteRates(){

 var parsed = getRates ();
Спасибо! Буду пробовать
источник