Advertisement
Guest User

Untitled

a guest
Oct 19th, 2019
108
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function adjustRows() {
  2.  
  3.   //pull raw data
  4.   var rawSheet = SpreadsheetApp.getActive().getSheetByName('Raw')
  5.   var rawRows = rawSheet.getDataRange();
  6.   var rawNumRows = rawRows.getNumRows();
  7.   var rawValues = rawRows.getValues();
  8.  
  9.   var rowsDeleted = 0;
  10.  
  11.   //pull adjustment data
  12.   var adjustSheet = SpreadsheetApp.getActive().getSheetByName('Adjustments')
  13.   var adjustRows = adjustSheet.getDataRange();
  14.   var adjustRowCount = adjustRows.getNumRows();
  15.   var adjustValues = adjustRows.getValues();
  16.  
  17.   //target sheet
  18.  
  19.   //combine row totals?
  20.   var build = 2;
  21.  
  22.   var finalSheet = SpreadsheetApp.getActive().getSheetByName('Final')
  23.  
  24.   //clear sheet
  25.   finalSheet.getRange("A:E").clear();
  26.  
  27.  
  28.   //loop through all adjustment rows, find DELETES
  29.   for (var i = 0; i <= adjustRowCount - 1; i++) {
  30.     var row = adjustValues[i];
  31.     if (row[6] == 'DELETE') {
  32.      
  33.       var deldate = row[5];
  34.       var delname = row[1];
  35.       var delitem = row[2];
  36.      
  37.        //Logger.log(deldate + delname + delitem);
  38.      
  39.        //once a delete is found, loop through all raw rows
  40.         for (var d = 0; d <= rawNumRows - 1; d++) {
  41.           var rawRow = rawValues[d];
  42.          
  43.          //Logger.log(rawRow[0]);
  44.           //and DELETE them matching PLAYER | DATE | ITEM
  45.           if (rawRow[0] == delname && rawRow[3] == delitem && rawRow[1] == deldate)
  46.           {
  47.             Logger.log('deleting row number ' + d + ' ' + rawRow[0] + ' ' + rawRow[3] + ' ' + rawRow[1]);
  48.             rawSheet.deleteRow((parseInt(d)+1) - rowsDeleted);
  49.             rowsDeleted++;
  50.           }
  51.          
  52.           //RAW LOOP
  53.          
  54.      
  55.         }
  56.      
  57.       //ADJUSTMENT DELETE LOOP CLOSED
  58.  
  59.     }
  60.    
  61.     //IF ADJUSTED IS ADD, ADD TO FINAL
  62.     if (row[6] == 'ADD') {
  63.      
  64.      
  65.       var adddate = row[5];
  66.       var addname = row[1];
  67.       var additem = row[3];
  68.       var addtype = row[4];
  69.       var addclass = row[0];
  70.       Logger.log('add row number ' + i + ' ' + adddate + ' ' + addname + ' ' + additem + ' ' + addtype);
  71.      
  72.        finalSheet.getRange(build, 1).setValue(addname)
  73.        finalSheet.getRange(build, 2).setValue(addclass)
  74.        finalSheet.getRange(build, 3).setValue(additem)
  75.        finalSheet.getRange(build, 4).setValue(adddate)
  76.        finalSheet.getRange(build, 5).setValue(addtype)
  77.        
  78.        build++
  79.      
  80.     }
  81.      
  82.     //TOTAL END ADJUSTMENT LOOP
  83.    
  84.   }
  85.  
  86.   //prepare sheet
  87.  
  88.      
  89.        finalSheet.getRange(1, 1).setValue('Name')
  90.        finalSheet.getRange(1, 2).setValue('Class')
  91.        finalSheet.getRange(1, 3).setValue('Item')
  92.        finalSheet.getRange(1, 4).setValue('Date')
  93.        finalSheet.getRange(1, 5).setValue('Type')
  94.        finalSheet.getRange('A1:E1').setFontWeight("bold");
  95.        finalSheet.getRange('A:E').setHorizontalAlignment("center")
  96.        
  97.        //add raw data after adjustment
  98.  
  99.   for (var d = 1; d <= rawNumRows - 1; d++) {
  100.       var row = rawValues[d];
  101.       var adddate = row[1];
  102.       var addname = row[0];
  103.       var additem = row[3];
  104.       var addtype = row[6];
  105.       var addclass = row[8];
  106.    
  107.        finalSheet.getRange(build, 1).setValue(addname)
  108.        finalSheet.getRange(build, 2).setValue(addclass)
  109.        finalSheet.getRange(build, 3).setValue(additem)
  110.        finalSheet.getRange(build, 4).setValue(adddate)
  111.        finalSheet.getRange(build, 5).setValue(addtype)
  112.        build++
  113.    
  114.   }
  115. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement