拖动单元格时如何在函数参数中增加数字

时间:2020-01-15 06:43:35

标签: google-apps-script google-sheets google-sheets-formula array-formulas google-sheets-macros

我有一个自定义函数(在下面查找),可以将jason数据解析为googlesheets。使用函数我正在使用以下参数检索值。

=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 个答案:

答案 0 :(得分:1)

假设您在第4行中使用此公式,则可以尝试

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

看看是否有帮助?

答案 1 :(得分:1)

尝试:

=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"))