Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/6.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 数据输入表单,用于在google工作表中为每个指定列选择下一个打开的行_Google Apps Script - Fatal编程技术网

Google apps script 数据输入表单,用于在google工作表中为每个指定列选择下一个打开的行

Google apps script 数据输入表单,用于在google工作表中为每个指定列选择下一个打开的行,google-apps-script,Google Apps Script,我试图创建一个数据输入表单,将数据提交到数据表的第一个打开行。问题是数据表的其中一列中有公式,所以它不是真正的空。这会导致当前脚本考虑带有公式的单元格,并仅选择其后面的行 你们能帮我解决这个问题吗 当前脚本如下所示: function submitData() { var ss = SpreadsheetApp.getActiveSpreadsheet(); var formSS = ss.getSheetByName("FORM"); //For

我试图创建一个数据输入表单,将数据提交到数据表的第一个打开行。问题是数据表的其中一列中有公式,所以它不是真正的空。这会导致当前脚本考虑带有公式的单元格,并仅选择其后面的行

你们能帮我解决这个问题吗

当前脚本如下所示:

function submitData() {
  var ss        = SpreadsheetApp.getActiveSpreadsheet();
  var formSS    = ss.getSheetByName("FORM"); //Form Sheet
  var datasheet = ss.getSheetByName("DATA"); //Data Sheet

  //Input Values
  var values = [[formSS.getRange("D4").getValue(),
  formSS.getRange("D8").getValue(),
  formSS.getRange("D12").getValue(),
  formSS.getRange("D16").getValue(),
  formSS.getRange("D20").getValue(),
  formSS.getRange("D24").getValue(),
  formSS.getRange("D28").getValue(),
  formSS.getRange("L32").getValue()]];

  datasheet.getRange(datasheet.getLastRow()+1, 1, 1, 8).setValues(values);
}
通过计算行内容,可以找到第一个空闲行 样品

var-freeRow;
var columnI=datasheet.getRange(“I1:I”+datasheet.getLastRow()).getDisplayValues().flat();
对于(变量i=0;i
此外,您使用的是
表单提交
触发器,您使用的是

样品

函数提交数据(e){
var范围=e范围;
var row=range.getRow();
//这是插入了最新表单响应的行-根据需要使用它
...
}
您可以通过计算行内容找到第一个空闲行 样品

var-freeRow;
var columnI=datasheet.getRange(“I1:I”+datasheet.getLastRow()).getDisplayValues().flat();
对于(变量i=0;i
此外,您使用的是
表单提交
触发器,您使用的是

样品

函数提交数据(e){
var范围=e范围;
var row=range.getRow();
//这是插入了最新表单响应的行-根据需要使用它
...
}

我不确定是否理解
这会导致当前脚本考虑带公式的单元格,并且只选择其后面的行。
。是否要将值设置到第一个空行中?即使该行包含公式?是,表单将填充数据表列a到H和K。列I中有一个公式,用于计算未完成作业的天数。公式应采用正在填充的数据并计算所述信息。但现在,公式被视为一个被占用的单元格,脚本将选择它下面的下一行。如果有助于澄清,我可以发送一份文档副本。我不确定我是否理解
这会导致当前脚本考虑带公式的单元格,并且只选择其后面的行。
。是否要将值设置到第一个空行中?即使该行包含公式?是,表单将填充数据表列a到H和K。列I中有一个公式,用于计算未完成作业的天数。公式应采用正在填充的数据并计算所述信息。但现在,公式被视为一个被占用的单元格,脚本将选择它下面的下一行。如果有助于澄清的话,我可以发送一份文件的副本。啊,哇,效果很好。不过,我正试图确切地理解它是如何工作的。你能给我解释一下吗。(对不起,我还在学习)代码循环遍历列i的所有单元格并检查其内容。如果内容为空(
columnI[i]==“
),则该行被视为空闲。我建议你看一看这个和那个,以获得更深入的理解。啊,哇,这真是太好了。不过,我正试图确切地理解它是如何工作的。你能给我解释一下吗。(对不起,我还在学习)代码循环遍历列i的所有单元格并检查其内容。如果内容为空(
columnI[i]==“
),则该行被视为空闲。我建议你看一看和,以获得更深入的理解。