У меня есть операторы «else if», и мне нужно, чтобы они вызывались, только если предыдущее «if» не выполняется.Первое «если» (проверка статуса) работает отлично, вторая - «но», но «еще, если» выполняется каждый раз, потому что в таблице есть разные типы (A, B, C и т. Д.)
Правка: 1Новая строка должна быть добавлена, если нет открытого A;2. Если открыто более одного А - все должны быть закрыты;3. Игнорируйте все другие типы и добавляйте новую строку, только если не открыто As;
Вот мой код:
function myFunction() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('SheetName');
var data = sheet.getRange(2,1,sheet.getLastRow(),2).getValues();
var nextRow = SpreadsheetApp.getActiveSheet().getDataRange().getLastRow()+1;
for (var i=0; i<data.length; i++){
var row = data[i];
var type = row[0];
var status = row[1];
//check it always
if (status != 'close'){
//check first and if it's true don't do 'else if'
if (type == 'A') {
sheet.getRange(i+2,2).setValue('close')
}
//this should only be called if the previous 'if' is not true
else if (type != 'A' && type != ''){
var values = [['A','open']];
sheet.getRange("A"+nextRow+":B"+nextRow).setValues(values);
}
}
}
}