I am running this code and the code needs to be run for a very long period of time, but google script shows an error "exceeds maximum execution time". I read somewhere that using triggers this can be implemented where the script turns off and resumes where it left. But I am not able to do so. How to make it resume where it left??
function myFunction() {
var app = SpreadsheetApp.getActive();
var sheet = app.getSheets()[2];
sheet.getRange(1, 1).setBackground('green');
var data = sheet.getDataRange().getValues();
for(var x=0; x<data.length; x++){
if(data[x][1] == 1) {
var name1 = sheet.getRange((x+1),(4)).getValue();
var comp1 = sheet.getRange((x+1),(8)).setValue(name1);
}
else if(data[x][1] == 2){
var name2 = sheet.getRange((x+1),(4)).getValue();
var comp2 = sheet.getRange((x+1),(9)).setValue(name2);}
else if(data[x][1] == 3){
var name3 = sheet.getRange((x+1),(4)).getValue();
var comp3 = sheet.getRange((x+1),(10)).setValue(name3);}
else if(data[x][1] == 4){
var name4 = sheet.getRange((x+1),(4)).getValue();
var comp4 = sheet.getRange((x+1),(11)).setValue(name4);}
else if(data[x][1] != 4 && data[x][1] != 3 && data[x][1] != 2 && data[x][1] != 1){
comp1 = sheet.getRange((x+1),(8)).setValue(name1);
comp2 = sheet.getRange((x+1),(9)).setValue(name2);
comp3 = sheet.getRange((x+1),(10)).setValue(name3);
comp4 = sheet.getRange((x+1),(11)).setValue(name4);
}
var word = sheet.getRange((x+1),(3)).getValue();
var nextword = sheet.getRange((x+2),(3)).getValue();
comp1 = sheet.getRange((x+1),(8)).setValue(name1);
comp2 = sheet.getRange((x+1),(9)).setValue(name2);
comp3 = sheet.getRange((x+1),(10)).setValue(name3);
comp4 = sheet.getRange((x+1),(11)).setValue(name4);
if(word != nextword){
name1 = "";
name2 = "";
name3 = "";
name4 = "";
}
}
}