Untitled
function copyAverageToSum() { var ss = SpreadsheetApp.getActiveSpreadsheet(); var sumSheet = ss.getSheetByName("SUM"); // Pastikan nama sheet SUM benar var sheets = ss.getSheets(); var targetColumn = 9; // Kolom "Average" di setiap sheet (kolom I = index ke-9) var startRow = 4; // Data mulai dari baris 4 var endRow = 56; // Baris akhir yang ingin diambil var numRows = endRow - startRow + 1; // Jumlah baris yang diambil var startColumnIndex = 7; // **Mulai dari kolom G (index ke-7) di sheet SUM** var columnIndex = startColumnIndex; // Kolom pertama untuk menyimpan data di SUM // **Menghapus baris 1 dan 3 sebelum update** sumSheet.getRange(1, startColumnIndex, 1, sumSheet.getLastColumn() - startColumnIndex + 1).clearContent(); sumSheet.getRange(3, startColumnIndex, 1, sumSheet.getLastColumn() - startColumnIndex + 1).clearContent(); sheets.forEach(sheet => { var sheetName = sheet.getName(); // Cek apakah sheet memiliki format tanggal (misal: "21/01", "22/01", dst.) if (/^\d{2}\/\d{2}$/.test(sheetName)) { try { var sheetData = sheet.getRange(startRow, targetColumn, numRows, 1).getValues(); // Ambil data "Average" // **Pastikan hanya memasukkan data yang valid** for (var i = 0; i < sheetData.length; i++) { if (sheetData[i][0] === "" || sheetData[i][0] === null) { sheetData[i][0] = ""; // Jika tidak ada data, biarkan kosong } } // **Set header di baris 2 (warna hijau) dengan tanggal** sumSheet.getRange(2, columnIndex).setValue(sheetName); // **Pindahkan data dari setiap sheet ke SUM (mulai dari baris ke-4)** sumSheet.getRange(4, columnIndex, numRows, 1).setValues(sheetData); columnIndex++; // Geser ke kolom berikutnya untuk sheet berikutnya } catch (e) { Logger.log("Error saat mengambil data dari sheet " + sheetName + ": " + e.message); } } }); }
Leave a Comment