そのままシート1のF列のデータを取得してA列-E列のデータをシート2のD列-H列に挿入する際に併せてN列に挿入するようにしたスクリプトの参考例です。
シート1のA列-E列とシート2のD列ーH列とのデータの重複チェックに合格した行のF列のデータがシート2のN列に追加されます。
修正箇所があちこちにわたったので、コードの全文をご提示します。
javascript
1//重複を削除してから挿入(データ追加版)
2function myFunction() {
3 //初期設定
4 const rowBegin = 2;//各シートともに開始行は2行目
5 const colBegin1 = 1;//シート1はA列から抽出
6 const colBegin2 = 4;//シート2はD列から挿入
7 const colCount = 5;//抽出、挿入は5列分
8 const colAdd1 = 6;//シート1の追加データはF列から
9 const colAdd2 = 14;//シート2の追加データはN列へ
10 const ss = SpreadsheetApp.getActiveSpreadsheet();
11 const sheet1 = ss.getSheetByName('シート1');
12 const sheet2 = ss.getSheetByName('シート2');
13 //各シートのデータを取得
14 const lastRow1 = sheet1.getLastRow();
15 const lastRow2 = sheet2.getLastRow();
16 const value1 = sheet1.getRange(rowBegin, colBegin1, lastRow1 - rowBegin + 1, colCount).getValues();
17 const valueAdd1 = sheet1.getRange(rowBegin, colAdd1, lastRow1 - rowBegin + 1, 1).getValues();
18 const value2 = sheet2.getRange(rowBegin, colBegin2, lastRow2 - rowBegin + 1, colCount).getValues();
19 //シート1のデータからシート2との重複を削除したデータと追加データを作成
20 const united = [];
21 const add = [];
22 //処理中のデータのインデックスを得るためfor(of)を forEachに変更
23 value1.forEach((item1, i) => {
24 let isSame = false;
25 for (const item2 of value2) {
26 if (item1.toString() == item2.toString()) {
27 isSame = true;
28 break;//一致したら直ちにisSameの真偽判定へ
29 }
30 }
31 if (!isSame) {
32 united.push(item1);
33 add.push(valueAdd1[i]);//便乗して追加データの同じ行の値を配列に加える
34 }
35 });
36 //シート2の最終行に挿入
37 if (united.length > 0) {
38 sheet2.getRange(lastRow2 + 1, colBegin2, united.length, united[0].length).setValues(united);
39 sheet2.getRange(lastRow2 + 1, colAdd2, add.length, add[0].length).setValues(add);
40 }
41}