var now = new Date(); var today = Utilities.formatDate(now, 'America/New_York', 'MM/dd/yyyy'); const readSheet = SpreadsheetApp.getActiveSpreadsheet().getSheets()[0]; const writeSheet = SpreadsheetApp.getActiveSpreadsheet().getSheets()[1]; // This function needs to happen every time the script runs. function writeHeadings() { // Write the new Column Headings var lastColumn = writeSheet.getLastColumn()+1; var lastRow = writeSheet.getLastRow(); writeSheet.getRange(1, lastColumn).setValue("Percent Change"); writeSheet.getRange(1, lastColumn+1).setValue("Progress"); writeSheet.getRange(2, lastColumn+1).setValue(today); addProgress(lastColumn); } // This function takes the progress from Column D of Sheet0 and adds it to Sheet1 function addProgress(lastColumn, prevColumn) { // Process Data from Sheet0 var numRows = readSheet.getLastRow()-1; // Number of rows to process var dataRange = readSheet.getRange(2, 2, numRows, 3); // Process First Row from Sheet1 // var numRows = writeSheet.getLastRow()-1; // Number of rows to process // var dataRange = writeSheet.getRange(3, 1, numRows, 1); var values = dataRange.getValues(); for (item in values) { var row = values[item]; var course= row[0]; var avgProgress = row [2]; findRow(course, avgProgress, lastColumn); } } function findRow(course, avgProgress, lastColumn) { var prevColumn = writeSheet.getLastColumn()-2; var numRows = writeSheet.getLastRow(); var data = writeSheet.getRange(3,1,numRows,1).getValues(); var progArray = []; progArray.push(avgProgress); for(var i = 0; i progArray.reduce((a,b) => a + b, 0) / progArray.length return progCalc }