Google Script, который удаляет строку Google Sheets, если первые 10 столбцов дублированы - PullRequest
0 голосов
/ 05 ноября 2018

Я пытаюсь создать скрипт, который будет искать столбцы A: J в строке, и если какие-либо другие строки имеют те же столбцы, он удалит новую строку целиком.

У меня есть электронная таблица, в которой есть данные, импортирующие строки в электронную таблицу в столбцы с A по J. Затем мы вручную вводим текст в столбцы с K по P.

Если новые данные импортируются и соответствуют этим первым 9 столбцам, нам нужно просто удалить эту новую строку и сохранить существующую. Я нашел этот скрипт онлайн, который отлично работает, за исключением того, что он не ищет диапазон столбцов. Скорее, это смотрит на весь ряд.

// [START apps_script_sheets_remove_duplicates]
/**
 * Removes duplicate rows from the current sheet.
 */
function removeDuplicates() {

  // [START apps_script_sheets_sheet]
  var sheet = SpreadsheetApp.getActiveSheet();
  var data = sheet.getDataRange().getValues();
  // [END apps_script_sheets_sheet]

  // [START apps_script_sheets_new_data]
  var newData = [];
  // [END apps_script_sheets_new_data]

  for (i in data) {
    var row = data[i];
    var duplicate = false;
    for (j in newData) {
      if (row.join() == newData[j].join()) {
        duplicate = true;
      }
    }

    // [START apps_script_sheets_duplicate]
    if (!duplicate) {
      newData.push(row);
    }
    // [END apps_script_sheets_duplicate]
  }

  // [START apps_script_sheets_clear]
  sheet.clearContents();
  sheet.getRange(1, 1, newData.length, newData[0].length).setValues(newData);
  // [END apps_script_sheets_clear]

}
// [END apps_script_sheets_remove_duplicates]

1 Ответ

0 голосов
/ 05 ноября 2018

Попробуйте это: Справка:

var row = data[i].slice(0,10);

Так что, возможно, это будет работать для вас:

for (i in data) {
    var row = data[i];
    var r10=row.slice(0,10);
    var duplicate = false;
    for (j in newData) {
      if (r10.join() == newData[j].join()) {
        duplicate = true;
      }
    }

    // [START apps_script_sheets_duplicate]
    if (!duplicate) {
      newData.push(r10);
    }
    // [END apps_script_sheets_duplicate]
  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...