Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/5.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 GoogleSheet脚本移动到与单元格值同名的工作表_Google Apps Script_Google Sheets - Fatal编程技术网

Google apps script GoogleSheet脚本移动到与单元格值同名的工作表

Google apps script GoogleSheet脚本移动到与单元格值同名的工作表,google-apps-script,google-sheets,Google Apps Script,Google Sheets,我有一张6栏的纸。第1行是标题,每个工作表都有相同的标题和列 我已经尝试了一些类似的代码,我在网上找到了这些代码并进行了编辑,但是可以让它们正确地用于多张图纸 function copyrange() { var ss = SpreadsheetApp.getActiveSpreadsheet(); var sheet = ss.getSheetByName('Source'); var testrange = sheet.getRange('F:F'); var testva

我有一张6栏的纸。第1行是标题,每个工作表都有相同的标题和列

我已经尝试了一些类似的代码,我在网上找到了这些代码并进行了编辑,但是可以让它们正确地用于多张图纸

function copyrange() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheetByName('Source');
  var testrange = sheet.getRange('F:F');
  var testvalue = (testrange.getValues());
  var csh = ss.getSheetByName('target');
  var data = [];
  var j =[];

for (i=0; i<testvalue.length;i++) {
  if ( testvalue[i] == 'Completed') {
  data.push.apply(data,sheet.getRange(i+1,1,1,25).getValues());
  //Copy matched ROW numbers to j
  j.push(i);
 }
 }


 csh.getRange(csh.getLastRow()+1,1,data.length,data[0].length).setValues(data);


  for (i=0;i<j.length;i++){
  var k = j[i]+1;
  sheet.deleteRow(k);


  if (!(i == j.length-1)) {
  j[i+1] = j[i+1]-i-1;
}
}
函数copyrange(){
var ss=SpreadsheetApp.getActiveSpreadsheet();
var sheet=ss.getSheetByName('Source');
var testrange=sheet.getRange('F:F');
var testvalue=(testrange.getValues());
var csh=ss.getSheetByName('target');
var数据=[];
var j=[];

对于(i=0;i在收集符合条件的数据时删除行

function moveRows() {
  var ss=SpreadsheetApp.getActive();
  var sheet=ss.getSheetByName('Source');
  var vA=sheet.getRange(1,1,sheet.getLastRow(),sheet.getLastColumn()).getValues();
  var csh=ss.getSheetByName('target');
  var d=0;//deleted row counter
  var data=[];
  for(var i=0;i<vA.length;i++) {
    if (vA[i][5]=='Completed') {
      data.push(vA[i]);
      sheet.deleteRow(i+1-d++);//increment deleted row counter as you delete rows
    }
  }
  csh.getRange(csh.getLastRow()+1,1,data.length,data[0].length).setValues(data);
}
函数moveRows(){
var ss=SpreadsheetApp.getActive();
var sheet=ss.getSheetByName('Source');
var vA=sheet.getRange(1,1,sheet.getLastRow(),sheet.getLastColumn()).getValues();
var csh=ss.getSheetByName('target');
var d=0;//已删除行计数器
var数据=[];

对于(var i=0;i
if(testvalue[i]='Completed')
应该是
if(testvalue[i][0]='Completed')
而这个
var testrange=sheet.getRange('F:F');
最好是这个
var testrange=sheet.getRange(1,6,sheet.getLastRow(),1)
这太棒了,谢谢你,我还有第二个问题,我正在尝试添加9个列表选项,我尝试在代码中添加更多变量,但我似乎可以让它工作,或者让它阅读第6列,然后移到列出的表中什么是列表选项?它们只是列表1、列表2等。我仍然不明白。没有提到请回答您的问题。它们是列、行、表吗?很抱歉造成混淆。我感谢您的帮助。我将在最后一张表中使用的值,而不是“完成”是“列表1”,我必须将我的行排序到最多9张表中,所有这些表都命名为“列表1”“列表2”,等等。在F列中,它们是下拉列表,我将选择它们,并且该行将移动到相应的位置床单。我希望澄清。非常感谢