function genRND(e) {
if (e.range.getA1Notation() === 'S1') {
var AS = SpreadsheetApp.getActiveSpreadsheet();
var DSTsheet = AS.getActiveSheet();
var ED = DSTsheet.getRange('T1').getValue();
var SD = DSTsheet.getRange('T2').getValue();
for (var NR = 0; NR < 59; NR++){
if (DSTsheet.getRange('E' & NR).getvalues() != '' &&
DSTsheet.getRange('T' & NR).getvalues() != 'SOLD'){
var RNDNUM = Math.floor(Math.random() * (ED-SD)) + SD;
var rndDATE = DSTsheet.getRange('A' & RNDNUM);
DSTsheet.getRange('S' & NR).setValue(rndDATE);
}
}
}
}
Мне действительно нужно выполнять RANDBETWEEN только при изменении значения ячейки S1 (это может быть какое-то другое значение каждый раз), а не RANDBETWEEN при каждом изменении любой ячейки.
Итак, триггер установлен на S1, и он должен искать T1 и T2 для определения начала и конца диапазона.Math.random должен запустить некоторое число между этим диапазоном.Здесь все работает!
После того, как в цикле он должен проверить, является ли единица ПРОДАНО или без STATUS, пропустить их и вернуть случайную дату, используя RNDNUM (а список дат находится в столбце A).
Короче, в результате ничего не возвращается.
Я пытался проверить RNDNUM, и он правильно возвращает то, что должен, но следующее значение не возвращается - rndDATE (если это важное значение, которое должно быть возвращено, в формате даты)!