我正在制作一个多部分的问卷(共3份),我想用4张纸来保存数据(一位主数据,每节一个数据)。
在将新行添加到母版表并将其动态化以使它不会每次都拉出同一行时,我如何将数据从主电子表格发送到另一张表?
我在网上找到了该脚本:
,但是不幸的是,它用于在图纸之间移动数据。可以改建吗?
谢谢!
答案 0 :(得分:1)
要将值发送到另一张表(从您的主表开始),可以使用onFormSubmit
函数,该函数将在每次提交表单时及其包含event object的Restrictions时触发。表单中的信息,您将可以根据需要将这些值传递到其他工作表中。
// This will be triggered every time the form is submitted
function onFormSubmit(e) {
// Get all sheets in the active spreadsheet
var sheetsArr = SpreadsheetApp.getActiveSpreadsheet().getSheets();
// Get the second sheet
var slaveSheet1 = sheetsArr[1];
// Get the row where the values will be inserted
var rowVals = slaveSheet1.getLastRow() + 1;
// The number of cols where you will puth the values
var numberOfCols = e.values.length;
// Set values that came from the form
slaveSheet1.getRange(rowVals, 1, 1, numberOfCols).setValues([e.values]);
}
请注意可安装的触发器{{3}}。
答案 1 :(得分:0)
也许setFormula类可以为您提供帮助,它可以是动态的,也可以使用触发器进行更新
sheet.getRange(1,1,1,1).setFormula('=IMPORTRANGE("SPREADSHEET_URL", "SHEET_NAME!'+rangevariable1inA1notation+':'+rangevariable2inA1notation+'")');
确保获得所需的范围,以及这两个变量的符号以获取动态范围:
var rangevariable1inA1notation = sheet.getRange(1,1).getA1Notation(); // for example, instead of 1,1 it could be your own variable
var rangevariable2inA1notation = sheet.getRange(2,2).getA1Notation(); //for example