google-apps-script - Google 表格脚本 - 通过生成的值范围减少单元格的值
问题描述
我有一个具有值(即 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);
}
推荐阅读
- android - 使用 Android Clean Architecture 的异步请求
- python - Python检测字符串是否包含特定长度的子字符串
- swift - AudioKit Envelope 使用操作控制过滤器
- cmake - Cmake:使用柯南 pybind11 包
- python - 哪种类型的地图内容仅在离线模式下行驶并使用 python 进行管理?
- r - 如何在闪亮的应用程序中获取选定的 argonTab
- batch-file - 从文本文件中提取变量造句
- mysql - #1142 - 拒绝用户 'db'@'185.176.40.25' 表 'inventory' 的 INSERT 命令
- javascript - 循环以递归方式抛出数组数组(算法问题)
- python - Python 控制台程序,在控制台中定位文本的能力