Monday, January 9, 2012

Delete duplicates in form responses - Google Groups

Delete duplicates in form responses - Google Groups:

function deleteDuplicates() {
// SET UP - Indicate sheet name & columns to look at
// eg. for each row, look at data in columns emailAddress & event to find duplicates
var DATA_SHEET = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1");
var FIRST_COLUMN = 3;
var SECOND_COLUMN = 6;
///////////////////////////////////////////////////////////
//This script deletes duplicates in form responses
//By default, it keeps the last response submitted
///////////////////////////////////////////////////////////
var data = DATA_SHEET.getDataRange().getValues();
var cleanupData = new Array();
var lastColumn = DATA_SHEET.getLastColumn();
for (var i = data.length - 1; i > -1; --i) {
if (data[i][FIRST_COLUMN - 1] != "DO NOT COPY"){

for (var j = 0; j < i; ++j) {
//IF duplicates, mark those duplicates as empty
if (data[j][FIRST_COLUMN - 1] == data[i][FIRST_COLUMN - 1] && data[j][SECOND_COLUMN - 1] == data[i][SECOND_COLUMN - 1] && j!=i) {
data[j][FIRST_COLUMN - 1] = "DO NOT COPY";
}
}
}
if (data[i][FIRST_COLUMN - 1] != "DO NOT COPY"){
cleanupData.unshift(data[i]);
}
}
DATA_SHEET.clearContents();
DATA_SHEET.getRange(1,1,cleanupData.length,lastColumn).setValues(cleanupData);
SpreadsheetApp.flush();
}
'via Blog this'

No comments:

Post a Comment