Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google apps script 在接下来的10行中执行公式_Google Apps Script_Google Sheets_Custom Function - Fatal编程技术网

Google apps script 在接下来的10行中执行公式

Google apps script 在接下来的10行中执行公式,google-apps-script,google-sheets,custom-function,Google Apps Script,Google Sheets,Custom Function,我有一个concat\u自定义脚本,我希望一次执行10行 例如,在本页中: 自定义功能: function concat_custom(s, array) { array = conformToOneDimensionalArray(array); return array.filter(function (value) { return value != ""; }).join("-"); } function conformToOneDimensi

我有一个
concat\u自定义
脚本,我希望一次执行10行

例如,在本页中:

自定义功能:

function concat_custom(s, array) {
    array = conformToOneDimensionalArray(array);

    return array.filter(function (value) {
      return value != "";
    }).join("-");
}

function conformToOneDimensionalArray(value) {
  if (!Array.isArray(value)) {
    value = [value];
  }
  else if (Array.isArray(value[0])) {
    value = value.reduce(function(a, b) {
      return a.concat(b);
    });
  }

  return value;
}
我希望C列有文本
Ted John
,而不是
=concat_custom(“-”,A1:B1)
,因此C列将独立于
A&B
。在本例中,我如何一次处理10行

我希望能够通过定时触发器每分钟处理10行。因此它检查最后一行,然后从那里继续。

尝试以下操作:

function withadash() {
  var ss=SpreadsheetApp.getActive();
  var sh=ss.getActiveSheet();
  var nextrow=getNextRowInColumn3();
  if(nextrow>0) {    
    var rg=sh.getRange(nextrow,1,10,3);
    var vA=rg.getValues()
    for(var i=0;i<vA.length;i++) {
      vA[i][2]=vA[i][0]+'-'+vA[i][1];
    }
    rg.setValues(vA);
  }
}

function getNextRowInColumn3() {
  var ss=SpreadsheetApp.getActive();
  var sh=ss.getActiveSheet();
  var rg=sh.getRange(1,3,sh.getLastRow(),1);
  var vA=rg.getValues();
  for(var i=0;i<vA.length;i++) {
    if(!vA[i][0]) {
      return i+1;
    }
  }
  return 0;
}
函数withadash(){
var ss=SpreadsheetApp.getActive();
var sh=ss.getActiveSheet();
var nextrow=getNextRowInColumn3();
如果(nextrow>0){
var rg=sh.getRange(下一步,1,10,3);
var vA=rg.getValues()

对于(变量i=0;i
=A1:A40&“&B1:B40
?@TheMaster我希望它是永久性的,如果引用的单元格更改,结果列
C
不会更改如果您不需要使用自定义函数,如何通过时间驱动触发器直接使用Google Apps脚本输入您想要的结果值?我认为这将是一个简单的脚本。如果我发现错误erstood您的情况,我道歉。@Tanaike您明白了,我将使用时间驱动触发器每分钟触发10行(因为我将使用的自定义函数API每分钟有10个查询限制)。感谢您的回复。我很高兴您的问题得到了解决。