要编写一个Google Sheets函数,仅适用于更改的行,您可以使用Apps Script编写一个自定义函数,并在其中实现逻辑。以下是一个示例解决方案:
function CHANGED_ROWS(range, oldValue) {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var data = sheet.getRange(range).getValues();
var changedRows = [];
for (var i = 0; i < data.length; i++) {
if (data[i][0] != oldValue) {
changedRows.push(i + 1);
}
}
return changedRows;
}
这个自定义函数名为CHANGED_ROWS,它接受两个参数:range和oldValue。range参数是要检查更改的行的范围,oldValue是要与当前值进行比较的旧值。
在函数内部,我们首先获取活动工作表并获取指定范围的值。然后,我们遍历每一行,如果某一行的值与旧值不相等,则将该行的行号(加1,因为数组索引从0开始)添加到changedRows数组中。
最后,我们返回changedRows数组,其中包含所有更改的行的行号。
要将此函数应用到Google Sheets中,您需要按照以下步骤进行操作:
=CHANGED_ROWS("A1:A10", "old value")
。请确保将范围和旧值更改为实际要使用的值。这样,您就可以使用CHANGED_ROWS函数来仅适用于更改的行。