Google apps script 通过单击将单元格值增加一
我想在Google sheets中编写一个公式,这样我可以附加一个按钮,使单元格中的值在每次单击时增加Google apps script 通过单击将单元格值增加一,google-apps-script,google-sheets,Google Apps Script,Google Sheets,我想在Google sheets中编写一个公式,这样我可以附加一个按钮,使单元格中的值在每次单击时增加1。 这是我在这个话题上能找到的最好的答案 我试图这样做,但没有成功。我正在使用Windows7和Chrome 首先创建一个脚本以增加单元格值。例如,要将单元格“A1”增加1,可以使用以下脚本: function increment() { SpreadsheetApp.getActiveSheet().getRange('A1').setValue(SpreadsheetApp.getAc
1
。
这是我在这个话题上能找到的最好的答案
我试图这样做,但没有成功。我正在使用Windows7和Chrome 首先创建一个脚本以增加单元格值。例如,要将单元格“A1”增加1,可以使用以下脚本:
function increment() {
SpreadsheetApp.getActiveSheet().getRange('A1').setValue(SpreadsheetApp.getActiveSheet().getRange('A1').getValue() + 1);
}
保存此脚本并打开电子表格,然后执行以下步骤:
- 转到“插入”>“绘图”并使用形状和文本绘制按钮
- 相应地定位按钮,然后右键单击它以显示 旁边的箭头
- 在下拉菜单中,选择“分配脚本”,然后键入脚本的名称 你的功能。(在本例中为“增量”)
- 当你第一次点击它时,它会请求许可,但是 应该在以后工作
将以下内容指定给图纸中的图形,它将使当前选定单元格的值增加1:
function plusOne() {
var cell = SpreadsheetApp.getActiveSheet().getActiveCell();
var value = cell.getValue() * 1;
cell.setValue(value+1);
}
更新2020
动机:
我想根据评论提供一种不同的方法:
如果我们想为不同的行和每个行创建多个按钮,该怎么办
按钮修改自己的行?有没有办法不手动创建
解决方案:
您可以使用捕获单个单击事件并模拟按钮的行为
- 单击相同行的
列中的单元格后,以下scirpt将增加B
a列中单元格的值
- 它还动态创建“按钮”文本,但这是可选的,由用户决定
Sheet1
作为图纸名称
function onSelectionChange(e) {
const as = e.source.getActiveSheet();
const col = e.range.getColumn();
const row = e.range.getRow();
if (as.getName() == 'Sheet1' && col == 2){
const range = as.getRange(row,1);
range.setValue(range.getValue()+1);
e.range.setValue('Button');
}
}
演示:
限制:
虽然这种方法效果很好,但有两个缺点:
这是针对一个特定的单元格,如果我们要为不同的行创建多个按钮,并且每个按钮修改自己的行,该怎么办?有没有办法不手动创建此按钮?@Marlon如果您仍在寻找解决方案或解决方法,我发布了一个可能对您有用的答案。我认为复选框+编辑触发器方法更适合模拟按钮。@我在这个答案中介绍的场景中的主人是的。但是如果你在每一个单元格里都放上一个按钮,那么你就可以拥有更奇特的东西。您不限于复选框。但我同意,对于我展示的场景,使用
onEdit
更合适。