Size: a a a

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

2018 August 05

M

Mike in Чат | Google Таблицы и скрипты
Алексей Веселов
Если есть уникальный id тоесть то строку найти через поискпоз легко
Это в формуле? Но можно ли  скриптом?
источник

АВ

Алексей Веселов... in Чат | Google Таблицы и скрипты
Mike
Это в формуле? Но можно ли  скриптом?
В скриптах я слаб, но можно же задействовать частично ячейку с данной формулой в скрипте?
источник

EN

Eugeny Namokonov in Чат | Google Таблицы и скрипты
Vaso Telvi
Туда можно засунуть if с нужными вариантами. - а вот это уже новость. БлагоДарю! Буд пробовать
еще можно сослаться на выпадающий список с нужным диапазоном
источник

M

Mike in Чат | Google Таблицы и скрипты
Алексей Веселов
В скриптах я слаб, но можно же задействовать частично ячейку с данной формулой в скрипте?
Как раз пытаюсь перейти от формул на скрипт из за того что невозможно данные в фоновом режиме обновлять при использовании формул
источник

АВ

Алексей Веселов... in Чат | Google Таблицы и скрипты
Mike
Как раз пытаюсь перейти от формул на скрипт из за того что невозможно данные в фоновом режиме обновлять при использовании формул
Понятно)
источник

EN

Eugeny Namokonov in Чат | Google Таблицы и скрипты
Vaso Telvi
Туда можно засунуть if с нужными вариантами. - а вот это уже новость. БлагоДарю! Буд пробовать
или вложенный if, как здесь
источник

NK

ID:541134294 in Чат | Google Таблицы и скрипты
Mike
Как раз пытаюсь перейти от формул на скрипт из за того что невозможно данные в фоновом режиме обновлять при использовании формул
формулы как раз фоновой и обновляют данные то что пересчёт может тупить это я согласен так и скрипт пока работает тоже может вешать таблицу а иногда даже необходима блокировкп
источник

VT

Vaso Telvi in Чат | Google Таблицы и скрипты
Eugeny Namokonov
или вложенный if, как здесь
Спасибо!
источник

EN

Eugeny Namokonov in Чат | Google Таблицы и скрипты
Mike
Все в общем-то заработало - кроме одного момента: мне надо подсчитать 
какой номер строки у определенного ID из списка: 
https://iss.moex.com/iss/engines/stock/markets/bonds/boards/EQOB/securities.xml?iss.meta=off&iss.only=securities&securities.columns=SECID
Например RU000A0ZZ0D3 - это строка № 1179.
Привет, как посчитать номер элемента в массиве? Ну, например, так

function numbernumber(){ 
var array = ['RU000A0JNYN1', 'RU000A0JPJE6', 'RU000A0JPLU8']
var number = array.indexOf('RU000A0JPLU8')
Logger.log(number) //вернет 2
}
источник

M

Mike in Чат | Google Таблицы и скрипты
Eugeny Namokonov
Привет, как посчитать номер элемента в массиве? Ну, например, так

function numbernumber(){ 
var array = ['RU000A0JNYN1', 'RU000A0JPJE6', 'RU000A0JPLU8']
var number = array.indexOf('RU000A0JPLU8')
Logger.log(number) //вернет 2
}
Спасибо! Попробую
источник

EN

Eugeny Namokonov in Чат | Google Таблицы и скрипты
или так, если массив 2д

function number(){
 
 var array = [['vasya', 100], ['petya', 200], ['gosha', 300]]
 var number
 
 for(x=0; x<array.length; x++){
   array[x][0]==='gosha' ? number = x: ''      
 }
 Logger.log(number) //вернет 2

}
источник

NK

ID:541134294 in Чат | Google Таблицы и скрипты
а в query  в запросе можно использовать только функции даты ?
источник
2018 August 06

M

Mike in Чат | Google Таблицы и скрипты
Eugeny Namokonov
Привет, как посчитать номер элемента в массиве? Ну, например, так

function numbernumber(){ 
var array = ['RU000A0JNYN1', 'RU000A0JPJE6', 'RU000A0JPLU8']
var number = array.indexOf('RU000A0JPLU8')
Logger.log(number) //вернет 2
}
Написал функцию, но никак не могу поместить xml или json ( api может выдавать в обоих форматах) в массив - прошу помощи.

function GetMoexNnn(ISIN){ 
  var res = ISIN.substring(0, 2); //первые два символа
  if (res=="SU") {    //определяем ОФЗ
  var nnn = "0";
  return nnn
  }
  if (res=="RU") {    //определяем корпоративные облигации
  var XMLurl = 'https://iss.moex.com/iss/engines/stock/markets/bonds/boards/EQOB/securities.xml?iss.meta=off&iss.only=securities&securities.columns=SECID';
  var JSONUrl = 'https://iss.moex.com/iss/engines/stock/markets/bonds/boards/EQOB/securities.json?iss.meta=off&iss.only=securities&securities.columns=SECID';
  var html = UrlFetchApp.fetch(XMLurl).getContentText();  

//вариант 1 - не сработал
  var response = UrlFetchApp.fetch(JSONUrl);
  var data = JSON.parse(response.getContentText());
  if (!data.length) {
      return [];
      }
  var rows = [];
  var headers = Object.keys(data[0]);
  rows.push(headers);
  for (var i=0; i<data.length; i++) {
       var row = [];
       for (var j=0; j<headers.length; j++) {
           row.push(data[i][headers[j]]);
            }
       rows.push(row);
  }

//вариант 2 - не сработал
    var inputArray = []
    var rates = html.rates
    for (var j in rates){
    inputArray.push([j,rates[j]])
     }
  
  //var array = ['RU000A0JNYN1', 'RU000A0JPJE6', 'RU000A0JPLU8']
  //var nnn = array.indexOf('RU000A0JPLU8')
  nnn = +nnn+50; //перевод в число
  return nnn
  }
}


Проверить: =GetMoexNnn("RU000A0ZZ0D3")
источник

EN

Eugeny Namokonov in Чат | Google Таблицы и скрипты
Mike
Написал функцию, но никак не могу поместить xml или json ( api может выдавать в обоих форматах) в массив - прошу помощи.

function GetMoexNnn(ISIN){ 
  var res = ISIN.substring(0, 2); //первые два символа
  if (res=="SU") {    //определяем ОФЗ
  var nnn = "0";
  return nnn
  }
  if (res=="RU") {    //определяем корпоративные облигации
  var XMLurl = 'https://iss.moex.com/iss/engines/stock/markets/bonds/boards/EQOB/securities.xml?iss.meta=off&iss.only=securities&securities.columns=SECID';
  var JSONUrl = 'https://iss.moex.com/iss/engines/stock/markets/bonds/boards/EQOB/securities.json?iss.meta=off&iss.only=securities&securities.columns=SECID';
  var html = UrlFetchApp.fetch(XMLurl).getContentText();  

//вариант 1 - не сработал
  var response = UrlFetchApp.fetch(JSONUrl);
  var data = JSON.parse(response.getContentText());
  if (!data.length) {
      return [];
      }
  var rows = [];
  var headers = Object.keys(data[0]);
  rows.push(headers);
  for (var i=0; i<data.length; i++) {
       var row = [];
       for (var j=0; j<headers.length; j++) {
           row.push(data[i][headers[j]]);
            }
       rows.push(row);
  }

//вариант 2 - не сработал
    var inputArray = []
    var rates = html.rates
    for (var j in rates){
    inputArray.push([j,rates[j]])
     }
  
  //var array = ['RU000A0JNYN1', 'RU000A0JPJE6', 'RU000A0JPLU8']
  //var nnn = array.indexOf('RU000A0JPLU8')
  nnn = +nnn+50; //перевод в число
  return nnn
  }
}


Проверить: =GetMoexNnn("RU000A0ZZ0D3")
@rhojar, получилось?
источник

M

Mike in Чат | Google Таблицы и скрипты
Eugeny Namokonov
@rhojar, получилось?
Что-то нет. logger.log() у меня не работает и толком не могу понять что он возвращает.

Номер строчки определенного id он не возвращает - надо пилить скрипт
источник

EN

Eugeny Namokonov in Чат | Google Таблицы и скрипты
Mike
Что-то нет. logger.log() у меня не работает и толком не могу понять что он возвращает.

Номер строчки определенного id он не возвращает - надо пилить скрипт
function test(){
 var result = GetMoexNnn("RU000A0JPLU8")
 Logger.log(result)  
}


function GetMoexNnn(ISIN){
 var JSONUrl = 'https://iss.moex.com/iss/engines/stock/markets/bonds/boards/EQOB/securities.json?iss.meta=off&iss.only=securities&securities.columns=SECID';
 var response = UrlFetchApp.fetch(JSONUrl);
 var data = JSON.parse(response.getContentText());
 var dd = data.securities.data
 
 for(x=0; x<dd.length; x++){
   if(dd[x][0]==ISIN){
     var number = x
     break
     }
 }
return number
}
источник

EN

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

EN

Eugeny Namokonov in Чат | Google Таблицы и скрипты
выводите в журнал то, что происходит в коде - будет гораздо проще
источник

M

Mike in Чат | Google Таблицы и скрипты
Eugeny Namokonov
вы не вошли внутрь ассоциативного массива, у вас этого не было
Спасибо!
источник

EN

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