Google脚本按钮可增加Google表格中特定行和列的价值

时间:2018-11-07 16:59:41

标签: button google-apps-script google-sheets

我正在使用带有一系列按钮的Google表格。我想单击按钮以增加特定行中的值。

例如: 当我单击“播放器1”按钮时,它将转到“播放器1”行,然后当我单击“反弹”按钮时,它将在该单元格中添加值1。然后,如果我单击“隐身”按钮,它将在Player 1的行中以及“隐身”列下增加价值。所有其他“玩家”按钮也是如此。我在寻找方法上遇到了麻烦。当我可以通过单击按钮为比赛得分时,我想创建一个篮球得分。先感谢您。 enter image description here

Google脚本:

function increment(){

  // define the cell to be incremented
  var cell = SpreadsheetApp.getActiveSheet().getRange("B2");
  
  // get and set the cell value
  var cellValue = cell.getValue();
  cell.setValue(cellValue + 1);  // this increments by 1 but could be any number

}

我拥有的Google脚本允许我仅将单元格B2的值增加一。我希望能够使用“播放器”按钮来选择行,并使用“反弹”,“周转率”,“抢”按钮来选择列并增加价值。我对编码和脚本非常陌生。抱歉。

1 个答案:

答案 0 :(得分:1)

存在:

  1. 一个setActiveSelection函数,可用于在单击播放器按钮时选择一系列单元格,并且
  2. 当您按下“事件”按钮(反弹,失误或抢断)时,可以使用getSelection函数来获取当前选择,然后选择正确的部分。

播放器按钮

我认为您的每个播放器功能都必须调用一个自定义功能,即selectPlayerOneRange()selectPlayerTwoRange()。像这样:

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];

function selectPlayerOneRange() {
  sheet.setActiveSelection("B2:D2");
}

function selectPlayerTwoRange() {
  ...

操作按钮

类似地,您的每个操作按钮都将需要自己的脚本。我可能会做这样的事情:

function getSelectedRow() {
  var sel = ss.getSelection();
  var range = sel.getActiveRange();
  var row = range.getRow();
  return row;
}

function incrementRebound() {
  var row = getSelectedRow();
  var col = 2;
  var cell = sheet.getRange(row, col);
  // Your increment code here:
  var cellValue = cell.getValue();
  cell.setValue(cellValue + 1);
}

function incrementSteal() {
  var row = getSelectedRow();
  var col = 4;
  ...