0

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

“工作表”是指每个选项卡。源选项卡是“Arley” 目标选项卡当前是“ArleysSandbox” 每行都有 ll 列,AK。整行应结转。工作表中的总行数将随着时间的推移而增加。每次我运行脚本时,我都希望它首先清除“ArleysSandbox”上的所有现有数据。K 列显示“过去 30 天内完成”是一个公式。我最终会想要从多个工作表中提取并在沙箱工作表上进行编译。

我使用旧论坛的帖子作为起点,但由于缺乏知识而陷入困境。http://productforums.google.com/forum/#!msg/apps-script/FNGzVkEqZh4/x8WCYtjvpI8J提前感谢您的任何建议。

4

2 回答 2

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);
于 2018-10-30T09:33:23.407 回答
0

不要被冒犯,但我认为这个论坛不是一个可以免费获取应用程序的市场,它应该为试图自己获得结果的人们带来答案。

也就是说,这是一个“骨架”,应该让你走上正确的轨道,我试图用评论解释发生了什么。(没有测试,可能需要调试)

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
  }
} 
于 2012-06-20T21:56:34.547 回答