以下是一个示例函数,可以在用户在指定的行范围内插入新行(上方或下方)时自动应用列公式:
function onEdit(e) {
var sheet = e.source.getActiveSheet();
var range = e.range;
// 检查是否在指定的行范围内
if (range.getRow() >= 2 && range.getRow() <= 10) {
var formula = "=A1+B1"; // 列公式
// 检查是在上方还是下方插入新行
if (range.getRow() == 2) {
// 在上方插入新行
sheet.insertRowBefore(range.getRow());
var newRowRange = sheet.getRange(range.getRow(), 1, 1, sheet.getLastColumn());
newRowRange.setFormula(formula);
} else {
// 在下方插入新行
sheet.insertRowAfter(range.getLastRow());
var newRowRange = sheet.getRange(range.getLastRow() + 1, 1, 1, sheet.getLastColumn());
newRowRange.setFormula(formula);
}
}
}
这个函数使用Apps Script的onEdit
触发器,当用户编辑表格时会自动运行。函数首先获取当前活动的工作表和编辑的范围。然后它检查编辑的范围是否在指定的行范围内(这里是2到10行)。
如果在指定的行范围内,函数将设置一个列公式(这里是"A1+B1")并根据插入的位置在新行的上方或下方插入新行。最后,函数会将列公式应用于新插入的行。
要使用这个函数,您需要将其在Google Sheets中的脚本编辑器中创建一个新的脚本项目,并将其保存。然后,您可以通过选择“资源”->“当前项目的触发器”来添加一个触发器,选择“onEdit”函数,并选择“从电子表格”中的“编辑”事件类型。保存触发器后,当用户在指定的行范围内插入新行时,函数将自动应用列公式。