Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google apps script 如果复选框从FALSE变为TRUE,则同一行中的所有公式都将替换为其计算结果_Google Apps Script_Google Sheets_Google Sheets Formula - Fatal编程技术网

Google apps script 如果复选框从FALSE变为TRUE,则同一行中的所有公式都将替换为其计算结果

Google apps script 如果复选框从FALSE变为TRUE,则同一行中的所有公式都将替换为其计算结果,google-apps-script,google-sheets,google-sheets-formula,Google Apps Script,Google Sheets,Google Sheets Formula,如果列A上的任何单元格从FALSE更改为TRUE,则该行上的所有现有公式将替换为其计算值 当我勾选复选框为TRUE时,这意味着我不需要在该行上进行更多的计算或公式,我只需要最终的计算值 在我的屏幕截图中,D列中的公式是=B3+C3,我想用计算结果替换公式,即2 见 我到处都找了,找不到这个脚本,请帮助。试试这个: function onEdit(e) { //Logger.log(JSON.stringify(e)); //e.source.toast('Entry') var sh

如果列A上的任何单元格从FALSE更改为TRUE,则该行上的所有现有公式将替换为其计算值

当我勾选复选框为TRUE时,这意味着我不需要在该行上进行更多的计算或公式,我只需要最终的计算值

在我的屏幕截图中,D列中的公式是=B3+C3,我想用计算结果替换公式,即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]);
      }
    });
  }
}

您能否澄清一下,您的意思是,如果该列中的任何单元格发生变化,或者某系列单元格的值发生变化?很抱歉,你的问题很模糊,很难看出你想要什么。请澄清,我们很乐意提供帮助。您好,谢谢,下面是一个示例:如果A列中任何单元格的值更改为TRUE,例如,单元格A2的值从FALSE更改为TRUE,然后将第2行中应用的所有公式替换为值。当该行中的单元格将其状态更改为TRUE时,您希望输入哪些值?当单元格为TRUE时,我希望自动删除该特定行中的所有公式,通过用公式的结果替换它们,仅值SIT得到以下错误:ReferenceError:赋值第4行的左侧无效,文件代码.gse另一个错误:SyntaxError:参数列表第12行后缺少,文件代码.gsok。很抱歉。现在TypeError:无法读取未定义的第2行的属性“range”,文件代码如果没有OneEdit触发器事件对象,则无法运行此操作。