I want to copy data from Source Sheet to Target Sheet by using the following code taken from other thread of this site. How ever its not helping with desired output.
I want to copy data from source sheet to target sheet. Source sheet data is changing dynamically hence, I want to copy Source sheet rows if Source sheet Column A data does not exists in Target sheet Column A.
please help me to modify the code.
const ss = SpreadsheetApp.getActiveSpreadsheet();
const sourceSheet = ss.getSheetByName("Source");
const targetSheet = ss.getSheetByName("Target");
const startRow = 2;
const APPENDED = 'APPENDED';
function appendToRecords() {
const numRows = sourceSheet.getLastRow() - 1; // Number of rows to process
const dataRange = sourceSheet.getRange(startRow, 1, numRows, sourceSheet.getLastColumn()); // Fetch the range of cells being used
const sourceData = dataRange.getValues(); // Fetch values for each row in the Range.
const lastColumn = sourceData[0].length;
//if (dataRange > 2) {
for (var i = 0; i < sourceData.length; ++i) {
var row = sourceData[i];
if (row[1]=="" && row[lastColumn-1] ==APPENDED) {
sourceSheet.getRange(startRow + i, 9 ).setValue("");
}
else if (row[lastColumn-1] != APPENDED) {
///you should not do this line by line, but all at oncw with an array
//row[lastColumn-1] = APPENDED;
row[8] = APPENDED; // to avoid incremental appending
var lastRow = targetSheet.getLastRow();
targetSheet.getRange(lastRow + 1, 1, 1, row.length).setValues([row]);
sourceSheet.getRange(startRow + i, 9 ).setValue("APPENDED");
}
}
}
Sample data sheet https://docs.google.com/spreadsheets/d/13NGHmUjnISK76wri8x9PoyU34KPLdW2TrOXVvoY5kuM/edit#gid=2100307022