要减少Google Sheets中函数的执行时间,可以使用Apps Script来优化代码。以下是一些解决方法和示例代码:
function optimizeFunction() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var range = sheet.getRange("A1:B10");
var values = range.getValues();
var result = [];
for (var i = 0; i < values.length; i++) {
var row = values[i];
var sum = row[0] + row[1];
result.push([sum]);
}
var outputRange = sheet.getRange("C1:C10");
outputRange.setValues(result);
}
function optimizeFunction() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var range = sheet.getRange("A1:B10");
var values = range.getValues();
// 使用缓存
var cache = CacheService.getScriptCache();
var cachedData = cache.get("data");
if (cachedData) {
values = JSON.parse(cachedData);
} else {
cache.put("data", JSON.stringify(values), 60); // 缓存数据60秒
}
var result = [];
for (var i = 0; i < values.length; i++) {
var row = values[i];
var sum = row[0] + row[1];
result.push([sum]);
}
var outputRange = sheet.getRange("C1:C10");
outputRange.setValues(result);
}
function onEdit(e) {
var range = e.range;
var sheet = range.getSheet();
var column = range.getColumn();
if (sheet.getName() === "Sheet1" && column === 1) {
var row = range.getRow();
var value = sheet.getRange(row, 1).getValue();
// 执行函数
var sum = value + 10;
sheet.getRange(row, 2).setValue(sum);
}
}
以上是一些可以减少Google Sheets函数执行时间的解决方法和示例代码。根据具体的需求,可以选择适合的方法来优化代码。