我在Google表格上运行了这个脚本:
function recordMax() {
var sheet = SpreadsheetApp.getActiveSheet();
var range = sheet.getRange("K16:L16");
var values = range.getValues()[0];
range.setValues([[values[0], Math.max(values[0], values[1])]]);
}
但是,我在这里有效http://screencast.com/t/BOXzC0UZxFZ(短片1分钟视频显示问题)。问题的摘要是,当脚本在力K16中运行时,只显示公式的当前值并去掉我在K16中的= sum公式。
您认为我需要做什么,以便在脚本运行时,它不会自动删除K16公式,以便K16继续更新为新值?
:)
答案 0 :(得分:0)
以下修改怎么样?
getFormulas()
。在大多数情况下,可以使用以下修改过的脚本。我认为在您的情况下,可以使用以下修改过的脚本。
function recordMax() {
var sheet = SpreadsheetApp.getActiveSheet();
var range = sheet.getRange("K16:L16");
var formula = range.getFormulas()[0]; // Added
var values = range.getValues()[0];
range.setValues([[formula[0], Math.max(values[0], values[1])]]); // Modified
}
有时需要使用setFormula()
插入公式,如下所示。
function recordMax() {
var sheet = SpreadsheetApp.getActiveSheet();
var range = sheet.getRange("K16:L16");
var formula = range.getFormulas()[0]; // Added
var values = range.getValues()[0];
sheet.getRange("K16").setFormula(formula[0]); // Added
sheet.getRange("L16").setValue(Math.max(values[0], values[1])); // Added
}
如果我误解了你的问题,请告诉我。我想修改。