TL;DR
Cara ekspor Google Form ke spreadsheet: buka tab Responses, klik ikon Sheets, lalu pilih bikin spreadsheet baru atau sambungkan ke file yang udah ada. Hasilnya tersambung otomatis, jadi jangan diedit langsung. Duplikat sheet mentahnya, rapikan header jadi kode pendek, pecah jawaban checkbox pakai REGEXMATCH, baru rekap pakai pivot table atau QUERY.
Cara ekspor Google Form ke spreadsheet: buka form, klik tab Responses, klik ikon Google Sheets di kanan atas, lalu pilih bikin spreadsheet baru atau sambungkan ke file yang udah ada.
Prosesnya 10 detik. Yang makan waktu itu tahap sesudahnya.
Hasil ekspor Google Form nggak pernah langsung siap dianalisis. Header kolomnya sepanjang pertanyaan aslinya, jawaban checkbox numpuk di satu sel, dan timestamp-nya bercampur jam sampai detik.
Di bawah ini urutan kerja yang aku pakai buat ngubah hasil mentah itu jadi tabel yang enak dipivot.
Buka form kamu, pindah ke tab Responses, lalu klik ikon spreadsheet hijau di pojok kanan atas. Google bakal nanya mau bikin spreadsheet baru atau nyambungin ke file lama. Setelah tersambung, tiap jawaban baru langsung nambah satu baris di sheet itu tanpa perlu ekspor ulang.
Kolom pertama selalu Timestamp. Sisanya urut sesuai urutan pertanyaan di form. Detail resminya ada di halaman bantuan Google Docs Editors.
Kalau kamu nambah pertanyaan baru setelah form jalan, kolomnya nempel di paling kanan. Jadi urutan kolom nggak selalu sama dengan urutan pertanyaan yang dilihat responden.
Pilih link ke Sheets kalau surveinya masih jalan dan kamu mau lihat angkanya update sendiri. Pilih download CSV kalau kamu butuh potret data yang beku, misalnya buat lampiran laporan yang angkanya nggak boleh berubah setelah dikirim.
| Kebutuhan | Link ke Sheets | Download CSV |
|---|---|---|
| Data update otomatis | Ya | Nggak |
| Bisa dipakai bareng tim | Ya, tinggal share | Perlu kirim file |
| Aman buat lampiran laporan | Kurang, angkanya bisa geser | Ya |
| Bisa diolah di Excel | Perlu unduh dulu | Langsung bisa |
| Baris bisa dihapus tanpa risiko | Nggak, hapusnya permanen di sheet | Ya |
Buat unduh CSV, klik menu titik tiga di tab Responses lalu pilih Download responses (.csv).
Karena Google Sheets nulis pertanyaan lengkap sebagai nama kolom. Pertanyaan sepanjang 90 karakter jadi header sepanjang 90 karakter juga. Rumus yang nunjuk ke kolom itu langsung susah dibaca, dan pivot table jadi melebar ke mana-mana.
Ada tiga masalah lain yang muncul hampir di tiap survei.
Jawaban checkbox disimpan jadi satu teks panjang dipisah koma. Timestamp berisi tanggal dan jam sekaligus, jadi rekap harian gagal ngelompok. Dan jawaban isian bebas penuh spasi berlebih plus beda kapital, jadi "Bandung", "bandung", dan "Bandung " kehitung tiga kategori.
Aturan pertama sebelum mulai beresin: jangan edit sheet yang tersambung. Klik kanan tab-nya, pilih Duplicate, kasih nama Bersih, dan kerja di situ.
Sisipkan satu baris di atas header asli, lalu isi dengan kode pendek: timestamp, q1, q2, dan seterusnya. Pertanyaan aslinya biarkan di baris bawahnya sebagai kamus. Rumus dan pivot kamu nunjuk ke kode pendek, sementara teks pertanyaannya tetap kesimpan.
Di sheet Bersih, aku biasanya bikin struktur begini.
Baris 1: timestamp | nama | kota | q1 | q2 | q3 | q4
Baris 2: (teks pertanyaan asli, opsional, bisa disembunyikan)
Baris 3: data pertama
Buat isian bebas yang kotor, bersihin pakai TRIM dan PROPER sekaligus.
=ARRAYFORMULA(IF(C3:C="", "", PROPER(TRIM(C3:C))))
Rumus ini rapiin seluruh kolom kota dalam satu tarikan. "bandung " jadi "Bandung", dan sel kosong tetap kosong. Fungsi IFERROR berguna kalau kamu numpuk rumus lain di atasnya.
Bikin satu kolom bantu per opsi, lalu isi dengan 1 kalau opsi itu ada di teks jawaban dan 0 kalau nggak ada. REGEXMATCH yang ngecek keberadaan teksnya. Setelah jadi angka nol dan satu, kamu bisa jumlahkan biasa dan bikin ranking opsi paling populer.
Misal kolom q3 berisi jawaban pertanyaan "Alasan kamu belanja di sini" dengan isi seperti Harga murah, Gratis ongkir, Barang lengkap.
=ARRAYFORMULA(IF($F3:$F="", "", --REGEXMATCH($F3:$F, "Gratis ongkir")))
Tanda minus dua kali ngubah TRUE dan FALSE jadi 1 dan 0. Ulangi buat tiap opsi di kolom bantu berikutnya.
Kalau kamu cuma butuh totalnya tanpa kolom bantu, COUNTIF dengan tanda bintang udah cukup.
=COUNTIF(F3:F, "*Gratis ongkir*")
Buat pertanyaan skala Likert, ubah teks jadi angka biar bisa dirata-rata.
=ARRAYFORMULA(IF($G3:$G="", "",
SWITCH($G3:$G,
"Sangat puas", 5,
"Puas", 4,
"Biasa saja", 3,
"Kurang puas", 2,
"Sangat kurang puas", 1)))
Pisahkan tanggal dari jam pakai INT, karena Sheets nyimpen timestamp sebagai angka desimal dengan bagian bulat sebagai tanggal. Buat responden ganda, urutkan data dari yang terbaru lalu ambil entri pertama per identitas, sehingga jawaban terakhir yang kepakai.
=ARRAYFORMULA(IF(A3:A="", "", INT(A3:A)))
Format kolom hasilnya jadi Date lewat menu Format, Number, Date. Kalau kamu mau lihat jam ramai orang ngisi form, pakai =HOUR(A3) di kolom terpisah.
Buat nyaring duplikat berdasarkan nomor HP, gabungkan SORT dan UNIQUE.
=UNIQUE(SORT(Bersih!B3:H, 1, FALSE), FALSE, TRUE)
Cara lain yang lebih gampang dicek satu-satu ada di artikel hapus duplikat di Google Sheets.
Dataset latihan ngulikdata punya satu file hasil Google Form survei kepuasan pelanggan toko_berkah. Isinya 293 responden dan 41 kolom.
Header terpanjang di file itu 128 karakter. Ada 17 baris dari nomor HP yang sama, hasil orang yang ngisi ulang karena ngerasa formnya gagal terkirim.
Setelah dirapikan, hasilnya begini.
| Tahap | Jumlah baris | Jumlah kolom |
|---|---|---|
| Hasil ekspor mentah | 293 | 41 |
| Setelah duplikat nomor HP dibuang | 276 | 41 |
| Setelah kolom kosong dan konfirmasi dibuang | 276 | 23 |
| Setelah checkbox dipecah jadi kolom nol dan satu | 276 | 29 |
Angka yang menarik muncul di pertanyaan alasan belanja. Opsi "Gratis ongkir" dicentang 181 kali dari 276 responden, atau 65,6 persen. Opsi "Harga murah" cuma 112 kali, alias 40,6 persen.
Kalau dibaca sekilas dari rekap bawaan Google Form, dua opsi ini kelihatan mirip populernya karena grafiknya bertumpuk. Setelah dipecah jadi kolom nol dan satu, selisih 25 poin itu baru kebaca jelas.
Buat rekap cepat per kota, QUERY satu baris ini yang aku pakai.
=QUERY(Bersih!A3:AC,
"select C, count(A), avg(H)
where C is not null
group by C
order by count(A) desc
label count(A) 'Responden', avg(H) 'Rata Skor'", 0)
Hasilnya tabel tiga kolom yang langsung bisa kamu tempel ke laporan. Pola QUERY lain buat data form ada di panduan analisa Google Form di Sheets.
Alurnya selalu sama: sambungkan form ke Sheets, duplikat sheet mentahnya, ganti header jadi kode pendek, pecah checkbox jadi angka, lalu rekap pakai pivot atau QUERY.
Yang paling sering dilewat orang cuma satu, yaitu duplikat sheet sebelum ngapa-ngapain. Lima detik kerja, nyelametin data satu survei penuh.
Lanjut ke tahap rekapnya di artikel cara tabulasi data kuesioner di Excel, atau langsung latihan pakai COUNTIFS buat ngitung silang jawaban antar pertanyaan.
Mau praktek langsung? Mulai latihan SQL gratis
Latihan interaktif, langsung di browser.
Punya ratusan angka dan mau tau sebarannya masuk ke rentang mana aja? FREQUENCY ngitung distribusi frekuensi sekali jalan, tanpa nulis COUNTIFS berkali-kali.
SUMIFS ribet kalau kriterianya banyak dan sering ganti. Rumus database Excel kayak DSUM baca kriteria dari sel terpisah, jadi kamu tinggal ubah tabel kecil tanpa nyentuh rumus.
DATEDIF ngasih umur bulat, tapi kadang kamu butuh angka desimal kayak 27,6 tahun buat hitung masa kerja atau bunga. YEARFRAC ngasih pecahan tahun dengan presisi.