gasについて詳しい方お力を貸してください。
現状、下のスクリプトだと挿入先のシート(シート2)にD列からH列が挿入されるようになっているのですが、N列にも挿入したい場合どうしたら良いでしょうか。
どなたかよろしくお願いいたたします。
//重複を削除してから挿入 function myFunction() { //初期設定 const rowBegin = 2;//各シートともに開始行は2行目 const colBegin1 = 1;//シート1はA列から抽出 const colBegin2 = 4;//シート2はD列から挿入 const colCount = 5;//抽出、挿入は5列分 const ss = SpreadsheetApp.getActiveSpreadsheet(); const sheet1 = ss.getSheetByName('xxxxxxxxxxxxxxxxxxx'); const sheet2 = ss.getSheetByName('xxxxxxxxxxxxxxxxxxx'); //各シートのデータを取得 const lastRow2 = sheet2.getLastRow(); const value1 = sheet1.getRange(rowBegin, colBegin1, sheet1.getLastRow() - rowBegin + 1, colCount).getValues(); const value2 = sheet2.getRange(rowBegin, colBegin2, lastRow2 - rowBegin + 1, colCount).getValues(); //シート1のデータからシート2との重複を削除したデータを作成 const united = []; for (const item1 of value1) { let isSame = false; for (const item2 of value2) { if (item1.toString() == item2.toString()) { isSame = true; } } if (!isSame) { united.push(item1); } } //シート2の最終行に挿入 if (united.length > 0) { sheet2.getRange(lastRow2 + 1, colBegin2, united.length, united[0].length).setValues(united);// } }
1) シート2のN列に挿入したいデータはシート1のどのデータでしょうか?
2) 現在は、シート1のA列からE列までデータのうちシート2のD列からH列と完全に一致するデータは挿入(追加)しないようになっていますが、N列に挿入したいデータも重複しないようにするのであれば、どのように重複の比較をしますか?
ご回答ありがとうございます。
1) シート2のN列に挿入したいデータはシート1のどのデータでしょうか?
→シート1のF列です。
2) 現在は、シート1のA列からE列までデータのうちシート2のD列からH列と完全に一致するデータは挿入(追加)しないようになっていますが、N列に挿入したいデータも重複しないようにするのであれば、どのように重複の比較をしますか?
→N列に挿入したいデータは重複の比較対象外にできればと思います。
もうひとつ確認させてください。
今後、シート2に挿入されるシート1のA列からE列までのデータに合わせて同じ行のF列のデータのみをシート2の挿入される行(最終行以降)のN列に挿入するということでよろしいですか?
はい!!仰る通りでございます。

回答1件
あなたの回答
tips
プレビュー