0

我有几个用户填写的 Google 表单。效果很好,但有它的局限性。

我想将从活动工作表输入的数据复制到一个名为“工作”的新工作表中,除了第一行之外的所有信息。在第一行中,我有一些数组公式,当在活动工作表上输入新数据时,它们会填充一些单元格。

第二张工作表(工作)有一个标题行,其中包含所有格式、数据验证、一些公式等(第 1 行)。当通过表单添加新记录时,无法应用此信息..所以我被告知..

因此,一旦从活动工作表(称为活动工作表)复制数据,我希望根据“工作”工作表的标题行(第 1 行)对新数据进行格式化,并包含所有格式、验证、公式等应用于新数据。

这是可行的吗?在编写脚本方面,我是菜鸟,因此非常感谢您提供完整的解决方案。

这是一个示例表单,您可以使用 https://docs.google.com/spreadsheet/ccc?key=0AplugTacg-08dFNRUHROSW82bDhESkxBdjVTV0NOLUE

我注意到的第一件事不能只是复制/粘贴,因为数组公式会将事情搞砸,所以它必须是特殊的粘贴 - 仅限值

非常感谢任何帮助。

4

1 回答 1

0

我对你所做的事情背后的逻辑有点挣扎,但我已经在你的电子表格副本中的工作表“work2”中尝试了一个解决方案。也许有一个游戏并报告什么是不正确或缺失的。

脚本是这样的:

function onFormSubmit(e) {
  var sheet = SpreadsheetApp.getActive().getSheetByName('work2');
  var nextRow = sheet.getRange(sheet.getLastRow() + 1, 1, 1, 9); 
  sheet.getRange(2, 1, 1, 9).copyTo(nextRow);
  var sLength = e.values[2].length;
  var huuh = e.values[3] * sLength;
  var pending = e.values[3] * e.values[3] / huuh;
  var nextMonth = e.values[3] + pending;
  nextRow.setValues([[e.values[0], e.values[1], huuh, e.values[2], sLength, e.values[3], 'Please select action', pending, nextMonth]]);
}

并附加了一个“表单提交”触发器。

于 2012-07-13T03:24:21.180 回答