Мне нужно знать, как я могу скопировать некоторые данные, но если значения уже есть в электронной таблице, не приносите дубликаты. У меня есть код, который предназначен для копирования из электронной таблицы последнего значения определенных столбцов в мастер электронной таблицы до последней доступной строки, и мне нужно, чтобы каждый раз, когда я обновлял мастер электронной таблицы, он не приносил мне дублирующее значение, Пример, с помощью которого я могу лучше объяснить это:
Spreadsheet Spreadsheet Master
A B A B
Jhon 1 Carl 3
Lois 2
Carl 3
А если добавить новое значение в электронную таблицу и запустить скрипт два раза, оно будет выглядеть так:
Spreadsheet Spreadsheet Master
A B A B
Jhon 1 Carl 3
Lois 2 Tom 4
Carl 3 Tom 4
Tom 4
И я не хочу, чтобы я возвращал то же самое дублированное значение. Сценарий это следующий ...
function getValues() {
var bring = SpreadsheetApp.openById(ID);
var sh1 = bring.getSheetByName("Sheet 1");
var ltRow = sh1.getLastRow();
var rgSh1 = sh1.getRange("A"+(ltRow)+":D"+(ltRow)).getValues();
var rgSh2 = sh1.getRange("F"+(ltRow)).getValue();
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sh2 = ss.getSheetByName("Sheet 1");
var getRow = sh2.getLastRow() + 1;
var sRgSh1 = sh2.getRange(getRow, 2, rgSh.length, rgSh[0].length).setValues(rgSh);
var sRgSh2 set= sh2.getRange(getRow, 1).setValue(rgSh1);
}
И я пытался сделать это с помощью For и вложенным For, но это не сработало. Я также видел такие примеры: Stackoverflow , но в этих примерах операция отличается от той, что я пытаюсь сделать, и я пытался, но я еще не достиг этого. Спасибо.