Skip to content

Instantly share code, notes, and snippets.

@manhtai
Created December 31, 2018 09:52
Show Gist options
  • Save manhtai/5725585948cf13a36c2c2afabfd9d97d to your computer and use it in GitHub Desktop.
Save manhtai/5725585948cf13a36c2c2afabfd9d97d to your computer and use it in GitHub Desktop.
Google app script create new sheet for each row
function myFunction() {
var mainSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Form Responses 1');
var data = mainSheet.getDataRange().getValues();
var doneValue = "Done";
for (var i = 0; i < data.length; i++) {
Logger.log(mainSheet.getRange(i+1, 10).getValue());
if (mainSheet.getRange(i+1, 10).getValue() != doneValue) {
var email = data[i][2]; // Assume email is in column 3
// Create new tab
SpreadsheetApp.getActiveSpreadsheet().insertSheet(email); // Email value as tab name
var emailSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(email);
emailSheet.getRange("A1:A10").setValues(data[i].map(function(x) { return [x]; })); // Insert data to new sheet, transpose it first
// Set done to row
mainSheet.getRange(i+1, 10).setValue(doneValue);
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment