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);
}
}
}
}
I need actually to perform RANDBETWEEN only when cell S1 value change (it can be some other value every time) and not RANDBETWEEN on every change of any cell.
So, trigger is set to S1 and it should look for T1 and T2 to detect beginning and end of range. Math.random should ran some number between that range. All the way up here it works!
After, in loop it should check is unit SOLD or without STATUS, skip those and return random date by using RNDNUM (and list of dates is in A column).
Shortly, it doesn't return anything as a result.
I've tried checking RNDNUM and it does return properly what it should, but next vale isn't returned - rndDATE (if it is important value that should be returned is in date format)!