Как увеличить число в параметре функции при перетаскивании ячеек - PullRequest
0 голосов
/ 15 января 2020

У меня была пользовательская функция (см. Ниже), которая анализирует данные о Джейсоне и таблицы Google. Используя функцию, я получаю значения, используя следующие параметры.

=IMPORTJSON("https://mirko.com/api/v3/financials/income-statement/"&C4&"","financials/0/date")

Я хочу, чтобы значения в "financials / 0 / date" увеличивались следующим образом 1,2,3, ..... x. Как я мог это сделать.

/**
* Imports JSON data to your spreadsheet Ex: IMPORTJSON("http://myapisite.com","city/population")
* @param url URL of your JSON data as string
* @param xpath simplified xpath as string
* @customfunction
*/
function IMPORTJSON(url,xpath){

  try{
    // /rates/EUR
    var res = UrlFetchApp.fetch(url);
    var content = res.getContentText();
    var json = JSON.parse(content);

    var patharray = xpath.split("/");
    //Logger.log(patharray);

    for(var i=0;i<patharray.length;i++){
      json = json[patharray[i]];
    }

    //Logger.log(typeof(json));

    if(typeof(json) === "undefined"){
      return "Node Not Available";
    } else if(typeof(json) === "object"){
      var tempArr = [];

      for(var obj in json){
        tempArr.push([obj,json[obj]]);
      }
      return tempArr;
    } else if(typeof(json) !== "object") {
      return json;
    }
  }
  catch(err){
      return "Error getting data";  
  }

}

Ответы [ 2 ]

1 голос
/ 15 января 2020

Попробуйте:

=ARRAYFORMULA(IMPORTJSON("https://mirko.com/api/v3/financials/income-statement/"&C4:C, 
 "financials/0/date"))

или:

=ARRAYFORMULA(IMPORTJSON("https://mirko.com/api/v3/financials/income-statement/"&C4:C, 
 "financials/"&ROW(C4:C)-4&"/date"))
1 голос
/ 15 января 2020

Если вы используете эту формулу в строке 4, вы можете попробовать

=IMPORTJSON("https://mirko.com/api/v3/financials/income-statement/"&C4,"financials/"&row(C4)-4&"/date")

и посмотреть, поможет ли это?

...