Buat library Apps Script yang dapat Anda gunakan untuk menghapus baris duplikat dalam data spreadsheet.
Tujuan
- Siapkan skrip.
- Jalankan skrip.
Prasyarat
Untuk menggunakan sampel ini, Anda memerlukan prasyarat berikut:
- Akun Google (akun Google Workspace mungkin memerlukan persetujuan administrator).
- Browser web dengan akses ke internet.
Menyiapkan skrip
Untuk membuat library, lakukan langkah-langkah berikut:
- Login ke Akun Google Anda.
- Untuk membuka editor skrip, buka script.google.com.
- Di kiri atas, klik Project baru.
Hapus semua kode di editor skrip dan tempel kode di bawah.
Klik Simpan
.
Di kiri atas, klik Untitled project.
Beri nama skrip Anda Remove duplicate rows, lalu klik Rename.
Klik Deploy > Deployment baru.
Di sebelah Pilih jenis, klik Aktifkan jenis deployment
> Library.
Masukkan deskripsi library, seperti Hapus baris duplikat. Siapa saja yang memiliki akses ke pustaka dapat melihat deskripsi ini.
Klik Deploy.
Di sebelah kiri, klik Project settings
.
Di bagian IDs, salin ID skrip untuk digunakan di langkah berikutnya.
Jalankan skrip:
Untuk menggunakan library, Anda harus memiliki setidaknya izin lihat untuk project Apps Script-nya. Karena Anda membuat library, Anda memiliki izin yang diperlukan untuk menggunakannya. Jika Anda ingin mengizinkan orang lain menggunakan library, beri mereka izin lihat untuk project Apps Script.
Untuk menggunakan library, lakukan langkah-langkah berikut:
- Buka spreadsheet Google Spreadsheet yang memiliki data dengan baris duplikat. Untuk menggunakan contoh spreadsheet, buat salinan spreadsheet Contoh baris duplikat.
- Klik Ekstensi > Apps Script.
- Di samping Perpustakaan, klik Tambahkan perpustakaan .
- Di bagian Script ID, tempelkan ID skrip dari project Apps Script pustaka yang Anda salin di bagian sebelumnya.
- Klik Cari.
- Di bagian Version, pilih 1.
- Klik Tambahkan.
Hapus semua kode di editor skrip dan tempel kode di bawah.
function runLibrary() { Removeduplicaterows.removeDuplicates(); }
Di dropdown fungsi, pilih runLibrary.
Klik Run.
Kembali ke spreadsheet untuk melihat data yang diperbarui tanpa baris duplikat.
Meninjau kode
Untuk meninjau kode Apps Script untuk solusi ini, klik Lihat kode sumber di bawah:
Melihat kode sumber
Pertama, skrip membuat satu panggilan ke spreadsheet untuk mengambil semua data. Anda dapat memilih untuk membaca baris sheet satu per satu, tetapi operasi JavaScript jauh lebih cepat daripada berkomunikasi dengan layanan lain seperti Spreadsheet. Semakin sedikit panggilan yang Anda lakukan, semakin cepat prosesnya. Hal ini penting karena setiap eksekusi skrip memiliki waktu berjalan maksimum 6 menit.
Variabel data
adalah array 2 dimensi JavaScript yang berisi
semua nilai dalam sheet. newData
adalah array kosong tempat
skrip menempatkan semua baris yang tidak duplikat.
Loop for
pertama melakukan iterasi pada setiap baris dalam array 2 dimensi data
. Untuk setiap baris, loop kedua menguji apakah baris lain dengan
data yang cocok sudah ada dalam array newData
. Jika bukan duplikat, baris akan didorong ke dalam array newData
.
Terakhir, skrip akan menghapus konten yang ada di sheet dan menyisipkan konten array newData
.
Modifikasi
Anda dapat mengedit pustaka sesering yang Anda inginkan agar sesuai dengan kebutuhan Anda. Berikut adalah modifikasi opsional.
Menghapus baris dengan data yang cocok di beberapa kolom
Daripada menghapus baris yang cocok sepenuhnya, Anda mungkin ingin menghapus baris dengan data yang cocok hanya di satu atau dua kolom. Untuk melakukannya, Anda dapat mengubah pernyataan bersyarat.
Dalam kode contoh, perbarui baris berikut:
if(row.join() == newData[j].join()){ duplicate = true; }
Ganti baris dengan kode berikut:
if(row[0] == newData[j][0] && row[1] == newData[j][1]){ duplicate = true; }
Pernyataan bersyarat di atas menemukan duplikat setiap kali dua baris memiliki data yang sama di kolom pertama dan kedua sheet.
Kontributor
Contoh ini dibuat oleh Romain Vialard, seorang Pakar Developer Google. Ikuti Romain di Twitter @romain_vialard.
Contoh ini dikelola oleh Google dengan bantuan Pakar Developer Google.