@Obesanjo

Как организовать поиск по трем условиям одновременно через скрипт?

Нужно просмотреть поиском три колонки на выходе получить индекс строки которая соответствует всем трем условиям поиска.
Результатом совпадения одновременно трех условия всегда будет только одна строка.
Пробовал реализовать поиск через textFinder, но связать три колонки и выдать нужный результат не понимаю.
  • Вопрос задан
  • 122 просмотра
Решения вопроса 1
@Obesanjo Автор вопроса
В общем написал данную конструкцию, и вроде все хорошо, но почему-то значения удаляются через одно, если отжать три чекбокса то удалится значение первого и третьего. Где ошибка не могу понять
function unReserve() {
  var SPREADSHEET_ID = 'ключ таблицы';
  var SHEET_NAME = 'Лист1'; 
  var wareHouse = SpreadsheetApp.openById(SPREADSHEET_ID).getSheetByName(SHEET_NAME);
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  var chekBoxOff = "false";
  var color = '#ff0000';
  var findingRange = sheet.getRange('F:F').getValues();
  var valuesA = wareHouse.getRange('A:A').getValues();
  var valuesC = wareHouse.getRange('C:C').getValues();
  var valuesI = wareHouse.getRange('I:I').getValues();
  var lastRow = wareHouse.getLastRow();

  for(i=0; i<findingRange.length; i++){
    if(findingRange[i]==chekBoxOff){
      var getA = sheet.getRange(i+1,1).getValue();
      var getB = sheet.getRange(i+1,2).getValue();
      var getI = sheet.getRange(1,1).getValue(); 
      sheet.getRange(i+1,6).setBackground(color);
        for(j=0; j<lastRow; j++){
          if(valuesA[j] == getA && valuesC[j] == getB && valuesI[j] == getI){
            var row = j+1;
            wareHouse.deleteRow(row);
          }
        }
    }
  }
};
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@Oleg_F
Как вариант.
Получите все данные с листа (getDataRange().getValues())
Далее циклом ищете нужно совпадение.
И как результат совпадения, получите номер строки
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы