Isi kandungan
Tutorial menunjukkan cara menggunakan fungsi SORT untuk mengisih tatasusunan data secara dinamik. Anda akan mempelajari formula untuk mengisih mengikut abjad dalam Excel, menyusun nombor dalam tertib menaik atau menurun, mengisih mengikut berbilang lajur dan banyak lagi.
Fungsi Isih telah wujud sejak sekian lama. Tetapi dengan pengenalan tatasusunan dinamik dalam Excel 365, terdapat cara yang luar biasa mudah untuk mengisih dengan formula. Keindahan kaedah ini ialah keputusan dikemas kini secara automatik apabila data sumber berubah.
Fungsi SORT Excel
Fungsi SORT dalam Excel mengisih kandungan tatasusunan atau julat mengikut lajur atau baris, dalam tertib menaik atau menurun.
SORT tergolong dalam kumpulan fungsi tatasusunan Dinamik. Hasilnya ialah tatasusunan dinamik yang tumpah secara automatik ke sel jiran secara menegak atau mendatar, bergantung pada bentuk tatasusunan sumber.
Sintaks fungsi SORT adalah seperti berikut:
SORT(array, [sort_index ], [urutan_isih], [by_col])Di mana:
Array (diperlukan) - ialah tatasusunan nilai atau julat sel untuk diisih. Ini boleh berupa sebarang nilai termasuk teks, nombor, tarikh, masa, dsb.
Isih_indeks (pilihan) - integer yang menunjukkan lajur atau baris mana untuk diisih. Jika ditinggalkan, indeks lalai 1 digunakan.
Isih_urutan (pilihan) - mentakrifkan susunan isihan:
- 1 atau ditinggalkan (lalai) - tertib menaik , iaitu daripadaformula (fail.xlsx) terkecil kepada terbesar
- -1 - tertib menurun, iaitu daripada terbesar kepada terkecil
By_col (pilihan) - nilai logik yang menunjukkan arah pengisihan:
- PALSU atau ditinggalkan (lalai) - mengisih mengikut baris. Anda akan menggunakan pilihan ini pada kebanyakan masa.
- BENAR - mengisih mengikut lajur. Gunakan pilihan ini jika data anda disusun secara mendatar dalam lajur seperti dalam contoh ini.
Fungsi SORT Excel - petua dan nota
SORT ialah fungsi tatasusunan dinamik baharu dan oleh itu ia mempunyai beberapa kekhususan yang perlu anda ketahui:
- Pada masa ini fungsi SORT hanya tersedia dalam Microsoft 365 dan Excel 2021. Excel 2019, Excel 2016 tidak menyokong formula tatasusunan dinamik, jadi fungsi SORT tidak tersedia dalam versi ini.
- Jika tatasusunan yang dikembalikan oleh formula SORT ialah hasil akhir (iaitu tidak dihantar ke fungsi lain), Excel secara dinamik mencipta julat bersaiz sesuai dan mengisinya dengan nilai yang diisih. Jadi, pastikan anda sentiasa mempunyai sel kosong yang mencukupi di bawah atau/dan di sebelah kanan sel tempat anda memasukkan formula, jika tidak, ralat #SPILL berlaku.
- Hasil dikemas kini secara dinamik apabila data sumber berubah. Walau bagaimanapun, array yang dibekalkan kepada formula tidak dilanjutkan secara automatik untuk memasukkan entri baharu yang ditambahkan di luar array yang dirujuk. Untuk memasukkan item sedemikian, anda perlu sama ada mengemas kini rujukan array dalam formula anda, atautukar julat sumber kepada jadual seperti yang ditunjukkan dalam contoh ini atau cipta julat bernama dinamik.
Formula Isihan Excel Asas
Contoh ini menunjukkan formula asas untuk mengisih data dalam Excel dalam tertib menaik dan menurun.
Andaikan data anda disusun mengikut abjad seperti yang ditunjukkan dalam tangkapan skrin di bawah. Anda sedang mencari untuk mengisih nombor dalam lajur B tanpa memecahkan atau mencampurkan data.
Formula untuk mengisih dalam tertib menaik
Untuk mengisih nilai dalam lajur B daripada terkecil kepada terbesar, berikut ialah formula untuk digunakan:
=SORT(A2:B8, 2, 1)
Di mana:
- A2:B8 ialah tatasusunan sumber
- 2 ialah nombor lajur untuk diisih mengikut
- 1 ialah susunan isihan menaik
Memandangkan data kami disusun dalam baris, hujah terakhir boleh diketepikan secara lalai kepada FALSE - mengisih mengikut baris.
Cuma masukkan formula dalam mana-mana sel kosong (D2 dalam kes kami), tekan Enter , dan hasilnya akan tumpah secara automatik ke D2:E8.
Formula untuk mengisih dalam tertib menurun
Untuk mengisih data menurun, iaitu daripada terbesar kepada terkecil, tetapkan hujah sort_order kepada -1 seperti ini:
=SORT(A2:B8, 2, -1)
Masukkan formula dalam sel kiri atas julat destinasi dan anda akan mendapat hasil ini:
Dengan cara yang sama, anda boleh mengisih nilai teks dalam susunan abjad dari A hingga Z atau dari Z hingga A.
Cara mengisih data dalam Excel menggunakan f ormula
Contoh di bawah menunjukkan beberapa kegunaan biasa fungsi SORT dalam Exceldan beberapa yang bukan remeh.
Excel SORT mengikut lajur
Apabila anda mengisih data dalam Excel, sebahagian besarnya anda menukar susunan baris. Tetapi apabila data anda disusun secara mendatar dengan baris yang mengandungi label dan lajur yang mengandungi rekod, anda mungkin perlu mengisih dari kiri ke kanan, bukannya dari atas ke bawah.
Untuk mengisih mengikut lajur dalam Excel, tetapkan by_col hujah kepada BENAR. Dalam kes ini, indeks_isih akan mewakili baris, bukan lajur.
Sebagai contoh, untuk mengisih data di bawah mengikut Kuantiti. dari tertinggi ke terendah, gunakan formula ini:
=SORT(B1:H2, 2, 1, TRUE)
Di mana:
- B1:H2 ialah data sumber untuk diisih
- 2 ialah indeks isihan, kerana kita mengisih nombor dalam baris kedua
- -1 menunjukkan susunan isihan menurun
- TRUE bermaksud mengisih lajur, bukan baris
Isih mengikut berbilang lajur dalam susunan berbeza (isih berbilang peringkat)
Apabila bekerja dengan model data yang kompleks, anda mungkin sering memerlukan isihan berbilang peringkat. Bolehkah itu dilakukan dengan formula? Ya, mudah! Perkara yang anda lakukan ialah membekalkan pemalar tatasusunan untuk argumen sort_index dan sort_order .
Sebagai contoh, untuk mengisih data di bawah dahulu mengikut Wilayah (lajur A) dari A hingga Z, dan kemudian dengan Qty . (lajur C) daripada terkecil kepada terbesar, tetapkan hujah berikut:
- Array ialah data dalam A2:C13.
- Isih_indeks ialah pemalar tatasusunan {1,3}, kerana kita mula-mula mengisih mengikut Wilayah (1hblajur), dan kemudian dengan Kuantiti . (lajur ke-3).
- Susun_Isih ialah pemalar tatasusunan {1,-1}, kerana lajur pertama akan diisih dalam tertib menaik dan lajur ke-3 dalam tertib menurun.
- By_col ditinggalkan kerana kami mengisih baris, yang merupakan lalai.
Menggabungkan argumen, kami mendapat formula ini:
=SORT(A2:C13, {1,3}, {1,-1})
Dan ia berfungsi dengan sempurna! Nilai teks dalam lajur pertama diisih mengikut abjad dan nombor dalam lajur ketiga daripada terbesar kepada terkecil:
Isih dan tapis dalam Excel
Sekiranya apabila anda ingin menapis data dengan beberapa kriteria dan menyusun output, gunakan fungsi SORT dan FILTER bersama-sama:
SORT(FILTER(array, criteria_range= criteria) , [indeks_isih], [urutan_isih], [by_col])Fungsi FILTER mendapat tatasusunan nilai berdasarkan kriteria yang anda takrifkan dan hantar tatasusunan itu kepada hujah pertama SORT.
Perkara terbaik tentang formula ini ialah ia juga mengeluarkan hasil sebagai julat tumpahan dinamik, tanpa anda perlu menekan Ctrl + Shift + Enter atau meneka berapa banyak sel untuk menyalinnya. Seperti biasa, anda menaip formula di bahagian paling atas sel dan tekan kekunci Enter.
Sebagai contoh, kami akan mengekstrak item dengan kuantiti yang sama atau lebih daripada 30 (>=30) daripada sumber data dalam A2:B9 dan susun keputusan dalam tertib menaik.
Untuk ini, kami mula-mula menyediakan syarat, katakan, dalamsel E2 seperti yang ditunjukkan dalam imej di bawah. Kemudian, bina formula Excel SORT kami dengan cara ini:
=SORT(FILTER(A2:B9, B2:B9>=E2), 2)
Selain daripada array yang dihasilkan oleh fungsi FILTER, kami hanya menentukan sort_index hujah (ruangan 2). Dua argumen yang selebihnya ditinggalkan kerana lalai berfungsi tepat seperti yang kita perlukan (isih menaik, mengikut baris).
Dapatkan N nilai terbesar atau terkecil dan isikan hasilnya
Apabila menganalisis pukal besar jika maklumat, selalunya terdapat keperluan untuk mengekstrak sejumlah nilai teratas tertentu. Mungkin bukan sahaja ekstrak, tetapi juga menyusunnya dalam susunan yang dikehendaki. Dan sebaik-baiknya, pilih lajur yang hendak disertakan dalam hasil carian. Kedengaran rumit? Bukan dengan fungsi tatasusunan dinamik baharu!
Berikut ialah formula generik:
INDEX(SORT(…), SEQUENCE( n), { column1_to_return, lajur2_to_return, …})Di mana n ialah bilangan nilai yang anda mahu pulangkan.
Daripada set data di bawah, andaikan anda ingin mendapatkan senarai 3 teratas berdasarkan nombor dalam lajur C.
Untuk menyelesaikannya, anda terlebih dahulu mengisih tatasusunan A2:C13 mengikut lajur ke-3 dalam tertib menurun:
SORT(A2:C13, 3, -1)
Dan kemudian, sarangkan formula di atas dalam argumen pertama ( array ) bagi fungsi INDEX agar tatasusunan diisih dari tertinggi ke terkecil.
Untuk yang kedua ( row_num ) argumen, yang menunjukkan bilangan baris untuk dikembalikan, menjana nombor jujukan yang diperlukan dengan menggunakan fungsi SEQUENCE. Sebagaikita memerlukan 3 nilai teratas, kita menggunakan SEQUENCE(3), yang sama seperti membekalkan pemalar tatasusunan menegak {1;2;3} secara langsung dalam formula.
Untuk yang ketiga ( col_num ) argumen, yang mentakrifkan bilangan lajur untuk dikembalikan, membekalkan nombor lajur dalam bentuk pemalar tatasusunan mendatar. Kami ingin mengembalikan lajur B dan C, jadi kami menggunakan tatasusunan {2,3}.
Akhirnya, kami mendapat formula berikut:
=INDEX(SORT(A2:C13, 3, -1), SEQUENCE(3), {2,3})
Dan ia menghasilkan betul-betul hasil yang kami mahukan:
Untuk mengembalikan nilai 3 bawah , hanya mengisih data asal daripada terkecil kepada terbesar. Untuk ini, tukar argumen sort_order daripada -1 kepada 1:
=INDEX(SORT(A2:C13, 3, 1), SEQUENCE(3), {2,3})
Kembalikan nilai yang diisih dalam kedudukan tertentu
Melihat dari sudut lain, bagaimana jika anda hanya mahu mengembalikan kedudukan isihan tertentu? Katakan, hanya rekod ke-1, hanya ke-2, atau hanya rekod ke-3 daripada senarai yang diisih? Untuk melakukannya, gunakan versi ringkas formula INDEX SORT yang dibincangkan di atas:
INDEX(SORT(…), n, { column1_to_return, column2_to_return, …})Di mana n ialah kedudukan yang diminati.
Sebagai contoh, untuk mendapatkan kedudukan tertentu dari atas (iaitu daripada data yang diisih menurun), gunakan formula ini :
=INDEX(SORT(A2:C13, 3, -1), F1, {2,3})
Untuk mendapatkan kedudukan tertentu dari bawah (iaitu daripada data yang diisih menaik), gunakan yang ini:
=INDEX(SORT(A2:C13, 3, 1), I1, {2,3})
Di mana A2: C13 ialah data sumber, F1 ialah kedudukan dari atas, I1 ialah kedudukan daribawah dan {2,3} ialah lajur yang akan dikembalikan.
Gunakan jadual Excel untuk mendapatkan tatasusunan isihan untuk berkembang secara automatik
Seperti yang anda sedia maklum , tatasusunan yang diisih dikemas kini secara automatik apabila anda membuat sebarang perubahan pada data asal. Ini ialah tingkah laku standard semua fungsi tatasusunan dinamik, termasuk SORT. Walau bagaimanapun, apabila anda menambah entri baharu di luar tatasusunan yang dirujuk, ia tidak disertakan secara automatik dalam formula. Jika anda ingin formula anda bertindak balas kepada perubahan sedemikian, tukar julat sumber kepada jadual Excel yang berfungsi sepenuhnya dan gunakan rujukan berstruktur dalam formula anda.
Untuk melihat cara ia berfungsi dalam amalan, sila pertimbangkan perkara berikut contoh.
Andaikan anda menggunakan formula Excel SORT di bawah untuk menyusun nilai dalam julat A2:B8 dalam susunan abjad:
=SORT(A2:B8, 1, 1)
Kemudian, anda memasukkan entri baharu dalam baris 9… dan kecewa melihat bahawa entri yang baru ditambah ditinggalkan daripada julat tumpahan:
Sekarang, tukar julat sumber kepada jadual. Untuk ini, hanya pilih julat anda termasuk pengepala lajur (A1:B8) dan tekan Ctrl + T . Apabila membina formula anda, pilih julat sumber menggunakan tetikus dan nama jadual akan dimasukkan ke dalam formula secara automatik (ini dipanggil rujukan berstruktur):
=SORT(Table1, 1, 1)
Apabila anda menaip entri baharu betul-betul di bawah baris terakhir, jadual akan berkembang secara automatik dan data baharu akan dimasukkan dalam julat tumpahandaripada formula SORT:
Fungsi SORT Excel tidak berfungsi
Jika formula SORT anda menghasilkan ralat, kemungkinan besar ia disebabkan oleh sebab berikut.
Ralat #NAME: versi Excel yang lebih lama
SORT ialah fungsi baharu dan hanya berfungsi dalam Excel 365 dan Excel 2021. Dalam versi lama yang fungsi ini tidak disokong, #NAME? ralat berlaku.
Ralat #SPILL: sesuatu menyekat julat tumpahan
Jika satu atau lebih sel dalam julat tumpahan tidak sepenuhnya kosong atau digabungkan, #SPILL! ralat dipaparkan. Untuk membetulkannya, hanya keluarkan sekatan itu. Untuk maklumat lanjut, sila lihat Excel #SPILL! ralat - maksudnya dan cara membetulkannya.
Ralat #VALUE: argumen tidak sah
Setiap kali anda menghadapi #VALUE! ralat, semak argumen sort_index dan sort_order . Sort_index tidak boleh melebihi bilangan lajur ialah array dan sort_order hendaklah sama ada 1 (menaik) atau -1 (menurun).
Ralat #REF: buku kerja sumber ditutup
Memandangkan tatasusunan dinamik mempunyai sokongan terhad untuk rujukan antara buku kerja, fungsi SORT memerlukan kedua-dua fail dibuka. Jika buku kerja sumber ditutup, formula akan membuang #REF! ralat. Untuk membetulkannya, cuma buka fail yang dirujuk.
Begitulah cara mengisih data dalam Excel menggunakan formula. Saya mengucapkan terima kasih kerana membaca dan berharap dapat berjumpa anda di blog kami minggu hadapan!
Berlatih buku kerja untuk muat turun
Isih dalam Excel dengan