Формулы Google Sheets на основе двух ячеек, зависящих друг от друга - может быть, в Appscript? - PullRequest
0 голосов
/ 04 марта 2020

У меня есть следующая проблема:

У меня есть столбец A и столбец B, пользователь может вводить данные либо в A, либо в B, и лист должен выполнять вычисления независимо от того, в какой столбец вводятся данные:

Пример: пользователь может ввести 1200 в столбец A и В столбце B отобразятся данные / 2 (600), но пользователь также может ввести 600 в в столбцах B и в столбце A должны отображаться данные * 2 (1200), использование формул не будет возможным, поскольку если в обоих столбцах есть формулы и пользователь вводит информацию, формула будет удалена в или или есть альтернатива на Appscript для этого?

1 Ответ

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

Поток:

  • Создайте объект cfg, чтобы сделать то, что должно быть сделано при редактировании каждого столбца
  • В простом триггере редактирования проверьте, какой столбец и лист редактируются, и
  • Выполнять вычисления, как указано cfg объектом

Пример сценария:

/**
 * @param {GoogleAppsScript.Events.SheetsOnEdit} param1
 */
const onEdit = ({ range: rg, value: val }, { columnStart: cs } = rg) => {
  const cfg = {
    1: { offset: 1, calc: num => num / 2 },
    2: { offset: -1, calc: num => num * 2 },
  }[cs];
  /*Only include Sheet1 Column A and B*/
  if (typeof cfg === 'undefined' || rg.getSheet().getName() !== 'Sheet1')
    return;
  rg.offset(0, cfg.offset).setValue(cfg.calc(val));
};

Ссылки:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...