Ubah kolom / baris menjadi larik di Excel: WRAPCOLS &; Fungsi WRAPROWS

  • Bagikan Ini
Michael Brown

Cara tercepat untuk mentransformasikan kolom atau baris nilai ke dalam larik dua dimensi adalah menggunakan fungsi WRAPCOLS atau WRAPROWS.

Sejak awal Excel, ia telah sangat baik dalam menghitung dan menganalisis angka. Tetapi memanipulasi array secara tradisional menjadi tantangan. Pengenalan array dinamis membuat penggunaan rumus array jauh lebih mudah. Dan sekarang, Microsoft merilis satu set fungsi array dinamis baru untuk memanipulasi dan membentuk kembali array. Tutorial ini akan mengajarkan Anda cara menggunakan dua fungsi tersebut,WRAPCOLS dan WRAPROWS, untuk mentransformasi kolom atau baris ke dalam array 2D dalam waktu singkat.

    Fungsi WRAPCOLS Excel

    Fungsi WRAPCOLS di Excel mengubah baris atau kolom nilai menjadi larik dua dimensi berdasarkan jumlah nilai yang ditentukan per baris.

    Sintaks memiliki argumen berikut:

    WRAPCOLS(vektor, wrap_count, [pad_with])

    Di mana:

    • vektor (wajib) - larik atau rentang satu dimensi sumber.
    • wrap_count (wajib) - jumlah nilai maksimal per kolom.
    • pad_with (opsional) - nilai untuk mengisi kolom terakhir jika ada item yang tidak cukup untuk mengisinya. Jika dihilangkan, nilai yang hilang akan diisi dengan #N/A (default).

    Misalnya, untuk mengubah rentang B5:B24 menjadi larik 2-dimensi dengan 5 nilai per kolom, rumusnya adalah:

    =WRAPROWS(B5:B24, 5)

    Anda memasukkan rumus dalam sel tunggal dan secara otomatis tumpah ke dalam sel sebanyak yang diperlukan. Dalam output WRAPCOLS, nilai disusun secara vertikal, dari atas ke bawah, berdasarkan wrap_count Setelah hitungan tercapai, kolom baru dimulai.

    Fungsi WRAPROWS Excel

    Fungsi WRAPROWS di Excel mengubah baris atau kolom nilai menjadi larik dua dimensi berdasarkan jumlah nilai per baris yang Anda tentukan.

    Sintaksnya adalah sebagai berikut:

    WRAPROWS(vektor, wrap_count, [pad_with])

    Di mana:

    • vektor (wajib) - larik atau rentang satu dimensi sumber.
    • wrap_count (wajib) - jumlah maksimal nilai per baris.
    • pad_with (opsional) - nilai untuk mengisi baris terakhir jika tidak ada item yang cukup untuk mengisinya. Defaultnya adalah #N/A.

    Misalnya, untuk mengubah rentang B5:B24 menjadi larik 2D yang memiliki 5 nilai di setiap baris, rumusnya adalah:

    =WRAPROWS(B5:B24, 5)

    Anda memasukkan rumus di sel kiri atas dari rentang tumpahan, dan rumus tersebut mengisi semua sel lainnya secara otomatis. Fungsi WRAPROWS mengatur nilai secara horizontal, dari kiri ke kanan, berdasarkan pada wrap_count Setelah mencapai hitungan, ia memulai baris baru.

    Ketersediaan WRAPCOLS dan WRAPROWS

    Kedua fungsi tersebut hanya tersedia di Excel untuk Microsoft 365 (Windows dan Mac) dan Excel untuk web.

    Pada versi sebelumnya, anda bisa menggunakan rumus tradisional yang lebih kompleks untuk melakukan transformasi kolom-ke-larik dan baris-ke-larik. Lebih lanjut dalam tutorial ini, kita akan mendiskusikan solusi alternatif secara rinci.

    Tip. Untuk melakukan operasi terbalik, yaitu mengubah larik 2D menjadi satu kolom atau baris, gunakan fungsi TOCOL atau TOROW, masing-masing.

    Bagaimana mengubah kolom / baris menjadi rentang di Excel - contoh

    Sekarang, setelah Anda memahami penggunaan dasar, mari kita lihat lebih dekat pada beberapa kasus yang lebih spesifik.

    Mengatur jumlah maksimum nilai per kolom atau baris

    Tergantung pada struktur data asli Anda, Anda mungkin merasa cocok untuk disusun ulang ke dalam kolom (WRAPCOLS) atau baris (WRAPROWS). Fungsi manapun yang Anda gunakan, itu adalah fungsi wrap_count argumen yang menentukan jumlah nilai maksimal di setiap kolom/baris.

    Misalnya, untuk mengubah rentang B4:B23 menjadi larik 2D, sehingga setiap kolom memiliki maksimum 10 nilai, gunakan rumus ini:

    =WRAPCOLS(B4:B23, 10)

    Untuk mengatur ulang rentang yang sama menurut baris, sehingga setiap baris memiliki maksimum 4 nilai, rumusnya adalah:

    =WRAPROWS(B4:B23, 4)

    Gambar di bawah ini menunjukkan bagaimana ini terlihat:

    Pad nilai yang hilang dalam larik yang dihasilkan

    Jika tidak ada nilai yang cukup untuk mengisi semua kolom/baris dari range yang dihasilkan, WRAPROWS dan WRAPCOLS akan mengembalikan error #N/A untuk menjaga struktur dari array 2D.

    Untuk mengubah perilaku default, Anda bisa memberikan nilai kustom untuk opsional pad_with argumen.

    Misalnya, untuk mengubah rentang B4: B21 menjadi larik 2D dengan lebar maksimum 5 nilai, dan pad baris terakhir dengan tanda hubung jika tidak ada cukup data untuk mengisinya, gunakan rumus ini:

    =WRAPROWS(B4:B21, 5, "-")

    Untuk mengganti nilai yang hilang dengan string panjang-nol (kosong), rumusnya adalah:

    =WRAPROWS(B4:B21, 5, "")

    Silakan bandingkan hasilnya dengan perilaku default (rumus dalam D5) di mana pad_with dihilangkan:

    Gabungkan beberapa baris ke dalam rentang 2D

    Untuk menggabungkan beberapa baris terpisah ke dalam satu larik 2D, pertama-tama Anda menumpuk baris secara horizontal menggunakan fungsi HSTACK, lalu membungkus nilai menggunakan WRAPROWS atau WRAPCOLS.

    Misalnya, untuk menggabungkan nilai dari 3 baris (B5:J5, B7:G7 dan B9:F9) dan membungkusnya menjadi kolom, masing-masing berisi 10 nilai, rumusnya adalah:

    =WRAPCOLS(HSTACK(B5:J5, B7:G7, B9:F9), 10)

    Untuk menggabungkan nilai dari beberapa baris ke dalam rentang 2D di mana setiap baris berisi 5 nilai, rumusnya mengambil bentuk ini:

    =WRAPROWS(HSTACK(B5:J5, B7:G7, B9:F9), 5)

    Menggabungkan beberapa kolom ke dalam larik 2D

    Untuk menggabungkan beberapa kolom ke dalam rentang 2D, pertama-tama Anda menumpuknya secara vertikal menggunakan fungsi VSTACK, lalu membungkus nilainya ke dalam baris (WRAPROWS) atau kolom (WRAPCOLS).

    Misalnya, untuk menggabungkan nilai dari 3 kolom (B5:J5, B7:G7 dan B9:F9) ke dalam rentang 2D di mana setiap kolom berisi 10 nilai, rumusnya adalah:

    =WRAPCOLS(HSTACK(B5:J5, B7:G7, B9:F9), 10)

    Untuk menggabungkan kolom yang sama menjadi rentang 2D di mana setiap baris berisi 5 nilai, gunakan rumus ini:

    =WRAPROWS(HSTACK(B5:J5, B7:G7, B9:F9), 5)

    Bungkus dan urutkan larik

    Dalam situasi ketika rentang sumber memiliki nilai dalam urutan acak sementara Anda ingin output diurutkan, lanjutkan dengan cara ini:

    1. Urutkan larik awal seperti yang Anda inginkan menggunakan fungsi SORT.
    2. Menyediakan larik yang sudah diurutkan ke WRAPCOLS atau WRAPROWS.

    Misalnya, untuk membungkus rentang B4: B23 ke dalam baris, masing-masing 4 nilai, dan mengurutkan rentang yang dihasilkan dari A hingga Z, buat rumus seperti ini:

    =WRAPROWS(SORT(B4:B23), 4)

    Untuk membungkus rentang yang sama ke dalam kolom, masing-masing 10 nilai, dan mengurutkan output menurut abjad, rumusnya adalah:

    =WRAPCOLS(SORT(B4:B23), 10)

    Hasilnya terlihat sebagai berikut:

    Tip. Untuk menyusun nilai-nilai dalam larik yang dihasilkan dalam urutan menurun , atur argumen ketiga ( sort_order ) dari fungsi SORT ke -1.

    Alternatif WRAPCOLS untuk Excel 365 - 2010

    Di versi Excel yang lebih lama di mana fungsi WRAPCOLS tidak didukung, Anda dapat membuat rumus Anda sendiri untuk membungkus nilai dari larik satu dimensi ke dalam kolom. Ini dapat dilakukan dengan menggunakan 5 fungsi berbeda secara bersamaan.

    WRAPCOLS alternatif untuk mengubah baris menjadi rentang 2D:

    IFERROR(IF(ROW(A1)> n , "", INDEX( row_range , , BARIS(A1) + (KOLOM(A1)-1)* n )), "")

    WRAPCOLS alternatif untuk mengubah kolom menjadi range 2D:

    IFERROR(IF(ROW(A1)> n , "", INDEX( column_range , BARIS(A1) + (KOLOM(A1)-1)* n )), "")

    Di mana n adalah jumlah maksimum nilai per kolom.

    Pada gambar di bawah ini, kita menggunakan rumus berikut untuk mengubah rentang satu baris (D4:J4) menjadi larik tiga baris.

    =IFERROR(IF(ROW(A1)>3, "", INDEX($D$4:$J$4, , ROW(A1) + (COLUMN(A1)-1)*3)), "")

    Dan rumus ini mengubah rentang satu kolom (B4:B20) menjadi larik lima baris:

    =IFERROR(IF(ROW(A1)>5, "", INDEX($B$4:$B$20, ROW(A1) + (COLUMN(A1)-1)*5)), "")

    Solusi-solusi di atas mengemulasi rumus WRAPCOLS yang analog dan menghasilkan hasil yang sama:

    =WRAPCOLS(D4:J4, 3, "")

    dan

    =WRAPCOLS(B4:B20, 5, "")

    Harap diingat bahwa tidak seperti fungsi WRAPCOLS larik dinamis, rumus tradisional mengikuti pendekatan satu rumus-satu sel. Jadi, rumus pertama kita dimasukkan dalam D8 dan disalin 3 baris ke bawah dan 3 kolom ke kanan. Rumus kedua dimasukkan dalam D14 dan disalin 5 baris ke bawah dan 4 kolom ke kanan.

    Bagaimana rumus-rumus ini bekerja

    Di jantung kedua rumus tersebut, kita menggunakan fungsi INDEX yang mengembalikan nilai dari larik yang disediakan berdasarkan nomor baris dan kolom:

    INDEX(array, row_num, [column_num])

    Karena kita berurusan dengan larik satu baris, kita bisa menghilangkan row_num argumen, jadi defaultnya adalah 1. Caranya adalah dengan memiliki col_num dihitung secara otomatis untuk setiap sel di mana rumus disalin. Dan inilah cara kita melakukan ini:

    BARIS(A1)+(KOLOM(A1)-1)*3)

    Fungsi ROW mengembalikan nomor baris referensi A1, yaitu 1.

    Fungsi COLUMN mengembalikan nomor kolom referensi A1, yang juga 1. Mengurangi 1 mengubahnya menjadi nol. Dan mengalikan 0 dengan 3 menghasilkan 0.

    Kemudian, Anda menjumlahkan 1 yang dikembalikan oleh ROW dan 0 yang dikembalikan oleh COLUMN dan mendapatkan 1 sebagai hasilnya.

    Dengan cara ini, rumus INDEX di sel kiri atas dari rentang tujuan (D8) mengalami transformasi ini:

    INDEX($D$4:$J$4, ,ROW(A1) + (COLUMN(A1)-1)*3))

    perubahan pada

    INDEKS($D$4:$J$4, ,1)

    dan mengembalikan nilai dari kolom ke-1 dari larik yang ditentukan, yaitu "Apples" dalam D4.

    Saat rumus disalin ke sel D9, referensi sel relatif berubah berdasarkan posisi relatif baris dan kolom sementara referensi rentang absolut tetap tidak berubah:

    INDEX($D$4:$J$4,, ROW(A2)+(COLUMN(A2)-1)*3))

    berubah menjadi:

    INDEKS($D$4:$J$4,, 2+(1-1)*3))

    menjadi:

    INDEKS($D$4:$J$4,, 2))

    dan mengembalikan nilai dari kolom ke-2 dari larik yang ditentukan, yaitu "Apricots" di E4.

    Fungsi IF memeriksa nomor baris dan jika lebih besar dari jumlah baris yang Anda tentukan (3 dalam kasus kami) mengembalikan string kosong (""), jika tidak, hasil dari fungsi INDEX:

    IF(ROW(A1)>3, "", INDEX(...))

    Terakhir, fungsi IFERROR memperbaiki kesalahan #REF! yang terjadi ketika rumus disalin ke lebih banyak sel daripada yang sebenarnya diperlukan.

    Rumus kedua yang mengubah kolom menjadi rentang 2D bekerja dengan logika yang sama. Perbedaannya adalah Anda menggunakan kombinasi ROW + COLUMN untuk mencari tahu row_num argumen untuk INDEX. col_num tidak diperlukan dalam kasus ini karena hanya ada satu kolom dalam larik sumber.

    Alternatif WRAPROWS untuk Excel 365 - 2010

    Untuk membungkus nilai dari larik satu dimensi menjadi baris di Excel 2019 dan sebelumnya, Anda dapat menggunakan alternatif berikut untuk fungsi WRAPROWS.

    Mengubah baris menjadi rentang 2D:

    IFERROR(IF(COLUMN(A1)> n , "", INDEX( row_range , , KOLOM(A1)+(BARIS(A1)-1)* n )), "")

    Mengubah kolom ke rentang 2D:

    IFERROR(IF(COLUMN(A1)> n , "", INDEX( column_range , KOLOM(A1)+(BARIS(A1)-1)* n )), "")

    Di mana n adalah jumlah maksimum nilai per baris.

    Dalam kumpulan data sampel kami, kami menggunakan rumus berikut untuk mengonversi rentang satu baris (D4: J4) menjadi rentang tiga kolom. Rumusnya mendarat di sel D8, lalu disalin ke 3 kolom dan 3 baris.

    =IFERROR(IF(COLUMN(A1)>3, "", INDEX($D$4:$J$4, , COLUMN(A1)+(ROW(A1)-1)*3)), "")

    Untuk membentuk kembali rentang 1 kolom (B4: B20) menjadi rentang 5 kolom, masukkan rumus di bawah ini di D14 dan seret melintasi 5 kolom dan 4 baris.

    =IFERROR(IF(COLUMN(A1)>5, "", INDEX($B$4:$B$20, COLUMN(A1)+(ROW(A1)-1)*5)), "")

    Di Excel 365, hasil yang sama bisa dicapai dengan rumus WRAPCOLS yang setara:

    =WRAPROWS(D4:J4, 3, "")

    dan

    =WRAPROWS(B4:B20, 5, "")

    Bagaimana rumus-rumus ini bekerja

    Pada dasarnya, rumus-rumus ini bekerja seperti pada contoh sebelumnya. Perbedaannya terletak pada bagaimana Anda menentukan row_num dan col_num koordinat untuk fungsi INDEX:

    INDEX($D$4:$J$4,, KOLOM(A1)+(BARIS(A1)-1)*3))

    Untuk mendapatkan nomor kolom untuk sel kiri atas dalam rentang tujuan (D8), Anda menggunakan ekspresi ini:

    KOLOM(A1)+(BARIS(A1)-1)*3)

    yang berubah menjadi:

    1+(1-1)*3

    dan memberikan 1.

    Hasilnya, rumus di bawah ini mengembalikan nilai dari kolom pertama dari larik yang ditentukan, yaitu "Apel":

    INDEKS($D$4:$J$4,, 1)

    Sejauh ini, hasilnya sama seperti pada contoh sebelumnya. Tapi mari kita lihat apa yang terjadi di sel lain...

    Di sel D9, referensi sel relatif berubah sebagai berikut:

    INDEX($D$4:$J$4,, KOLOM(A2)+(BARIS(A2)-1)*3))

    Jadi, rumusnya berubah menjadi:

    INDEKS($D$4:$J$4,, 1+(2-1)*3))

    menjadi:

    INDEKS($D$4:$J$4,, 4))

    dan mengembalikan nilai dari kolom ke-4 dari larik yang ditentukan, yaitu "Cherries" di G4.

    Fungsi IF memeriksa nomor kolom dan jika lebih besar dari jumlah kolom yang Anda tentukan, mengembalikan string kosong (""), jika tidak, hasil dari fungsi INDEX:

    IF(COLUMN(A1)>3, "", INDEX(...))

    Sebagai sentuhan akhir, IFERROR mencegah error #REF! error muncul di cell "ekstra" jika kamu menyalin rumusnya ke lebih banyak cell daripada yang sebenarnya dibutuhkan.

    Fungsi WRAPCOLS atau WRAPROWS tidak berfungsi

    Jika fungsi "wrap" tidak tersedia di Excel Anda atau menghasilkan kesalahan, kemungkinan besar salah satu dari alasan di bawah ini.

    #NAMA? kesalahan

    Di Excel 365, error #NAME? mungkin terjadi karena Anda salah mengeja nama fungsinya. Di versi lain, ini menunjukkan bahwa fungsi tersebut tidak didukung. Sebagai solusinya, Anda dapat menggunakan alternatif WRAPCOLS atau alternatif WRAPROWS.

    #VALUE! kesalahan

    Kesalahan #VALUE terjadi jika vektor argumen bukan larik satu dimensi.

    #NUM! kesalahan

    Kesalahan #NUM terjadi jika wrap_count adalah 0 atau angka negatif.

    #SPILL! kesalahan

    Paling sering, kesalahan #SPILL menunjukkan bahwa tidak ada cukup sel kosong untuk menumpahkan hasilnya. Kosongkan sel tetangga, dan itu akan hilang. Jika kesalahan berlanjut, lihat apa arti #SPILL di Excel dan cara memperbaikinya.

    Itulah cara menggunakan fungsi WRAPCOLS dan WRAPROWS untuk mengubah rentang satu dimensi menjadi larik dua dimensi di Excel. Saya berterima kasih telah membaca dan berharap dapat melihat Anda di blog kami minggu depan!

    Buku kerja latihan untuk diunduh

    Fungsi WRAPCOLS dan WRAPROWS - contoh (file .xlsx)

    Michael Brown adalah penggemar teknologi berdedikasi dengan hasrat untuk menyederhanakan proses kompleks menggunakan perangkat lunak. Dengan pengalaman lebih dari satu dekade di industri teknologi, dia telah mengasah keahliannya di Microsoft Excel dan Outlook, serta Google Spreadsheet dan Dokumen. Blog Michael didedikasikan untuk berbagi pengetahuan dan keahliannya dengan orang lain, memberikan tip dan tutorial yang mudah diikuti untuk meningkatkan produktivitas dan efisiensi. Apakah Anda seorang profesional berpengalaman atau pemula, blog Michael menawarkan wawasan berharga dan saran praktis untuk mendapatkan hasil maksimal dari perangkat lunak penting ini.