Untitled
unknown
plain_text
9 months ago
2.2 kB
5
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);
}
}
});
}
Editor is loading...
Leave a Comment