数据中的每一行从具有在塔K的给定值到另一个片材一个表复制(Copy every row of Dat

2019-06-25 15:20发布

我工作的一个谷歌电子表格将使用脚本数据中的每一行从已在列K“完成在过去的30天”到另一个工作表一个工作表复制。

由“表”我的意思是每一个标签。 源标签是“阿利”目的地选项卡是目前“ArleysSandbox”每一行都有LL列,AK。 整个行应结转。 在片材的总的行数将随时间增加。 我每次运行该脚本,我希望它清除“ArleysSandbox”首先是现有数据。 列K,它说:“做在过去30天”是一个公式。 我最终还是会希望从多张拉和编译的沙盒片。

我用的是从旧的论坛为起点后却卡住了,由于我缺乏知识。 http://productforums.google.com/forum/#!msg/apps-script/FNGzVkEqZh4/x8WCYtjvpI8J在此先感谢您的任何建议。

Answer 1:

//Find current filter and remove     
var currentFilter = master_sheet.getFilter();
      if ( currentFilter !== null ) {
        master_sheet.getFilter().remove();
      } 
     var master_lr=master_sheet.getLastRow();
     var master_lc=master_sheet.getLastColumn();


//Apply filter here
      master_sheet.getRange(1,1,master_lr,master_lc).createFilter();
      var criteria = SpreadsheetApp.newFilterCriteria().setHiddenValues(['Reject','Approved']).build();
      master_sheet.getFilter().setColumnFilterCriteria(45, criteria);

      master_sheet.getFilter().getRange().copyTo(harmonize_approvers.getRange(1,1,master_lr-1,master_lc), SpreadsheetApp.CopyPasteType.PASTE_NORMAL, false);


Answer 2:

不要觉得被冒犯,但我认为这个论坛是不是市场的地方,你可以得到免费的应用程序,它为我们带来答案永世试图通过自己得到的结果。

这就是说,这里是一个“skeletton”应该把你在正确的轨道,我试图与发生了什么事的注释来解释。 (没有测试它,也许它需要调试)

function copy2(){
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sh = SpreadsheetApp.setActiveSheet(ss.getSheets()[0]); selects the first sheet in your spreadsheet
  var data=sh.getDataRange().getValues();// data is a 2D array, index0 = col A
  // so column k is index 10
  var target=new Array();// this is a new array to collect data
  for(n=0;n<data.length;++n){ // iterate in the array, row by row
    if (data[n][10]=="Done In The Past 30 Days"){ ;// if condition is true copy the whole row to target
    taget.push(data[n]);// copy the whole row
    }
    }
    if(target.length>0){// if there is something to copy
  var sh2=SpreadsheetApp.setActiveSheet(ss.getSheets()[1]); //second sheet of your spreadsheet
  sh2.getRange(1,1,target.length,target[0].length).setValues();// paste the selected values in the 2cond sheet in one batch write
  }
} 


文章来源: Copy every row of Data from one sheet that has a given value in column K to another sheet