Как редактировать скрипт, чтобы очистить ячейки, но сохранить формулу в определенных ячейках - PullRequest
0 голосов
/ 11 февраля 2020

Есть ли способ сохранить формулы в определенных ячейках, когда у меня есть сценарий очистки ячейки. На данный момент он очищает все и удаляет мою формулу.

Ячейки с формулами - «H2» и «K2»

function reset() {
  var sheet = SpreadsheetApp.getActive();
  sheet.getRange("F3:K8").clearContent();
}

1 Ответ

0 голосов
/ 12 февраля 2020

Очистка вашего контента всегда очистит формулу в ячейке. В ячейке есть текстовый / числовой литерал или формула. Там нет функции, которая будет очищать одну, а не другую.

Но вы можете проверить, содержит ли ячейка формулу, и, если это так, не очищать ее содержимое. Это будет функционально делать то, что вы хотите.

function reset() {
  var sheet = SpreadsheetApp.getActive();
  var range = sheet.getRange('F3:K8');
  var numRows = range.getNumRows();
  var numCols = range.getNumColumns();
  for (var i = 1; i <= numRows; i++) {
    for (var j = 1; j <= numCols; j++) {
      if (range.getCell(i,j).getFormula());
      {
        range.getCell(i,j).clearContent();
      }
    }
  }
}
...