Untitled

 avatar
unknown
plain_text
15 days ago
2.2 kB
3
Indexable
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