Fill report table from data table

PHOTO EMBED

Mon May 23 2022 04:42:38 GMT+0000 (Coordinated Universal Time)

Saved by @bobgorbold

let sheet = workbook.getWorksheet("Report");
  let summary = workbook.getWorksheet("2022");
  let rangeSummary = summary.getUsedRange();
  let rangeSummaryValues = rangeSummary.getValues();
  let colCount = rangeSummary.getColumnCount();
  let rowCount = rangeSummary.getRowCount();
  let issuesTable = sheet.getTable("Issues");
  let summaryTable = sheet.getTable("SummaryTable");
  let summaryTableRange = summaryTable.getRange();
  let summaryTableRows = summaryTableRange.getRowCount();
  let summaryTableValues = summaryTableRange.getValues();
  let summaryTable2 = sheet.getTable("SummaryTable2");
  let summaryTable2Range = summaryTable2.getRange();
  let summaryTable2Rows = summaryTable2Range.getRowCount();
  let summaryTable2Values = summaryTable2Range.getValues();
  let dateStartTemp = sheet.getCell(1,0).getValue();
  let dateCalculator = (dateStartTemp - 2)%7;
  let dateStart = dateStartTemp - dateCalculator;
  let findRow = rangeSummary.getRow(0);
  let findRowVal = findRow.getValues();
  let startCell = -1;
  for(let i=1; i<colCount; i++){
    if(findRowVal[0][i]===dateStart){
      startCell = i;
    }
  }
if(startCell === -1){
  console.log("could not find date!")
}
//searches the report for each name in the data table
let success = false;
for(let i=1;i<summaryTableRows;i++){
    for (let j=3;j<rowCount;j++){
      if (rangeSummaryValues[j][0]==="Active"&& summaryTableValues[i][1]===rangeSummaryValues[j][4]){
        rangeSummary.getCell(j, startCell + 1).setValue(summaryTableValues[i][2]);
        rangeSummary.getCell(j, startCell + 2).setValue(summaryTableValues[i][3]);
        rangeSummary.getCell(j, startCell + 3).setValue(summaryTableValues[i][4]);
        success =true;
        break;
      }
      
    }
    //This Reports any one who wasn't in the big report
    if (!success) {
     issuesTable.addRow(null,[summaryTableValues[i][1] + " was not found in report"]);
      summaryTableRange.getRow(i).getFormat().getFill().setColor("FFFF00")

    }
    success = false;
 }
//fills in the bt totals
for (let i = 1; i < summaryTable2Rows; i++) {
  for (let j = 3; j < rowCount; j++) {
    if (summaryTable2Values[i][0] === rangeSummaryValues[j][4]) {
      rangeSummary.getCell(j, startCell + 1).setValue(summaryTable2Values[i][1]);
      rangeSummary.getCell(j, startCell + 2).setValue(summaryTable2Values[i][2]);
      rangeSummary.getCell(j, startCell + 3).setValue(summaryTable2Values[i][3]);
        break;
    }
  }
}
content_copyCOPY

Searches for matching names