【问题标题】:Script to copy data between sheets在工作表之间复制数据的脚本
【发布时间】:2018-07-04 22:51:52
【问题描述】:

我正在尝试创建一个脚本来将数据从工作表 1 复制到工作表 2,同时重新排序。我从 Google 表单中获取数据,因此数据会不断更新。

这里有两张图片作为示例。 N°1 是我拥有数据的方式,N°2 是我希望它在工作表 2 中的方式。

这个想法是让脚本在每次出现新行时复制数据。

来自表单的数据。

这就是我想要的样子。

这是我的初始代码:

function copyrange() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheetByName('Ingreso'); //source sheet
  var testrange = sheet.getRange('J:J');
  var testvalue = (testrange.getValues());
  var csh = ss.getSheetByName('Auxiliar Ingreso'); //destination sheet
  var data = [];
  var columnasfijas = [];
  var cadena = [];


  //Condition check in G:G; If true copy the same row to data array
for (i=1; i<testvalue.length;i++) {

  data.push.apply(data,sheet.getRange(i+1,1,1,9).getValues());

  if ( testvalue[i] == 'Si') {
   data = (sheet.getRange(i+1,1,1,9).getValues()).concat  (sheet.getRange(i+1,11,1,9).getValues()); // this beaks up into 2 rows Idon't know why
   /*cadena = (columnasfijas);
   data.push.apply(data, columnasfijas);*/
 }

  csh.getRange(csh.getLastRow()+1,1,data.length,data[0].length).setValues(data);
 }
//Copy data array to destination sheet

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

}

在这一行中,我也无法连接不同长度的数据。应该是:(i+1,1,1,6). concat.....(i+1,11,1,3)

data = (sheet.getRange(i+1,1,1,9).getValues()).concat (sheet.getRange(i+1,11,1,9).getValues()); // this beaks up into 2 rows Idon't know why

当我按原样运行它时,我收到一个错误,长度应该是 9 而不是 3。

【问题讨论】:

  • 您能提供您当前的脚本吗?它将帮助用户思考您的解决方案。

标签: google-apps-script google-sheets copy-paste


【解决方案1】:

这可以更简单地使用公式而不是应用脚本来完成:

=sort(importrange("spreadsheetURL", "Sheet1!A2:AA10000"),sort_col#,TRUE/FALSE,[sort_col2#],[TRUE/FALSE]...)

关于 importrange 函数的文档:https://support.google.com/docs/answer/3093340 排序功能文档:https://support.google.com/docs/answer/3093150

输入公式后,单元格上可能会出现红色三角形,请务必单击单元格并单击“允许访问”按钮,以使一个电子表格可以访问另一个电子表格。

【讨论】:

  • Thaks Ross,但上面提到的公式没有达到要求。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多