如果列A上的任何单元格从FALSE变为TRUE,则该行上的所有现有公式都将替换为其计算值。
当我将复选框勾选为TRUE时,这意味着我不需要该行上的更多计算或公式,我需要的只是最终的计算值。
在我的屏幕快照中,D列中的公式为= B3 + C3,我想将公式替换为计算结果,即2
请参见screenshot
我到处都是,找不到脚本,请帮忙。
答案 0 :(得分:2)
尝试一下:
function onEdit(e) {
//Logger.log(JSON.stringify(e));
//e.source.toast('Entry')
var sh=e.range.getSheet();
if(sh.getName()!='*********Enter Your Sheet Name***********'){return;}
//e.source.toast('Flag0');
if(e.range.columnStart==1 && e.value=='TRUE') {
//e.source.toast('Flag1');
var rg=sh.getRange(e.range.rowStart,1,1,sh.getLastColumn());
var vA=rg.getDisplayValues()[0];
var fA=rg.getFormulas()[0];
//Logger.log('vA: %s fA: %s',vA,fA);
fA.forEach(function(f,i) {
if(f && e.range.columnStart!=i+1) {
e.range.offset(0,i+1-e.range.columnStart).setValue(vA[i]);
}
});
}
}