Повторяющийся столбец A в следующей таблице в соответствии со столбцом B - Google Apps Script / Google Sheets - PullRequest
0 голосов
/ 05 февраля 2020

Я пытаюсь продублировать данные столбца A (полученные пожертвования) для следующей электронной таблицы (удержание) в соответствии с номером, помещенным в столбец B.

Таким образом, если в ячейке столбца A есть столбец Colgate & в той же строке, столбец , B говорит 5 - он скопирует Colgate 5 раз в следующую электронную таблицу с добавлением даты.

Необходимо запустить этот фрагмент кода, установив флажок.

Пожалуйста, смотрите ссылку ниже образец электронной таблицы https://docs.google.com/spreadsheets/d/1VJZdR_FjBzhWvLnQwE7bgSKiCU82JuDkN1obPV0bOq0/edit?usp=sharing

Заранее спасибо

1 Ответ

1 голос
/ 05 февраля 2020
  • Когда установлен флажок в столбце «E» листа «Полученные пожертвования», вы хотите получить значения строки и поместить Enter Company Name of Donor и Timestamp в столбец «A» и «Б» на листе Holding соответственно.
    • В этом случае вы хотите скопировать значения по номеру How Pallets were delivered (Do not use BOXES).

Если мое понимание верно, как насчет этого ответа? Пожалуйста, подумайте об этом как об одном из нескольких возможных ответов.

Поток:

В этом случае, чтобы запустить сценарий, когда флажок установлен, простой триггер триггера события OnEdit имеет вид used.

  1. При установке флажка в столбце «E» листа «Полученные пожертвования» извлекаются значения строки.
  2. Создание значений с использованием извлеченных значения.
  3. Поместите созданные значения в последнюю строку листа Holding.

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

Скопируйте и вставьте следующий сценарий в связанный с контейнером скрипт вашей общей таблицы. И, пожалуйста, включите флажок. В вашей текущей электронной таблице установлены все флажки. Поэтому сначала снимите флажок и проверьте его. Таким образом, сценарий запускается.

function onEdit(e) {
  var range = e.range;
  var sheet = e.range.getSheet();
  if (sheet.getSheetName() == "Donations Received" && range.getColumn() == 5 && e.value == "TRUE") {
    var [DONATION, n,, DATE_RECEIVED] = e.range.offset(0, -4, 1, 4).getValues()[0];
    var values = [];
    for (var i = 0; i < n; i++) {
      values.push([DONATION, DATE_RECEIVED]);
    }
    var dstSheet = e.source.getSheetByName("Holding");
    dstSheet.getRange(dstSheet.getLastRow() + 1, 1, values.length, values[0].length).setValues(values);
  }
}

Примечание:

  • Приведенный выше пример сценария предназначен для вашей общей электронной таблицы. Поэтому, если вы используете его для других электронных таблиц, скрипт может не работать. Пожалуйста, будьте осторожны.
  • При непосредственном запуске сценария в редакторе сценариев в этом случае возникает ошибка. Пожалуйста, будьте осторожны.

Ссылки:

Если я неправильно понял ваш вопрос, и это не то направление, которое вы хотите, я прошу прощения.

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