Function 在谷歌工作表中:点击一个按钮,从多行中添加或删除值的脚本

Function 在谷歌工作表中:点击一个按钮,从多行中添加或删除值的脚本,function,google-apps-script,google-sheets,scripting,Function,Google Apps Script,Google Sheets,Scripting,我正在尝试向多行添加按钮,这些按钮可以从指定行中添加或减去值。这里有一张图片告诉你我想做什么 带有加号和减号按钮的行 我已经接触到这个脚本: function plusB1() { ss=SpreadsheetApp.getActiveSpreadsheet() s=ss.getActiveSheet() var currVal=s.getRange("B1").getValue() var plusVal= currVal +1 s.getRange("B1") .setV

我正在尝试向多行添加按钮,这些按钮可以从指定行中添加或减去值。这里有一张图片告诉你我想做什么

带有加号和减号按钮的行

我已经接触到这个脚本:

function plusB1() {
  ss=SpreadsheetApp.getActiveSpreadsheet()
  s=ss.getActiveSheet()
  var currVal=s.getRange("B1").getValue()
  var plusVal= currVal +1
  s.getRange("B1") .setValue(plusVal)
}

function minusB1() {
  ss=SpreadsheetApp.getActiveSpreadsheet()
  s=ss.getActiveSheet()
  var currVal=s.getRange("B1").getValue()
  var minusVal= currVal -1
  s.getRange("B1") .setValue(minusVal)
}

这正是我想要的,除了第一排。我可以为每一行重复创建自定义函数,但对我来说效率很低。有没有一种方法可以使用两个函数来收集有关按下此按钮的行的信息?

您不能。对于谷歌表单和脚本来说,这不是个好主意

因为您无法传递参数或检查按下了哪个按钮

如果您继续,您将需要创建10个方法来调用每个按钮,其中包含不同的参数

function plus(range) {
  ss=SpreadsheetApp.getActiveSpreadsheet()
  s=ss.getActiveSheet()
  var currVal=s.getRange(range).getValue()
  var plusVal= currVal +1
  s.getRange(range) .setValue(plusVal)
}

function minus(range) {
  ss=SpreadsheetApp.getActiveSpreadsheet()
  s=ss.getActiveSheet()
  var currVal=s.getRange(range).getValue()
  var minusVal= currVal -1
  s.getRange(range) .setValue(minusVal)
}

function plusA(){
  plus("A")
}

function minusA(){
  plus("A")
}

等等…

加减法

function onEdit(e) {
  e.source.toast('Entry');
  var sh=e.range.getSheet();
  if(sh.getName()=='Sheet233' && e.range.columnStart==3) {
    e.source.toast("incr");
    e.range.setValue("FALSE");
    e.range.offset(0,-1).setValue(e.range.offset(0,-1).getValue() + 1);
  }
  if(sh.getName()=='Sheet233' && e.range.columnStart==4) {
    e.source.toast('decr');
    e.range.setValue("FALSE");
    e.range.offset(0,-2).setValue(e.range.offset(0,-2).getValue() - 1);
  }
}
动画:


这是否回答了您的问题?你能分享一下你的床单样本吗?您如何将功能分配给按钮?它们是不是只是图像在表中悬停?这非常接近我想要的,而且比我达到的要优雅得多。谢谢:)