Cara Menggabungkan Sheet dan FIle Google Spreadsheet

Cara Menggabungkan Sheet dan FIle Google Spreadsheet dengan rumus function dan appscript

Memilki data yang terpisah pisah baik terpisah pada sheet maupun kita bisa menggunakan function atau appscript untuk menggabungkannya 

Cara Menggabungkan Sheet dan FIle Google Spreadsheet


1. Menggabungkan Sheet Menggunakan Function Filter

Pada contoh kasus saya memliki dua sheet dengan kolom header yang sama kemudian saya akan menggabungkannya menjadi satu dalam satu sheet caranya anda bisa membuat sheet baru kemudian masukan rumus 

={Sheet1!A1;  FILTER(Sheet1!A2:A, Sheet1!A2:A <> "");

  FILTER(Sheet2!A2:A, Sheet2!A2:A <> "")}

pada rumus tersebut kita mengambil header kolom pada kolom A1 kemudian memanggil kolom isinya dari masing masing sheet.

2. Menggabungkan sheet dengan Appscript

Pada contoh kasus yang sama namun kita menggunakan AppScript dimana kita memasukan code untuk membuat fungsi untuk melakukan penggabungan sheet dengan code sebagai berikut 

function gabSheet() {
const ss = SpreadsheetApp.getActiveSpreadsheet();
const targetSheetName = "Gabungan";
const targetSheet = ss.getSheetByName(targetSheetName) || ss.insertSheet(targetSheetName);
targetSheet.clearContents();

// Ambil header dari kolom Sheet1
const header = ss.getSheetByName("Sheet1").getRange("A1:C1").getValues()[0];
targetSheet.getRange(1, 1, 1, header.length).setValues([header]);

let row = 2;
const sheetNames = ["Sheet1", "Sheet2"]; // <== sesuaikan dengan nama sheet

for (const name of sheetNames) {
const sheet = ss.getSheetByName(name);
if (!sheet) continue; // skip jika sheet tidak ditemukan

const lastRow = sheet.getLastRow();
if (lastRow < 2) continue;

const data = sheet.getRange("A2:C" + lastRow).getValues();
const nonEmptyRows = data.filter(row => row.join("") !== "");

if (nonEmptyRows.length > 0) {
targetSheet.getRange(row, 1, nonEmptyRows.length, nonEmptyRows[0].length).setValues(nonEmptyRows);
row += nonEmptyRows.length;
}
}
}

3. Menggabungkan File menjadi satu File Spreadsheet

Untuk melakukan nya pada contoh kasus kita memliki satu folder yang berisi dua file spreadsheet dengan nama file 1 dan file 2. Kita akan melakukan penggabungan 2 file tersebut menjadi satu dengan menggunakan AppScript dengan cara memasukan code berikut ini dan menjalankan function hingga selesai

START

function gabungkanFile() {
const folderId = "IDFOLDERDRIVE"; // Ganti dengan ID folder Anda
const folder = DriveApp.getFolderById(folderId);
const files = folder.getFilesByType(MimeType.GOOGLE_SHEETS);

const targetSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Gabungan")
|| SpreadsheetApp.getActiveSpreadsheet().insertSheet("Gabungan");
targetSheet.clearContents();

let row = 2;
let headerSet = false;

while (files.hasNext()) {
const file = files.next();
const ss = SpreadsheetApp.open(file);
const sheet = ss.getSheets()[0]; // Ambil sheet pertama

const lastRow = sheet.getLastRow();
const lastCol = sheet.getLastColumn();

if (lastRow < 1 || lastCol < 1) continue; // lewati sheet kosong

if (!headerSet) {
const header = sheet.getRange(1, 1, 1, lastCol).getValues();
targetSheet.getRange(1, 1, 1, lastCol).setValues(header);
headerSet = true;
}

if (lastRow > 1) {
const data = sheet.getRange(2, 1, lastRow - 1, lastCol).getValues();
targetSheet.getRange(row, 1, data.length, lastCol).setValues(data);
row += data.length;
}
}
}


Setelah selesai maka anda akan mendapatkan data dalam satu file spreadsheet dari 2 file spreadsheet tersebut. anda bisa melihat video berikut ini untuk mengikuti langkah-langkahnya.



Mungkin anda juga mencari :

OlderNewest

Post a Comment

Silahkan berkomentar dengan baik dan benar