Tutorial ini akan memperkenalkan anda kepada fungsi array dinamik Excel 365 yang bernama Choosecols dan menunjukkan bagaimana anda boleh menggunakannya untuk mengekstrak mana -mana lajur tertentu dari array.
Bayangkan anda bekerja dengan dataset beratus -ratus atau beribu -ribu lajur. Jelas sekali, beberapa lajur lebih penting daripada yang lain, dan secara semulajadi anda mungkin mahu membaca data mereka terlebih dahulu. Excel 365 menawarkan fungsi yang sempurna untuk pekerjaan itu, yang boleh segera mengambil tertentu tertentu dari array, jadi anda boleh memberi tumpuan kepada maklumat yang paling relevan.
Fungsi choosecols dalam Excel direka untuk mengembalikan lajur yang ditentukan dari array atau julat.
Sintaks termasuk hujah -hujah berikut:
ChoOceCols (array, col_num1, [col_num2], ...)Di mana:
Array (diperlukan) - Sumber atau julat sumber.
Col_num1 (diperlukan) - Integer yang menyatakan lajur pertama untuk kembali.
Col_num2 , ... (pilihan) - Nombor indeks lajur tambahan untuk kembali.
Dan ini adalah bagaimana fungsi choosecols mungkin kelihatan seperti dalam excel anda:
Pada masa ini, fungsi ChoOceCols boleh didapati di Excel untuk Microsoft 365 (Windows dan Mac) dan Excel untuk Web.
Petua. Untuk mengekstrak beberapa baris dari julat atau array, fungsi Chooserows boleh berguna.
Choosecols adalah fungsi array dinamik, jadi ia mengendalikan array secara asli. Formula ini akan dimasukkan dalam hanya satu sel - sel kiri atas julat destinasi - dan ia secara automatik tumpah ke dalam seberapa banyak lajur yang dinyatakan sebagai argumennya dan banyak baris seperti yang terdapat dalam array asal. Hasilnya adalah satu array dinamik tunggal, yang dipanggil pelbagai tumpahan.
Untuk membuat formula choosecols di Excel, inilah yang perlu anda lakukan:
Sebagai contoh, untuk mendapatkan lajur 2, 3 dan 4 dari julat A4: E19, formula adalah:
=CHOOSECOLS(A4:E19, 2, 3, 4)
Sebagai alternatif, anda boleh menggunakan pemalar array mendatar seperti {2,3,4} atau pemalar array menegak seperti {2; 3; 4} untuk menentukan nombor lajur:
=CHOOSECOLS(A4:E19, {2,3,4})
=CHOOSECOLS(A4:E19, {2;3;4})
Ketiga formula di atas akan memberikan hasil yang sama:
Dalam sesetengah situasi, anda mungkin mendapati lebih mudah untuk memasukkan nombor lajur dalam beberapa sel, dan kemudian merujuk sel -sel tersebut secara individu atau memberikan rujukan julat tunggal. Contohnya:
=CHOOSECOLS(A4:E19, G4, H4, I4)
=CHOOSECOLS(A4:E19, G4:I4)
Pendekatan ini memberi anda lebih banyak fleksibiliti - untuk mengekstrak mana -mana lajur lain, anda hanya menaip nombor yang berbeza dalam sel -sel yang telah ditetapkan tanpa perlu mengubah formula itu sendiri.
Sekarang bahawa anda tahu perkara -perkara penting, mari kita menyelam ke tambahan dan meneroka formula choosecol yang lebih kompleks untuk mengendalikan senario tertentu.
Untuk mengembalikan satu atau lebih lajur dari akhir julat, membekalkan nombor negatif untuk argumen col_num . Ini akan menjadikan fungsi mula mengira lajur dari sebelah kanan array.
Sebagai contoh, untuk mendapatkan lajur terakhir dari julat, gunakan formula ini:
=CHOOSECOLS(A4:E19, -1)
Untuk mengekstrak dua lajur terakhir, gunakan yang satu ini:
=CHOOSECOLS(A4:E19, -2, -1)
Untuk mengembalikan 2 lajur terakhir dalam urutan terbalik, tukar urutan argumen col_num seperti ini:
=CHOOSECOLS(A4:E19, -1, -2)
Untuk mengekstrak setiap lajur lain dari julat yang diberikan, anda boleh menggunakan choosecols bersama -sama dengan beberapa fungsi lain. Di bawah terdapat dua versi formula untuk mengekstrak ganjil dan juga lajur.
Untuk mendapatkan lajur ganjil (seperti 1, 3, 5, dan lain -lain), formula adalah:
=CHOOSECOLS(A4:E19, SEQUENCE(ROUNDUP(COLUMNS(A4:E19)/2, 0), 1, 1, 2))
Untuk mengembalikan lajur walaupun (seperti 2, 4, 6, dan lain -lain), formula mengambil bentuk ini:
=CHOOSECOLS(A4:E19, SEQUENCE(ROUNDDOWN(COLUMNS(A4:E19)/2, 0), 1, 2, 2))
Tangkapan skrin di bawah menunjukkan formula pertama dalam tindakan:
Bagaimana formula ini berfungsi:
Penjelasan ringkas : Fungsi ChoOceCols mengembalikan setiap lajur lain berdasarkan pelbagai ODD berurutan atau nombor yang dihasilkan oleh fungsi urutan.
Formula terperinci Break-Down :
Langkah pertama adalah untuk mengira berapa banyak lajur untuk kembali. Untuk ini, kami menggunakan salah satu formula ini:
ROUNDUP(COLUMNS(A4:E19)/2, 0)
atau
ROUNDDOWN(COLUMNS(A4:E19)/2, 0)
Lajur mengira jumlah lajur dalam julat sumber. Anda membahagikan nombor itu dengan 2, dan kemudian, bergantung kepada sama ada anda mengekstrak ganjil atau bahkan lajur, pusingan quotient sama ada ke atas atau ke bawah ke integer dengan bantuan bulat atau bulat. Pembulatan diperlukan sekiranya julat sumber mengandungi bilangan lajur yang ganjil, yang meninggalkan selebihnya apabila dibahagikan dengan 2.
Julat sumber kami mempunyai 5 lajur. Oleh itu, untuk Roundup Roundup Odd (5/2, 0) mengembalikan 3, manakala untuk pusingan lajur (5/2, 0) mengembalikan 2.
Nombor yang dikembalikan disampaikan kepada hujah pertama ( baris ) fungsi urutan.
Untuk lajur ganjil, kami mendapat:
SEQUENCE(3, 1, 1, 2)
Formula urutan ini menjana pelbagai nombor yang terdiri daripada 3 baris dan 1 lajur, bermula pada 1 dan ditambah dengan 2, iaitu {1; 3; 5}.
Untuk lajur walaupun, kita ada:
SEQUENCE(2, 1, 2, 2)
Dalam kes ini, urutan menghasilkan pelbagai nombor yang terdiri daripada 2 baris dan 1 lajur, bermula pada 2 dan ditingkatkan dengan 2, iaitu {2; 4}.
Arahan di atas pergi ke argumen col_num1 choosecols, dan anda mendapat hasil yang diinginkan.
Untuk membalikkan urutan lajur dalam array dari kiri ke kanan, anda boleh menggunakan choosecols, urutan dan lajur berfungsi bersama -sama dengan cara ini:
=CHOOSECOLS(A4:D19, SEQUENCE(COLUMNS(A4:D19)) *-1)
Akibatnya, julat asal dibalik secara mendatar seperti yang ditunjukkan dalam imej di bawah:
Bagaimana formula ini berfungsi:
Di sini, kami menggunakan fungsi urutan untuk menghasilkan array yang mengandungi seberapa banyak nombor berurutan kerana terdapat lajur dalam array sumber. Untuk ini, kami bersarang lajur (A4: D13) dalam argumen baris :
SEQUENCE(COLUMNS(A4:D19))
Hujah -hujah lain ( lajur , permulaan , langkah ) ditinggalkan, jadi mereka lalai kepada 1. Akibatnya, urutan menghasilkan pelbagai nombor berurutan seperti 1, 2, 3, ..., n, di mana n adalah indeks lajur terakhir dalam array. Untuk memaksa fungsi choosecols untuk mengira lajur dari kanan ke kiri, kami membiak setiap elemen urutan yang dihasilkan oleh -1. Akibatnya, kita mendapat pelbagai nombor negatif seperti {-1; -2; -3}, yang pergi ke argumen col_num choosecols, mengarahkannya untuk mengembalikan lajur yang sepadan dari sebelah kanan array:
CHOOSECOLS(A4:D19, {-1;-2;-3;-4})
Dalam keadaan apabila nombor indeks lajur sasaran disediakan dalam bentuk rentetan teks, anda boleh menggunakan fungsi TextSplit untuk memecah rentetan dengan pembatas yang diberikan, dan kemudian lulus pelbagai nombor yang dihasilkan ke choosecols.
Katakan nombor lajur disenaraikan dalam sel H3, dipisahkan oleh koma dan ruang. Untuk mendapatkan lajur yang menarik, gunakan formula ini:
=CHOOSECOLS(A4:E19, TEXTSPLIT(H3, ", ") *1)
Bagaimana formula ini berfungsi:
Pertama, anda membahagikan rentetan dengan pematuhan yang diberikan (koma dan ruang dalam kes kami):
TEXTSPLIT(H3, ", ")
Hasil pertengahan adalah pelbagai nilai teks seperti {"1", "4", "5"}. Untuk menukar teks ke nombor, kalikan item array dengan 1 atau melakukan operasi matematik lain yang tidak mengubah nilai asal.
TEXTSPLIT(H3, ", ") *1
Ini menghasilkan pelbagai nilai angka {1,4,5} bahawa fungsi choosecols dapat diproses, dan anda akan mendapat hasil yang anda cari:
CHOOSECOLS(A4:E19, {1,4,5})
Untuk mendapatkan lajur tertentu dari beberapa julat yang tidak bersesuaian, anda mula-mula menggabungkan semua julat menjadi satu dengan bantuan fungsi VStack, dan kemudian mengendalikan julat yang digabungkan dengan choosecols.
Sebagai contoh, untuk mengembalikan lajur 1 dan 3 dari julat A4: D8, A12: D15 dan A19: D21, formula adalah:
=CHOOSECOLS(VSTACK(A4:D8, A12:D15, A19:D21), 1, 3)
Jika formula Choosecols membuang kesilapan, kemungkinan besar akan menjadi salah satu yang berikut.
Berlaku jika nilai mutlak sebarang argumen col_num adalah sifar atau lebih besar daripada jumlah lajur dalam array yang dirujuk.
Berlaku jika nama fungsi salah eja atau fungsi tidak tersedia dalam versi Excel anda. Pada masa ini, ChoOceCols hanya disokong dalam Excel 365 dan Excel untuk web. Untuk maklumat lanjut, lihat bagaimana untuk memperbaiki kesilapan #name dalam Excel.
Berlaku apabila sesuatu menghalang formula daripada menumpahkan hasil ke dalam sel -sel jiran. Untuk memperbaikinya, jelaskan sel menghalang. Untuk maklumat lanjut, sila lihat cara membetulkan #Spill! Ralat dalam Excel.
Itulah cara menggunakan fungsi ChoOceCols dalam Excel untuk mengembalikan lajur tertentu dari julat atau array. Terima kasih kerana membaca dan berjumpa dengan anda di blog kami minggu depan!
Formula Excel Choosecols - Contoh (fail .xlsx)
Atas ialah kandungan terperinci CHOOCECOLS EXCEL berfungsi untuk mendapatkan lajur dari array atau julat. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!