返回
Google Apps Script:为 Google Sheets 单元格设置初始值和限制,提升效率
javascript
2024-03-02 12:46:34
设置初始值和单元格限制
问题:
在处理电子表格时,常常需要确保特定单元格包含初始值或符合特定限制。手动输入这些值既费时又容易出错。
解决方案:
借助 Google Apps Script,我们可以创建自动脚本,设置初始值并应用单元格限制。
初始值设置脚本:
function setInitialValues() {
// 获取工作表对象
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Micro FG");
// 获取最后一行
var lastRow = sheet.getLastRow();
// 存储需要设置的数据
var dataToSet = [];
// 遍历每一行
for (var i = 2; i <= lastRow; i++) {
// 获取单元格对象
var cellA = sheet.getRange("A" + i);
var cellJ = sheet.getRange("J" + i);
var cellK = sheet.getRange("K" + i);
var cellL = sheet.getRange("L" + i);
var cellM = sheet.getRange("M" + i);
var cellN = sheet.getRange("N" + i);
// 检查单元格 A 是否为空
if (cellA.getValue() != "") {
// 检查单元格 J-N 是否为空,并添加需要设置的数据
if (cellJ.getValue() == "") dataToSet.push(["Initial Value 10"]);
if (cellK.getValue() == "") dataToSet.push(["Initial Value 11"]);
if (cellL.getValue() == "") dataToSet.push(["Initial Value 12"]);
if (cellM.getValue() == "") dataToSet.push(["Initial Value 13"]);
if (cellN.getValue() == "") dataToSet.push(["Initial Value 14"]);
}
}
// 如果有需要设置的数据
if (dataToSet.length > 0) {
// 获取需要设置的数据范围
var rangeToSet = sheet.getRange(2, 10, dataToSet.length, 1);
// 设置数据
rangeToSet.setValues(dataToSet);
}
}
单元格限制脚本:
function onEditTrigger(e) {
// 获取编辑的单元格范围
var editedRange = e.range;
// 获取工作表对象
var sheet = editedRange.getSheet();
// 获取列和行号
var column = editedRange.getColumn();
var row = editedRange.getRow();
// 如果编辑了列 A 中的行 1 以下
if (column == 1 && row > 1) {
// 触发初始值设置函数
setInitialValues();
}
// 如果编辑了列 J-N 中的行 1 以下
if ((column >= 10 && column <= 14) && row > 1) {
// 获取单元格 A
var cellA = sheet.getRange("A" + row);
// 如果单元格 A 为空,清空被编辑的单元格
if (cellA.getValue() == "") {
sheet.getRange(row, column).setValue("");
}
}
}
使用说明:
- 在 Google Sheets 中复制上述脚本。
- 导航至 工具 > 项目脚本 。
- 粘贴脚本并保存。
- 授权脚本访问您的电子表格。
- 当编辑列 A 中的行或列 J-N 中的行时,脚本将自动触发。
常见问题解答:
-
如何修改初始值?
修改脚本中["Initial Value 10"]
等语句中的文本。 -
如何添加其他单元格限制?
在onEditTrigger
函数中,添加新的if
语句来检查其他列和条件。 -
如何移除脚本?
导航至 工具 > 项目脚本 ,删除脚本并保存。 -
为什么我的脚本不起作用?
检查您的脚本是否正确授权访问您的电子表格。 -
我的单元格限制有例外吗?
是的,您可以使用条件语句在脚本中添加例外。