Arrays Google脚本:在同一行上组合多个函数和输出(cell+[1][2]等)

Arrays Google脚本:在同一行上组合多个函数和输出(cell+[1][2]等),arrays,string,google-apps-script,custom-function,Arrays,String,Google Apps Script,Custom Function,我在谷歌脚本中遇到了一些困难。我希望达到的目标是: 1-从A1获取编号 2-从数字开始,有多个返回 3-在相邻单元格A2、A3中,将这些返回设置为与原始编号相同的行A 现在的样子: function GETALLTWO(bid) { if (input.map) { return input.map(GETALLTWO) } else { return input; } var api_str = "client_id=randomstringofnum

我在谷歌脚本中遇到了一些困难。我希望达到的目标是:

1-从A1获取编号

2-从数字开始,有多个返回

3-在相邻单元格A2、A3中,将这些返回设置为与原始编号相同的行A

现在的样子:

function GETALLTWO(bid) {
  if (input.map) {     
    return input.map(GETALLTWO)
  } else {
    return input;
  }
  var api_str = "client_id=randomstringofnumbers&client_secret=anotherrandomstringofnumbers";
  var url= "https://api.untappd.com/v4/beer/info/" + bid + "?" + api_str;
  var response = UrlFetchApp.fetch(url);
  if (response.getResponseCode() == 200) {
    var respObj = JSON.parse(response.getContentText());
    var beer = respObj.response.beer;
    if (beer.bid == bid) {
      return beer.beer_name;
      return beer.rating_score;
      return beer.stats.total_user_count;
      return beer.rating_count;
      return beer.stats.monthly_count;
      return beer.created_at;
    }
  }
}
从Code.gs,我可以第一次返回工作,但是我是否正确地组合了不同的函数?我如何设置返回的位置

希望有人能帮忙,愿意了解更多关于脚本的知识

//编辑以备将来参考:

function getAll(bid) {
  var ss=SpreadsheetApp.getActive();
  var sh=ss.getSheetByName('Overview')
  var row=sh.getActiveCell().getRow();
  var bid=sh.getRange(row,3).getValue();
  var api_str =     "client_id=randomstring&client_secret=randomstring";
  var url= "https://api.untappd.com/v4/beer/info/" + bid + "?" +     api_str;
  var response = UrlFetchApp.fetch(url);
  if (response.getResponseCode() == 200) {
    var respObj = JSON.parse(response.getContentText());
    var beer = respObj.response.beer;
    if (beer.bid == bid) {
      var rObj= {name:beer.beer_name,rating:beer.rating_score,totalcount:beer.stats.total_user_count,ratingcount:beer.rating_count,monthlycount:beer.stats.monthly_count,createddate:beer.created_at};
      values=[[rObj.name,rObj.ratingcount,rObj.rating,rObj.totalcount,rObj.monthlycount,rObj.createddate]];
      return values;
    }
  }
}

使用此函数,您只需将光标放在希望从中获取出价的行上。它将从D列开始将数据放回该行

function getAllTwo() {
  var ss=SpreadsheetApp.getActive();
  var sh=ss.getSheetByName('Your Sheet Name')
  var row=sh.getActiveCell().getRow();
  var bid=sh.getRange(row,3).getValue();
  var api_str = "client_id=randomstringofnumbers&client_secret=anotherrandomstringofnumbers";
  var url= "https://api.untappd.com/v4/beer/info/" + bid + "?" + api_str;
  var response = UrlFetchApp.fetch(url);
  if (response.getResponseCode() == 200) {
    var respObj = JSON.parse(response.getContentText());
    var beer = respObj.response.beer;
    if (beer.bid == bid) {
      var rObj= {name:beer.beer_name,rating:beer.rating_score,totalcount:beer.stats.total_user_count,ratingcount:beer.rating_count,monthlycount:beer.stats.monthly_count,createdate:beer.created_at};
      values=[[rObj.name,rObj.ratingcount,rObj.rating,rObj.totalcount,rObj.monthlycount,rObj.createddate]];
      sh.getRange(row,4,values.length,values[0].length).setValues(values);
    }
  }
}

同一行还是同一列?A2、A3为同一列。A1,B1是同一行谢谢,我把input.map留在脚本外了。我认为这对阵列是必要的。现在我想知道结果会怎样;函数GETALLTWObid从单元格中获取数字。我希望函数在同一行的单元格中显示返回值。我该怎么办?现在我只得到一个空白单元格。你能分享你的电子表格图像吗?不是电子表格,只是一张图片。工作表的名字是什么?如果我们在运行函数时从光标所在行的工作表中获取数据,然后可以将其返回到同一行,怎么样?我只是继续,并假设这样做是可以的。看看我的答案。如果你不同意我的方法,那就建议一个你自己的方法,我会按照你的方式去做;我现在慢慢地明白了一点!