我有一个带有值(即 1,000(和 3 个单元格范围的单元格,它将根据某些条件生成一个值。当范围在范围内的 3 个单元格中的任何一个中生成值时,我希望我原来的 1,000 减去生成的单元格的总和。
这可能吗?我一直在尝试一些脚本,但无法正确。
function addValue() { var sheetName = "POK_1" ;
var ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(sheetName);
var range = ss.getRange("A1"); var value = "J3" }
试试这个:
function onEdit(e){
Logger.log(e);
if (e.range.getA1Notation() == "A2" || e.range.getA1Notation() == "A3" || e.range.getA1Notation() == "A4"){ // Only run if any of the three values are changed.
var ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("first");
var data = ss.getRange("A1:A4").getValues();// The main value (A1 and the ones to subtract (A2:A4).
data[0][0] = data[0][0] - (data[1][0] + data[2][0] + data[3][0]);
ss.getRange("A1").setValue(data[0][0]);
}
}
每当更改三个值中的任何一个时,此函数都会自动从主值中减去所有三个值。这假定您的值A1:A4
为简单起见。您还应该查看本教程,了解如何使用 GAS 和图纸。
更新
此代码将是两个单元格之间的简单减法,并将结果分配给第一个单元格:
function sub(){
var ss = SpreadsheetApp.getActiveSheet();
var a = ss.getRange("B1").getValue();
var b = ss.getRange("C1").getValue();
ss.getRange("B1").setValue(a-b);
}