以我只能向它们添加 +1 的方式保护单元格

Secure cells in a way that I can only add +1 to them

我有一堆单元格,里面有数字。我希望他们以我只能为他们添加 +1 的方式保护他们。现在我手动执行此操作(4 变为 5 etc.etc。)。

假设 Google 电子表格没有漂亮的 up/down 单元格箭头 increasing/decreasing +1 / -1,我想我应该使用脚本。

像这样

function increment() {  SpreadsheetApp.getActiveSheet().getRange("F5").setValue(SpreadsheetApp.getActiveSheet().getRange("F5").getValue() + 1);
}

但是如果我使用这个脚本(创建大量绘图 (grrr) ),我应该创建 x 个相同的函数吗?好像有点傻

这给我错误

function increment(mycell) {  SpreadsheetApp.getActiveSheet().getRange(mycell).setValue(SpreadsheetApp.getActiveSheet().getRange(mycell).getValue() + 1);
}

Usage: increment(F5)
Error: function increment(F5) not found.

?

你的方法的问题是递归

Sheet 公式默认会重新计算,因此您是否应该在一个单元格中键入一个公式,使另一个单元格中的值增加 1 - 一旦值增加,这将触发公式重新计算并要求再次增加该值等等。

所以你不能这样实现你的想法

解决方法

  • 创建一个增加当前单元格值的函数
  • 您绑定此功能,例如到一个按钮并在您点击所需的单元格并点击按钮后触发执行

示例函数:

function increment() {  
  SpreadsheetApp.getActiveSheet().getCurrentCell().setValue(SpreadsheetApp.getActiveSheet().getCurrentCell().getValue() + 1);
}

创建按钮:

  • 从 Sheet 开始 UI Insert->Drawing
  • 画出你喜欢的形状然后点击Save and close
  • 单击绘图右上角的三个垂直点
  • Select Assign script
  • 输入函数名称(不带()
  • 单击要增加其值的单元格
  • 单击您的绘图以 运行 脚本 - 完成!