你可以使用AppScript来创建自定义函数,并在行值更改时自动更新它们。下面是一个示例代码,它演示了如何实现该功能:
function onEdit(event) {
var sheet = event.source.getActiveSheet();
var range = event.range;
// 检查是否更改的是指定的工作表和范围
if (sheet.getName() == "Sheet1" && range.getColumn() == 1 && range.getRow() > 1) {
updateCustomFunction(range.getRow());
}
}
function updateCustomFunction(row) {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var value = sheet.getRange("A" + row).getValue(); // 获取指定单元格的值
// 更新自定义函数
var formula = "=customFunction(" + value + ")";
sheet.getRange("B" + row).setFormula(formula);
}
// 自定义函数
function customFunction(value) {
return value * 2;
}
在上述代码中,我们首先定义了一个 onEdit
函数,它会在任何单元格的值发生更改时触发。然后,我们检查是否更改的是指定的工作表("Sheet1")和范围(第一列的任何行)。
如果满足条件,我们将调用 updateCustomFunction
函数来更新自定义函数。它获取指定行的单元格A的值,并将其用作自定义函数的参数。然后,我们将新的公式应用到相应的单元格B。
最后,我们定义了一个名为 customFunction
的自定义函数,它接受一个参数并返回参数的两倍。
请注意,当使用 onEdit
触发器时,必须在脚本编辑器中选择 "资源" -> "触发器" 并添加一个触发器,以便在表格的值更改时调用 onEdit
函数。
希望这可以帮助到你!