Это часть кода.Остальная часть кода работает, но в этой части Ive застрял, и я не знаю, почему!
function rndDATgen(F){
var fRNG = SpreadsheetApp.getActiveRange();
var fROW = fRNG.getRow();
var ss = SpreadsheetApp.getActiveSpreadsheet();
var SRCsheet = ss.getSheetByName("Dates");
var DSTsheet = ss.getActiveSheet();
var rngDATE = SRCsheet.getDataRange();
var valDATE = rngDATE.getValues();
var colSRNG = DSTsheet.getRange('A1:ZZ7');
var colVALUES = colSRNG.getValues();
var stDAT = DSTsheet.getRange("S1").getValue();
var enDAT = DSTsheet.getRange("S2").getValue();
var DSTclr = 7;
var DSTrow = 7;
var nDAT = 0;
var DSTlr = 7;
var DSTc = DSTsheet.getRange(1, 9, 500,1);
var DSTvalues = DSTc.getValues();
while (DSTvalues[DSTlr - 1][0] != ""){
DSTlr++;
}
DSTlr = DSTlr - 1;
var totRNGstat = DSTsheet.getRange('T7:T' + DSTlr);
var totRNGvalSTAT = totRNGstat.getValues();
var totRNG = SRCsheet.getRange('A1:A100');
var totRNGval = totRNG.getValues();
var totRNGdat = DSTsheet.getRange('S7:S' + DSTlr);
var totRNGvalDAT = totRNG.getValues();
var stDATrow = 0;
var enDATrow = 0;
for (var i=0; i<100; i++) {
if (totRNGval[i] == stDAT) {
stDATrow = i + 1;
}
}
В этом последнем фрагменте кода Ive попытался выполнить итерацию, чтобы найти, где в массиве определенная дата (дата начала в этом случае =stDAT и диапазон totRNGval)!При попытке вернуть stDAT и totRNGval [i] оба возвращают дату в одном и том же формате 01/01/2018.Я тоже пробовал в качестве значения, но все равно не повезло!
for (var i=0; i<100; i++) {
if (totRNGval[i] == stDAT) {
stDATrow = i + 1;
}
}
Когда я возвращаю значение, оно всегда равно 0, но точно есть точная дата в диапазоне в качестве даты начала.
Iveтакже проверьте вручную, и это то же самое значение (без поплавков), и оно находит его с любой другой функцией: MATCH, VLOOKUP ...!Я пытался изменить == на ===, но не повезло!
Почему в начале цикла дата не распознается при сравнении с элементами массива?