我想找到一种方法,例如我有sheet1和sheet2:
第1页是我写数据的地方,比如A1:E10。
在我输入完所有数据后,我可以按下或运行一个脚本,将其最终传输到表2上吗?
无论在我提交数据后Sheet1中发生了什么,它都必须能够留在那里。
我需要的另一个功能是Sheet1中的数据可以更长(A1:E15)或有时更少,但每次低于最后一次输入时都必须传输并停留在工作表2中。
我想避免使用Google表单,因为它非常基本,并且在所说的A1中:E15我有计算公式,因此我无法真正使用Google表单。
答案 0 :(得分:0)
我们假设您的输入位于input!A1:E
,输出位于output!A:E
。
在菜单栏中,选择“脚本编辑器”,然后键入以下脚本:
function writeData () {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var inSheet = ss.getSheetByName("input");
var input = inSheet.getRange(1, 1, inSheet.getLastRow(), 5)
.getValues;
var outSheet = ss.getSheetByName("output");
var outStartRow = outSheet.getLastRow() + 1;
for (var i = 0; i < input.length; i++) {
for (var j = 0; j < input[i].length; j++) {
outSheet.getRange(outStartRow + i, j + 1)
.setValue(input[i][j]);
}
}
}
function onOpen() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var menuEntries = [];
menuEntries.push({name: "Write data", functionName: "writeData"});
ss.addMenu("Custom functions", menuEntries);
}
保存所有内容,刷新电子表格。如果要永久传输数据,只需转到菜单栏,选择客户功能菜单下的写入数据。