Cara cepat untuk mengubah pelbagai sel ke dalam satu baris dengan bantuan fungsi Torow.
Microsoft Excel 365 telah memperkenalkan beberapa fungsi baru untuk melakukan pelbagai manipulasi dengan tatasusunan. Dengan Torow, anda boleh melakukan transformasi pelbagai ke baris dalam masa yang singkat. Berikut adalah senarai tugas yang dapat dicapai oleh fungsi baru ini:
Fungsi Torow dalam Excel digunakan untuk menukar pelbagai atau pelbagai sel ke dalam satu baris.
Fungsi ini mengambil sejumlah tiga hujah, yang hanya diperlukan yang pertama.
Torow (array, [abaikan], [scan_by_column])Di mana:
Array (diperlukan) - Arahan atau julat untuk berubah menjadi satu baris.
Abaikan (pilihan) - menentukan sama ada untuk mengabaikan kosong atau/dan kesilapan. Boleh mengambil salah satu nilai ini:
Scan_by_column (pilihan) - mentakrifkan cara mengimbas array:
Petua:
Torow adalah fungsi baru, yang hanya disokong dalam Excel untuk Microsoft 365 (untuk Windows dan Mac) dan Excel untuk web.
Untuk melakukan transformasi jarak jauh yang mudah, gunakan formula Torow dalam bentuk asasnya. Untuk ini, anda perlu menentukan hanya hujah pertama ( array ).
Contohnya, untuk mengubah array dua dimensi yang terdiri daripada 3 lajur dan 3 baris ke dalam satu baris, formula adalah:
=TOROW(A3:C6)
Anda memasukkan formula ke dalam hanya satu sel (A10 dalam kes kami), dan ia secara automatik tumpah ke dalam seberapa banyak sel yang diperlukan untuk memegang semua hasil. Dalam istilah Excel, julat output yang dikelilingi oleh sempadan biru nipis dipanggil pelbagai tumpahan.
Bagaimana formula ini berfungsi:
Pertama, pelbagai sel yang dibekalkan berubah menjadi array dua dimensi. Sila perhatikan lajur yang dibatasi koma dan baris yang dipisahkan titik koma:
{"Apple","Banana","Cherry";1,2,3;4,5,6;7,8,9}
Kemudian, fungsi Torow membaca array dari kiri ke kanan dan menukarkannya menjadi array mendatar satu dimensi:
{"Apple","Banana","Cherry",1,2,3,4,5,6,7,8,9}
Hasilnya pergi ke sel A10, dari mana ia tumpah ke dalam sel jiran di sebelah kanan.
Secara lalai, fungsi Torow menyimpan semua nilai dari array sumber, termasuk sel kosong dan kesilapan. Dalam output, nilai sifar muncul di tempat sel kosong, yang mungkin agak mengelirukan.
Untuk mengecualikan kosong , tetapkan hujah abaikan kepada 1:
=TOROW(A3:C5, 1)
Untuk mengabaikan kesilapan , tetapkan hujah abaikan kepada 2:
=TOROW(A3:C5, 2)
Untuk melangkau kedua -dua, kosong dan kesilapan , gunakan 3 untuk hujah yang tidak diingini :
=TOROW(A3:C5, 3)
Imej di bawah menunjukkan ketiga -tiga senario dalam tindakan:
Dengan tingkah laku lalai, fungsi Torow memproses array secara mendatar dari kiri ke kanan. Untuk mengimbas nilai mengikut lajur dari atas ke bawah, anda menetapkan argumen 3 RD ( scan_by_column ) kepada benar atau 1.
Sebagai contoh, untuk membaca julat sumber mengikut baris, formula dalam E3 adalah:
=TOROW(A3:C5)
Untuk mengimbas julat mengikut lajur, formula dalam E8 adalah:
=TOROW(A3:C5, ,TRUE)
Dalam kedua -dua kes, tatasusunan yang dihasilkan adalah saiz yang sama, tetapi nilai -nilai disusun dalam urutan yang berbeza.
Untuk menggabungkan beberapa julat yang tidak bersebelahan ke dalam satu baris, anda mula-mula menyusunnya secara mendatar atau menegak ke dalam satu array dengan bantuan HStack atau VStack, dan kemudian gunakan fungsi Torow untuk menukar array gabungan ke dalam baris.
Bergantung pada logik perniagaan anda, salah satu formula berikut akan melaksanakan tugas tersebut.
Dengan julat pertama dalam A3: C4 dan julat kedua dalam A8: C9, formula di bawah akan menyusun dua julat secara mendatar ke dalam satu array, dan kemudian mengubahnya ke baris membaca nilai dari kiri ke kanan. Hasilnya adalah dalam E3 dalam imej di bawah.
=TOROW(HSTACK(A3:C4, A8:C9))
Untuk membaca array yang disusun secara menegak dari atas ke bawah, anda menetapkan argumen 3 rd Torow kepada benar seperti yang ditunjukkan dalam E5 dalam imej di bawah:
=TOROW(HSTACK(A3:C4, A8:C9), ,TRUE)
Untuk menambahkan setiap array berikutnya ke bahagian bawah array sebelumnya dan baca array gabungan secara mendatar, formula dalam E12 adalah:
=TOROW(VSTACK(A3:C4, A8:C9))
Untuk menambah setiap array berikutnya ke bahagian bawah yang sebelumnya dan imbas array gabungan secara menegak, formula adalah:
=TOROW(VSTACK(A3:C4, A8:C9), ,TRUE)
Untuk lebih memahami logik, perhatikan susunan nilai yang berbeza dalam susunan yang dihasilkan:
Bermula dengan Microsoft Excel 2016, kami mempunyai fungsi yang indah, bernama Unik, yang dengan mudah boleh mendapatkan nilai unik dari satu lajur atau baris. Walau bagaimanapun, ia tidak dapat mengendalikan susunan pelbagai lajur. Untuk mengatasi batasan ini, gunakan fungsi unik dan torow bersama -sama.
Sebagai contoh, untuk mengekstrak semua nilai yang berbeza (berbeza) dari julat A2: C7 dan meletakkan hasilnya dalam satu baris, formula adalah:
=UNIQUE(TOROW(A2:C7), TRUE)
Apabila Torow mengembalikan array mendatar satu dimensi, kami menetapkan argumen ke-2 ( BY_COL ) yang unik untuk benar untuk membandingkan lajur antara satu sama lain.
Sekiranya anda mahukan hasil yang diatur dalam susunan abjad, bungkus formula di atas dalam fungsi jenis:
=SORT(UNIQUE(TOROW(A2:C7), TRUE), , ,TRUE )
Seperti yang unik, argumen by_col jenis juga ditetapkan untuk benar.
Dalam versi Excel di mana fungsi Torow tidak tersedia, anda boleh mengubah julat menjadi satu baris menggunakan gabungan beberapa fungsi yang berbeza yang berfungsi dalam versi yang lebih lama. Penyelesaian ini lebih kompleks, tetapi mereka bekerja.
Untuk mengimbas julat secara mendatar, formula generik adalah:
Indeks ( julat , quotient (lajur (a1) -1, lajur ( julat )) 1, mod (lajur (a1) -1, lajur ( julat )) 1)Untuk mengimbas julat secara menegak, formula generik adalah:
Indeks ( julat , mod (lajur (a1) -1, lajur ( julat )) 1, quotient (lajur (a1) -1, lajur ( julat )) 1)Untuk dataset sampel kami di A3: C5, formula mengambil bentuk ini:
Untuk mengimbas julat mengikut baris:
=INDEX($A$3:$C$5, QUOTIENT(COLUMN(A1)-1, COLUMNS($A$3:$C$5)) 1, MOD(COLUMN(A1)-1, COLUMNS($A$3:$C$5)) 1)
Formula ini adalah alternatif kepada fungsi Torow dengan hujah 3 RD yang ditetapkan kepada palsu atau ditinggalkan:
=TOROW(A3:C5)
Untuk mengimbas julat mengikut lajur:
=INDEX($A$3:$C$5, MOD(COLUMN(A1)-1, COLUMNS($A$3:$C$5)) 1, QUOTIENT(COLUMN(A1)-1, COLUMNS($A$3:$C$5)) 1)
Formula ini bersamaan dengan fungsi Torow dengan hujah 3 RD yang ditetapkan kepada Benar:
=TOROW(A3:C5, ,TRUE)
Sila ambil perhatian bahawa tidak seperti fungsi torow array dinamik, formula tradisional ini harus dimasukkan ke dalam setiap sel di mana anda mahu hasilnya muncul. Dalam kes kami, formula pertama (mengikut baris) pergi ke E3 dan disalin melalui M3. Formula kedua (oleh lajur) tanah di E8 dan diseret melalui M8.
Untuk formula untuk menyalin dengan betul, kami mengunci julat menggunakan rujukan mutlak ($ A $ 3: $ C $ 5). Julat bernama juga akan dilakukan.
Jika anda telah menyalin formula ke lebih banyak sel daripada yang diperlukan, #REF! Ralat akan muncul dalam sel "tambahan". Untuk membetulkannya, bungkus formula anda dalam fungsi iferror seperti ini:
=IFERROR(INDEX($A$3:$C$5, QUOTIENT(COLUMN(A1)-1, COLUMNS($A$3:$C$5)) 1, MOD(COLUMN(A1)-1, COLUMNS($A$3:$C$5)) 1), "")
Bagaimana formula ini berfungsi
Berikut adalah terperinci terperinci formula pertama yang mengatur nilai mengikut baris:
=INDEX($A$3:$C$5, QUOTIENT(COLUMN(A1)-1, COLUMNS($A$3:$C$5)) 1, MOD(COLUMN(A1)-1, COLUMNS($A$3:$C$5)) 1)
Di tengah -tengah formula, kami menggunakan fungsi indeks untuk mendapatkan nilai sel berdasarkan kedudukan relatifnya dalam julat.
Nombor baris dikira oleh formula ini:
QUOTIENT(COLUMN(A1)-1, COLUMNS($A$3:$C$5)) 1
Idea ini adalah untuk menghasilkan urutan nombor berulang seperti 1,1,1,2,2,2,3,3,3, ... di mana setiap nombor berulang seberapa banyak kali terdapat lajur dalam julat sumber. Dan inilah cara kita melakukan ini:
Quotient mengembalikan bahagian integer bahagian.
Untuk pengangka , kami menggunakan lajur (A1) -1, yang mengembalikan nombor siri dari 0 di sel pertama di mana formula dimasukkan ke N (jumlah nilai dalam julat tolak 1) di sel terakhir di mana formula dimasukkan. Dalam contoh ini, kita mempunyai 0 dalam E2 dan 8 dalam M3.
Untuk penyebut , kami menggunakan lajur ($ A $ 3: $ c $ 5)). Ini mengembalikan nombor tetap sama dengan bilangan lajur dalam julat anda (3 dalam kes kami).
Akibatnya, fungsi kuota kembali 0 dalam 3 sel pertama (E3: G3), yang mana kita tambah 1, jadi nombor baris adalah 1.
Untuk 3 sel seterusnya (H3: J3), pulangan kuota 1, dan 1 memberikan baris nombor 2 dan sebagainya.
Untuk mengira nombor lajur , anda membina urutan nombor yang sesuai menggunakan fungsi mod:
MOD(COLUMN(A1)-1, COLUMNS($A$3:$C$5)) 1
Memandangkan terdapat 3 lajur dalam julat kami, urutan mesti kelihatan seperti: 1,2,3,1,2,3, ...
Fungsi MOD mengembalikan baki selepas pembahagian.
Dalam E3, Mod (Lajur (A1) -1, Lajur ($ A $ 3: $ C $ 5)) 1
menjadi
Mod (1-1, 3) 1)
dan mengembalikan 1.
Dalam F3, mod (lajur (b1) -1, lajur ($ A $ 3: $ c $ 5)) 1
menjadi
Mod (2-1, 3) 1)
dan mengembalikan 2.
Sebaik sahaja nombor baris dan lajur ditubuhkan, indeks mudah mengambil nilai di persimpangan baris dan lajur itu.
Dalam E3, Indeks ($ A $ 3: $ C $ 5, 1, 1) mengembalikan nilai dari baris 1 ST dan lajur 1 ST dari julat yang dirujuk, iaitu dari sel A3.
Dalam F3, Indeks ($ A $ 3: $ C $ 5, 1, 2) mengembalikan nilai dari baris 1 ST dan lajur 2 ND , iaitu dari sel B3.
Dan sebagainya.
Formula kedua yang mengimbas julat dengan lajur, berfungsi dengan cara yang sama. Perbezaannya ialah kami menggunakan MOD untuk mengira nombor baris dan kuota untuk mengetahui nombor lajur.
Jika fungsi Torow menghasilkan kesilapan, kemungkinan besar menjadi salah satu sebab ini:
Dengan kebanyakan fungsi Excel, #name? Ralat adalah petunjuk yang jelas bahawa nama fungsi itu salah eja. Dengan Torow, ia mungkin juga bermakna bahawa fungsi itu tidak tersedia di Excel anda. Jika versi Excel anda selain daripada 365, cuba gunakan alternatif Torow.
A #num! Ralat menunjukkan bahawa array yang dikembalikan tidak boleh dimuatkan dalam satu baris. Selalunya berlaku apabila anda merujuk keseluruhan lajur dan/atau baris dan bukannya julat yang lebih kecil.
Dalam kebanyakan kes, kesilapan #Spill menunjukkan bahawa baris di mana anda telah memasuki formula tidak mempunyai sel kosong yang cukup untuk menumpahkan hasilnya. Jika sel-sel jiran kosong secara visual, pastikan tiada ruang atau watak-watak yang tidak bercetak lain di dalamnya. Untuk maklumat lanjut, lihat apa ralat #Spill bermakna dalam Excel.
Begitulah cara anda menggunakan fungsi Torow dalam Excel untuk menukar array 2-dimensi atau julat ke dalam satu baris. Saya mengucapkan terima kasih kerana membaca dan berharap dapat melihat anda di blog kami minggu depan!
Fungsi Excel Torow - Contoh Formula (fail .xlsx)
Atas ialah kandungan terperinci Excel Torow berfungsi untuk mengubah jarak atau array ke baris. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!