I have captured a data range in an array. My column 3 of the array remains constant and only my row needs to increment while assigning this value to a variable matchindex. While assigning the value to a variable I am getting an error stating
'Çannot read property 3 from undefined'.
I am getting this error on the line while assigning matchindex = data[i+2][3].
Can somebody please explain what is going wrong?
Below is my script
function testrange() {
var spreadsheet = SpreadsheetApp.getActive();
var i=0;
var temp1 =2;
var temp2 =2;
var startrow;
var endrow;
var matchindex;
var ssVillage = spreadsheet.setActiveSheet(spreadsheet.getSheetByName('VillageName'),true);
var range = ssVillage.getDataRange();
var data = range.getValues();
var lastcol = ssVillage.getLastColumn();
for (i=0;i<data.length;i++)
{
matchindex = data[i+2][3];
temp1 = matchindex;
if(temp1 !== temp2) {
// spreadsheet.setNamedRange(ssVillage.getRange("B"+startrow).getValue(),ssVillage.getRange("A"+startrow +":A"+endrow).activate() );
spreadsheet.setNamedRange(data[i+2][startrow],ssVillage.getRange("A"+startrow +":A"+endrow).activate() );
if (i+2 == matchindex) {
startrow = (i+2);
endrow = i+2;
}
else {
endrow = i+2;
}
}
else {
if (i+2 == matchindex) {
startrow = (i+2);
endrow = i+2;
}
else {
endrow = i+2;
}
}
temp2 = matchindex;
}
}