Если флажок изменен с ЛОЖЬ на ИСТИНА, тогда все формулы в той же строке заменяются ее вычисленными результатами. - PullRequest
0 голосов
/ 05 марта 2020

Если какая-либо ячейка в столбце A изменится с FALSE на TRUE, тогда все существующие формулы в этой строке будут заменены ее вычисленными значениями.

когда я поставлю флажок на TRUE, это означает, что я не Мне не нужно больше вычислений или формул в этой строке, все, что мне нужно, это окончательные вычисленные значения.

на моем скриншоте формула в столбце D имеет вид = B3 + C3, я хочу заменить формулу вычисленным результатом, равным 2

См. снимок экрана

enter image description here

Я посмотрел везде, не могу найти скрипт для этого, пожалуйста, помогите.

1 Ответ

2 голосов
/ 05 марта 2020

Попробуйте это:

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]);
      }
    });
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...