Daftar Isi
Cara mudah untuk mengubah array atau range menjadi kolom dengan fungsi TOCOL.
Kemampuan untuk mengubah urutan data dari kolom ke baris dan sebaliknya telah ada di Excel cukup lama. Tetapi mengubah rentang sel menjadi satu kolom adalah tugas yang sulit untuk dipecahkan. Sekarang, itu akhirnya berubah. Microsoft telah memperkenalkan fungsi baru, yang disebut TOCOL, yang dapat melakukan transformasi array-ke-kolom dalam sekejap. Di bawah ini adalah daftar tugas yang dapat diselesaikan dengan mudah oleh fungsi baru ini.
Fungsi TOCOL Excel
Fungsi TOCOL di Excel mengubah larik atau rentang sel menjadi satu kolom.
Fungsi ini mengambil tiga argumen, tetapi hanya yang pertama yang diperlukan.
TOCOL(array, [abaikan], [scan_by_column])Di mana:
Larik (wajib) - larik atau rentang untuk diubah menjadi kolom.
Abaikan (opsional) - mendefinisikan apakah akan mengabaikan kosong atau/dan kesalahan. Bisa salah satu dari nilai-nilai ini:
- 0 atau dihilangkan (default) - simpan semua nilai
- 1 - abaikan kekosongan
- 2 - abaikan kesalahan
- 3 - abaikan kekosongan dan kesalahan
Scan_by_column (opsional) - menentukan apakah akan memindai larik secara horizontal atau vertikal:
- FALSE atau dihilangkan (default) - memindai larik per baris dari kiri ke kanan.
- TRUE - memindai larik berdasarkan kolom dari atas ke bawah.
Tips:
- Untuk mengubah larik menjadi satu baris, gunakan fungsi TOROW.
- Untuk melakukan transformasi kolom-ke-larik yang berlawanan, gunakan fungsi WRAPCOLS untuk membungkus berdasarkan kolom atau fungsi WRAPROWS untuk membungkus berdasarkan baris.
- Untuk mengubah urutan larik dari horizontal ke vertikal atau sebaliknya, yaitu mengubah baris ke kolom, gunakan fungsi TRANSPOSE.
Ketersediaan TOCOL
TOCOL adalah fungsi baru, yang didukung di Excel untuk Microsoft 365 (untuk Windows dan Mac) dan Excel untuk web.
Rumus dasar TOCOL untuk mengubah rentang menjadi kolom
Rumus TOCOL dalam bentuknya yang paling sederhana hanya memerlukan satu argumen - array Misalnya, untuk menempatkan larik dua dimensi yang terdiri dari 3 kolom dan 4 baris ke dalam satu kolom, rumusnya adalah:
=TOCOL(A2:C5)
Rumus dimasukkan hanya dalam satu sel (E2 dalam contoh ini) dan tumpah ke sel di bawahnya secara otomatis. Dalam istilah Excel, hasilnya disebut rentang tumpahan.
Bagaimana formula ini bekerja:
Secara teknis, rentang A2:C5 pertama-tama diubah menjadi larik dua dimensi. Harap perhatikan baris yang dipisahkan titik koma dan kolom yang dibatasi koma:
{"Apple","Banana","Cherry";1,0,3;4,#N/A,6;7,8,9}
Fungsi TOCOL memindai larik dari kiri ke kanan dan mentransformasikannya ke dalam larik vertikal satu dimensi:
{"Apple";"Banana";"Cherry";1;0;3;4;#N/A;6;7;8;9}
Hasilnya ditempatkan di sel E2, dari mana ia tumpah ke dalam sel di bawahnya.
Cara menggunakan fungsi TOCOL di Excel - contoh rumus
Untuk mendapatkan pemahaman lebih lanjut tentang kemungkinan fungsi TOCOL dan tugas apa yang dapat dicakupnya, mari kita lihat beberapa contoh rumus.
Mengubah larik ke kolom dengan mengabaikan kekosongan dan kesalahan
Seperti yang mungkin telah Anda perhatikan pada contoh sebelumnya, rumus TOCOL default menyimpan semua nilai dari larik sumber, termasuk sel kosong dan kesalahan.
Dalam larik yang dihasilkan, sel kosong diwakili oleh nol, yang mungkin cukup membingungkan, terutama jika larik aslinya memiliki nilai 0. Solusinya adalah dengan lewati bagian yang kosong Untuk ini, Anda menetapkan argumen ke-2 ke 1:
=TOCOL(A2:C5, 1)
Untuk abaikan kesalahan , atur argumen ke-2 ke 2:
=TOCOL(A2:C5, 2)
Untuk mengecualikan keduanya, kekosongan dan kesalahan , gunakan 3 untuk abaikan argumen:
=TOCOL(A2:C5, 3)
Memindai larik secara horizontal atau vertikal
Dengan default scan_by_column argumen (SALAH atau dihilangkan), fungsi TOCOL memindai larik secara horizontal menurut baris. Untuk memproses nilai berdasarkan kolom, setel argumen ini ke BENAR atau 1. Misalnya:
=TOCOL(A2:C5,, BENAR)
Perhatikan bahwa, dalam kedua kasus, larik yang dikembalikan memiliki ukuran yang sama, tetapi nilainya disusun dalam urutan yang berbeda.
Menggabungkan beberapa rentang ke dalam satu kolom
Jika Anda berurusan dengan beberapa rentang yang tidak bersebelahan, maka pertama-tama Anda dapat menggabungkan rentang secara vertikal menjadi satu larik dengan bantuan fungsi VSTACK, lalu gunakan TOCOL untuk mengubah larik gabungan menjadi kolom.
Dengan mengasumsikan kisaran pertama adalah A2:C4 dan kisaran kedua adalah A8:C9, rumusnya mengambil bentuk ini:
=TOCOL(VSTACK(A2:C4, A8:C9))
Rumus ini mendemonstrasikan perilaku default - membaca larik gabungan secara horizontal dari kiri ke kanan seperti yang ditunjukkan pada kolom E pada gambar di bawah.
Untuk membaca nilai secara vertikal dari atas ke bawah, Anda mengatur argumen ke-3 dari TOCOL ke TRUE:
=TOCOL(VSTACK(A2:C4, A8:C9), ,TRUE)
Harap perhatikan bahwa, dalam kasus ini, rumusnya pertama-tama mengembalikan nilai dari kolom A dari kedua larik, lalu dari kolom B, dan seterusnya. Alasannya adalah karena TOCOL memindai satu larik bertumpuk, bukan rentang individu asli.
Jika logika bisnis Anda memerlukan penumpukan rentang asli secara horizontal daripada vertikal, gunakan fungsi HSTACK alih-alih VSTACK.
Untuk menambahkan setiap larik berikutnya ke kanan larik sebelumnya dan membaca larik gabungan secara horizontal, rumusnya adalah:
=TOCOL(HSTACK(A2:C4, A8:C10))
Untuk menambahkan setiap larik berikutnya di sebelah kanan larik sebelumnya dan memindai larik gabungan secara vertikal, rumusnya adalah:
=TOCOL(HSTACK(A2:C4, A8:C10), ,TRUE)
Mengekstrak nilai unik dari rentang multi-kolom
Fungsi Excel UNIQUE dapat dengan mudah menemukan unik dalam satu kolom atau baris serta mengembalikan baris unik, tetapi tidak dapat mengekstrak nilai unik dari larik multi-kolom. Solusinya adalah menggunakannya bersama dengan fungsi TOCOL.
Misalnya, untuk mengekstrak semua nilai yang berbeda (berbeda) dari rentang A2:C7, rumusnya adalah:
=UNIQUE(TOCOL(A2:C7))
Selain itu, Anda dapat membungkus rumus di atas dalam fungsi SORT untuk mengatur larik yang dikembalikan dalam urutan abjad:
=SORT(UNIK(TOCOL(A2:C7)))
Bagaimana mengubah rentang ke kolom di Excel 365 - 2010
Dalam versi Excel di mana fungsi TOCOL tidak didukung, ada beberapa cara alternatif untuk mengubah rentang sel menjadi kolom. Solusi ini cukup rumit, tetapi tetap berfungsi.
Untuk membaca rentang per baris:
INDEX( rentang , HASIL BAGI(BARIS(A1)-1, KOLOM( rentang ))+1, MOD(BARIS(A1)-1, KOLOM( rentang ))+1)Untuk membaca rentang per kolom:
INDEX( rentang , MOD(BARIS(A1)-1, BARIS( rentang ))+1, HASIL BAGI(BARIS(A1)-1, BARIS( rentang ))+1)Untuk set data sampel kami, rumusnya adalah sebagai berikut:
Untuk memindai kisaran secara horizontal dari kiri ke kanan :
=INDEX($A$2:$C$5, QUOTIENT(ROW(A1)-1, COLUMNS($A$2:$C$5))+1, MOD(ROW(A1)-1, COLUMNS($A$2:$C$5))+1)
Rumus ini setara dengan fungsi TOCOL dengan argumen ke-3 disetel ke FALSE atau dihilangkan:
=TOCOL(A2:C5)
Untuk memindai kisaran secara vertikal dari atas ke bawah :
=INDEX($A$2:$C$5, MOD(ROW(A1)-1, ROWS($A$2:$C$5))+1, QUOTIENT(ROW(A1)-1, ROWS($A$2:$C$5))+1)
Rumus ini sebanding dengan fungsi TOCOL dengan argumen ke-3 disetel ke TRUE:
=TOCOL(A2:C5,, BENAR)
Tidak seperti TOCOL, rumus alternatif harus dimasukkan di setiap sel di mana Anda ingin hasilnya muncul. Dalam kasus kami, rumus masuk ke sel E2 (menurut baris) dan G2 (menurut kolom), lalu disalin ke baris 13.
Jika rumus disalin ke lebih banyak baris daripada yang dibutuhkan, kesalahan #REF! akan muncul di sel "ekstra". Untuk mencegah hal ini terjadi, Anda dapat menyarangkan rumus dalam fungsi IFERROR seperti ini:
=IFERROR(INDEX($A$2:$C$5, QUOTIENT(ROW(A1)-1, COLUMNS($A$2:$C$5))+1, MOD(ROW(A1)-1, COLUMNS($A$2:$C$5))+1), "")
Perhatikan bahwa agar rumus dapat disalin dengan benar, kita mengunci rentang menggunakan referensi sel absolut ($ A $ 2: $ C $ 5). Sebagai gantinya, Anda dapat menggunakan rentang bernama.
Bagaimana rumus-rumus ini bekerja
Di bawah ini adalah rincian rincian rumus pertama yang mengatur sel berdasarkan baris:
=INDEX($A$2:$C$5, QUOTIENT(ROW(A1)-1, COLUMNS($A$2:$C$5))+1, MOD(ROW(A1)-1, COLUMNS($A$2:$C$5))+1)
Idenya adalah menggunakan fungsi INDEX untuk mengembalikan nilai sel tertentu berdasarkan nomor baris dan kolom relatifnya dalam rentang tersebut.
The nomor baris dihitung dengan kombinasi ini:
HASIL BAGI(BARIS(A1)-1, KOLOM($A$2:$C$5))+1
QUOTIENT mengembalikan bagian bilangan bulat dari suatu pembagian.
Untuk pembilang Anda menggunakan ROW (A1) -1, yang mengembalikan nomor seri dari 0 di E2 (sel pertama tempat rumus dimasukkan) ke 11 di E13 (sel terakhir tempat rumus dimasukkan).
The penyebut brough by COLUMNS($A$2:$C$5)) adalah konstan dan sama dengan jumlah kolom dalam rentang Anda (3 dalam kasus kami).
Sekarang, jika Anda memeriksa hasil QUOTIENT untuk 3 sel pertama (E2:E4), Anda akan melihat bahwa hasilnya sama dengan 0 (karena bagian bilangan bulat dari pembagiannya adalah nol). Menambahkan 1 memberikan nomor baris 1.
Untuk 3 sel berikutnya (E5:E5), QUOTIENT mengembalikan 1, dan operasi +1 memberikan nomor baris 2. Dan seterusnya.
Dengan kata lain, bagian rumus ini membuat urutan angka berulang seperti 1,1,1,1,2,2,2,2,2,3,3,3,4,4,4,... Setiap angka berulang sebanyak jumlah kolom yang ada dalam rentang Anda.
Untuk menghitung nomor kolom Anda membuat urutan angka yang sesuai dengan menggunakan fungsi MOD:
MOD(BARIS(A1)-1, KOLOM($A$2:$C$5))+1
Karena ada 3 kolom dalam rentang kita (A2:C5), urutannya harus 1,2,3,1,2,3,...
Fungsi MOD mengembalikan sisa setelah pembagian.
Di E2, MOD(ROW(A1)-1, COLUMNS($A$2:$C$5))+1)
menjadi
MOD(1-1, 3)+1)
dan mengembalikan 1.
Dalam E3, MOD(ROW(A2)-1, COLUMNS($A$2:$C$5))+1)
menjadi
MOD(2-1, 3)+1)
dan mengembalikan 2.
Dengan nomor baris dan kolom yang sudah ditetapkan, INDEX tidak memiliki masalah dalam mengambil nilai yang diperlukan.
Di E2, INDEX ($ A $ 2: $ C $ 5, 1, 1) mengembalikan nilai dari baris ke-1 dan kolom ke-1 dari rentang yang direferensikan, yaitu dari sel A2.
Di E3, INDEX($A$2:$C$5, 1, 2) mengembalikan nilai dari baris ke-1 dan kolom ke-2, yaitu dari sel B2.
Dan sebagainya.
Rumus kedua yang memindai range per kolom, bekerja dengan cara yang sama. Perbedaannya adalah rumus ini menggunakan MOD untuk mendapatkan nomor baris dan QUOTIENT untuk mendapatkan nomor kolom.
Fungsi TOCOL tidak berfungsi
Jika fungsi TOCOL melempar kesalahan, kemungkinan besar itu adalah salah satu dari alasan-alasan ini:
TOCOL tidak didukung di Excel Anda
Ketika Anda mendapatkan kesalahan #NAME?, ejaan yang benar dari nama fungsi adalah hal pertama yang harus diperiksa. Jika namanya benar tetapi kesalahan tetap ada, fungsi tersebut tidak tersedia di versi Excel Anda. Dalam hal ini, pertimbangkan untuk menggunakan alternatif TOCOL.
Larik terlalu besar
Kesalahan #NUM mengindikasikan bahwa larik tidak bisa masuk ke dalam kolom. Kasus tipikal adalah ketika Anda merujuk ke seluruh kolom atau baris.
Tidak ada cukup sel kosong
Saat kesalahan #SPILL terjadi, periksa apakah kolom tempat rumus dimasukkan memiliki cukup sel kosong untuk diisi dengan hasilnya. Jika sel kosong secara visual, pastikan tidak ada spasi dan karakter non-cetak lainnya di dalamnya. Untuk informasi lebih lanjut, lihat Cara memperbaiki kesalahan #SPILL di Excel.
Begitulah cara Anda dapat menggunakan fungsi TOCOL di Excel 365 dan solusi alternatif di versi sebelumnya untuk mengubah array 2 dimensi menjadi satu kolom. Saya berterima kasih telah membaca dan berharap dapat melihat Anda di blog kami minggu depan!
Buku kerja praktik
Fungsi Excel TOCOL - contoh rumus (file .xlsx)