Google apps script 让按钮用另一张工作表上某列的下一个可用数字自动填充单元格的最佳方法是什么?

Google apps script 让按钮用另一张工作表上某列的下一个可用数字自动填充单元格的最佳方法是什么?,google-apps-script,Google Apps Script,我有一本书,里面有两张纸;一个是命名表单,输入数据,另一个是命名数据,接收输入的数据。我要寻找的是让表单上的自动填充按钮用数据表A列的最后一个数字加1填充单元格B2的最佳方法 目前,我通过一个公式进行此操作:=INDEX(Data!A2:a,COUNTA(Data!A2:a))+1,该公式链接到数据表上的单元格F1,并通过链接到此代码的按钮复制到表单表上的单元格B2: function AutoFill() { var sheet1 = SpreadsheetApp.getActiveSp

我有一本书,里面有两张纸;一个是命名表单,输入数据,另一个是命名数据,接收输入的数据。我要寻找的是让表单上的自动填充按钮用数据表A列的最后一个数字加1填充单元格B2的最佳方法

目前,我通过一个公式进行此操作:
=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})
}
但这并不理想。我猜最好是直接将公式转换成脚本,但我不确定如何转换它的功能。有人有什么想法吗?

  • 您希望将该值放入工作表“表单”的单元格“B2”。
    • 该值被用作该值,该值在图纸“数据”的“A”列的最后一行加1
  • 您希望通过单击电子表格上的“自动填充”按钮来运行脚本
  • 您希望使用谷歌应用程序脚本实现这一点
如果我的理解是正确的,这次修改怎么样?我认为使用这个公式可以使情况变得简单。但是,如果只想在单击按钮时更改该值,则使用脚本可能适合实现它。我认为对你的情况有几个答案。所以请把这看作是几个答案中的一个

修改脚本: 在此修改中,您的脚本被修改。请修改
自动填充的功能,如下所示

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
}
  • 该值是工作表“数据”列“A”的最后一行。通过向检索到的值添加1,将其放入shee“表单”的单元格“B2”
参考资料:

如果我误解了你的问题,并且这不是你想要的结果,我很抱歉。

这正是我需要的,非常有用,非常感谢@库巴塞克:谢谢你的回复。我很高兴你的问题解决了。