SOF朋友,
我有一个表单,其中包含一些日期和字符串字段中的一组数字字段。
如何将数字值相加并将总数作为列添加到电子表格中以保存回复?我在哪里写脚本?在表单级别或电子表格级别?
这是我目前所拥有的,作为表单提交的触发器,它不起作用:
function myFunction() {
Logger.log("Spreadsheet: %s", SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getName());
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet();
//sheet.setActiveSelection("M1:M").clear();
var range = sheet.getDataRange();
var values = range.getValues();
var lastrow = range.getLastRow();
var lastcolumn = range.getLastColumn();
Logger.log(lastrow);
Logger.log(lastcolumn);
Logger.log(values[lastrow][10]);
var coll = values[lastrow][6];
var drv = values[lastrow][7];
var clnr = ((values[lastrow][8] != "")? values[lastrow][8]:0);
var dsl = values[lastrow][10];
var gen = values[lastrow][11];
var tot = coll + drv + clnr + dsl + gen;
var singlecell = sheet.getRange(lastrow, 13);
singlecell.setValue(tot);
Logger.log(tot);
}
答案 0 :(得分:1)
要添加到绑定到电子表格的项目的代码示例。
function sumFormResponseItems(e) {
var firstSummand = parseInt(e.namedValues['First summand'][0],10);
var secondSummand = parseInt(e.namedValues['Second summand'][0],10);
var range = e.range;
var row = range.getRow();
var lastColumn = range.getLastColumn();
range.getSheet().getRange(row,lastColumn+1).setValue(firstSummand + secondSummand )
}
添加代码后,添加一个表单提交触发器以使其正常工作。
上面的代码只对提交的响应的值进行求和,而不是对整个工作表数据范围进行相同的操作,这可能会使您返回超出的执行时间限制错误,因为您的代码是开放式引用。
关于是否将脚本添加到电子表格或表单中,如果没有更多详细信息,任何答案都将基于意见。