Tutorial ini membahas cara menggabungkan 2 kolom atau lebih menjadi 1 kolom daftar yang panjang di Excel.
Seperti contoh gambar di atas, daftar dari kolom A dan B akan digabung atau disusun menjadi 1 kolom. Jadi setelah data kolom pertama, maka akan dilanjutkan dengan data dari kolom 2 dan seterusnya.
Lihat juga: Cara Menggabungkan 2 Kolom di Excel Baris Selang Seling
Bila datanya berupa baris tabel yang pendek atau sedikit, kita bisa menggunakan cara Copy Paste. Namun, metode Copy Paste tidak cocok untuk daftar yang panjang.
Untuk itu, kita sebaiknya menggunakan 2 cara di bawah ini yang akan menggabungkan kolom Excel yang panjang dengan cepat dan mudah.
DAFTAR ISI
1Cara Menggabungkan Kolom Excel dengan Rumus
Pada cara ini, kita akan menggunakan formula atau rumus Excel untuk menggabungkan 2 kolom menjadi 1 kolom.
Misalnya, kita ingin menggabungkan daftar di kolom A dan di kolom B , yaitu sel A2:B6. Hasilnya akan ditaruh di kolom C.
Untuk itu, ikuti langkah-langkah berikut ini.
- Klik di sel C2.
- Masukkan rumus di bawah ini dan tekan ENTER.
Pilih rumus sesuai pengaturan pemisah formula pada komputer Anda.
Rumus dengan pemisah koma.
=IFERROR(INDEX($A$2:$A$5, ROWS(C2:$C$2)), IFERROR(INDEX($B$2:$B$6, ROWS(C2:$C$2)-ROWS($A$2:$A$5)),""))
Rumus dengan pemisah titik koma
=IFERROR(INDEX($A$2:$A$5; ROWS(C2:$C$2)); IFERROR(INDEX($B$2:$B$6; ROWS(C2:$C$2)-ROWS($A$2:$A$5));""))
Salin rumus ke sel di bawahnya hingga muncul data terakhir di kolom B. Contoh pada tutorial ini adalah Pencil.
Catatan: rumus di atas masih bisa dikembangkan lagi untuk menggabungkan 3 kolom menjadi 1 dan seterusnya. Atau gunakan Cara 2 di bawah ini yang memakai kode VBA untuk menggabungkan banyak kolom.
Lihat di sini: Cara Membuat 1 Kolom dan 2 Kolom dalam Satu Halaman Word
2Cara Menggabungkan Kolom Excel dengan Kode VBA
Pada cara ini, kita akan menggabungkan daftar di kolom A, B, C, D. Hasilnya ditaruh di kolom A atau di kolom baru yang kita tentukan.
Hal yang perlu diketahui:
- Cara ini bisa menggabungkan 2 kolom atau lebih menjadi 1 kolom.
- Bila menggunakan kode VBA, maka kita tidak bisa membatalkan perintah yang sudah dibuat. Untuk itu, Anda bisa membuat salinan daftar asli untuk berjaga-jaga seandainya terjadi error yang tidak bisa diperbaiki atau hasilnya tidak seperti yang diinginkan.
Berikut langkah-langkah menggabungkan kolom Excel dengan kode VBA.
- Tekan tombol ALT + F11 untuk menampilkan layar VBA. Tips: Anda juga bisa mengklik kanan tab lembar kerja dan pilih View Code.
- Di layar VBA, klik Insert | Module dan masukkan kode VBA di bawah ini.
Sub CombineColumns() Dim xRng As Range Dim i As Integer Dim xLastRow As Integer Dim xTxt As String On Error Resume Next xTxt = Application.ActiveWindow.RangeSelection.Address Set xRng = Application.InputBox("Please Select the Data Range", xTxt, Type:=8) If xRng Is Nothing Then Exit Sub xLastRow = xRng.Columns(1).Rows.Count + 1 For i = 2 To xRng.Columns.Count Range(xRng.Cells(1, i), xRng.Cells(xRng.Columns(i).Rows.Count, i)).Cut ActiveSheet.Paste Destination:=xRng.Cells(xLastRow, 1) xLastRow = xLastRow + xRng.Columns(i).Rows.Count Next End Sub
Contoh tampilan kode di layar VBA adalah seperti ini.
- Tekan tombol F5 di keyboard atau tekan icon ▶ (RUN) pada menu toolbar untuk menjalankan kode tersebut.
- Akan muncul kotak untuk memilih sel yang berisi daftar yang akan digabungkan. Akhiri dengan mengklik OK.
Tutorial ini akan menggabungkan data di kolom A, B, C, dan D. Dengan demkian range atau rentang sel yang dipilih adalah A1:D3.
Sekarang cek hasilnya di sheet Excel. Data di kolom A, B, C, D sudah tergabung menjadi 1 di kolom A.
Bila Anda ingin penggabungan ditaruh di kolom yang Anda pilih, maka ganti kode VBA di atas dengan kode berikut.
Public Sub CombineColumns() Dim oWsSrc As Worksheet Dim oWsDest As Worksheet Dim raSrc As Range Dim raDest As Range Dim sAddrSrc As String Dim sAddrDest As String Dim lRows As Long Dim lCols As Long Dim i As Integer Set raSrc = Application.InputBox("Please Select the Data Range", Type:=8) Set raDest = Application.InputBox("Please Select Destination", Type:=8) If Not raSrc Is Nothing Or Not raDest Is Nothing Then Set oWsSrc = raSrc.Parent lRows = raSrc.Rows.Count lCols = raSrc.Columns.Count sAddrSrc = raSrc.Address Set oWsDest = raDest.Parent sAddrDest = raDest.Address For i = 1 To lCols Set raSrc = oWsSrc.Range(sAddrSrc) oWsSrc.Range(raSrc.Cells(1, i), raSrc.Cells(lRows, i)).Cut Set raDest = oWsDest.Range(sAddrDest).Resize(lRows, 1).Offset(lRows * (i - 1), 0) oWsDest.Paste Destination:=raDest Next End If End Sub
Setelah kode dijalankan, akan muncul 1 buah kotak lagi untuk memilih sel tempat menaruh hasil penggabungan.
Catatan: bila kolom memiliki jumlah baris yang tidak sama, maka setelah digabungkan akan muncul baris kosong. Untuk itu, jangan lupa untuk menghapus baris kosong tersebut.
Kesimpulan
Demikian 2 cara menggabungkan kolom Excel menjadi 1, yaitu dengan menggunakan rumus Excel dan kode VBA.
Perlu diketahui bahwa kedua cara di atas tidak cocok untuk menggabungkan daftar sel yang memiliki Format As Table.