Я пытаюсь создать скрипт, который будет искать столбцы 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]