У меня есть лист Google с отметкой времени и номером пользователя, пользователь может вводить их номер несколько раз для разных дней. Я пытаюсь напечатать это на новом листе, который печатает имя, идентификатор и помещает 1 в столбце для дня, в который они вошли.
Существует переменная счетчика для записей, которые имеют для нескольких учетные записи, так что если это так, я снова перебираю список входа в систему и нахожу, где число совпадает, но дни разные. Тем не менее, когда я пытаюсь установить значение daySheet во втором операторе if, он использует первый день, а не второй в списке. Пример данных, которые я использую:
14.12.19 test1 20.12.19 test1
И что они пишут в гугл листе: строка 11: столбец 14: столбец 20: test1 1 1 Я очень смущен и задаюсь вопросом, есть ли более простой метод, который я должен использовать, или я думаю об этом неправильно?
for(var i = 0; i < sheetLength; i++){
signInLN = sheet.getRange(i+1,3).getValue();
if(counter > 1){//2nd if
for(var k = 1; k <= sheetLength; k++){//2nd for loop
//outer for loop is i
//inner for loop is k
var date2 = signInSheet.getRange(k+1,1).getValue().toString();//time stamp in sign in sheet
var month2 = date2.slice(4,7);
var day2 = Number(date2.slice(8,10));
Logger.log(day+": Days "+i+" :I");
var year = Number(date2.slice(11,15));
if(signInLN == signInSheet.getRange(k+1,3).getValue() && day != day2){//if lunch number is the same and the days are different
//lunch numbers are the same, dates are different so add to the k value
daySheet.getRange(k+10,day+3).setValue(1);
}
}//2nd for loop
//2nd if
}else if(currentCell.isBlank()){
daySheet.getRange(i+10, 2).setValue(fullName);//set name to first cell
//set PI to second cell
daySheet.getRange(i+10,3).setValue(pI);
daySheet.getRange(i+10,day+3).setValue(1);
}
}