我有一个Google Sheet,其中包含两张纸;一个名为“表格”,在其中输入数据,另一个名为“数据”,在其中接收输入的数据。我正在寻找的最佳方法是在“表单”表上具有“自动填充”按钮,并使用“数据表”中列A的最后一个数字填充单元格B2,再加上1。
[目前,我是通过公式进行工作的:=INDEX(Data!A2:A,COUNTA(Data!A2:A))+1
链接到数据表上的单元格F1,并通过链接到此代码的按钮复制到表单表上的单元格B2:
function AutoFill() {
var sheet1 = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Data');
var sheet2 = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Form');
sheet1.getRange('F1').copyTo(sheet2.getRange('B2'),{contentsOnly:true})
}
..但这并不理想。我猜测最好的方法是将公式直接转换为脚本,但是我不确定如何转换其功能。有人有什么想法吗?
如果我的理解是正确的,那么该修改如何?我认为使用公式可以使情况变得简单。但是,如果您只想在单击按钮时更改该值,则使用脚本可能适合实现它。我认为您的情况有几个答案。因此,请仅将此作为几个答案之一。
在此修改中,您的脚本已修改。请如下修改AutoFill
的功能。
function AutoFill() {
var sheet1 = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Data');
var sheet2 = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Form');
var valueOfData = sheet1.getRange(sheet1.getLastRow(), 1).getValue(); // Added
sheet2.getRange('B2').setValue(valueOfData + 1); // Added
}
如果我误解了您的问题,而这不是您想要的结果,我深表歉意。