Talaan ng nilalaman
Ipinapakita ng tutorial kung paano gamitin ang SORT function upang dynamic na pag-uri-uriin ang mga array ng data. Matututuhan mo ang isang formula upang pagbukud-bukurin ayon sa alpabeto sa Excel, ayusin ang mga numero sa pataas o pababang pagkakasunud-sunod, pag-uri-uriin ayon sa maraming column, at higit pa.
Matagal nang umiiral ang pag-andar ng Pag-uuri. Ngunit sa pagpapakilala ng mga dynamic na array sa Excel 365, lumitaw ang isang kamangha-manghang simpleng paraan upang pagbukud-bukurin ang mga formula. Ang kagandahan ng pamamaraang ito ay awtomatikong nag-a-update ang mga resulta kapag nagbago ang source data.
Excel SORT function
Ang SORT function sa Excel ay nag-uuri ng mga nilalaman ng isang array o hanay ayon sa mga column o row, sa pataas o pababang pagkakasunud-sunod.
Ang SORT ay kabilang sa pangkat ng mga Dynamic na function ng array. Ang resulta ay isang dynamic na array na awtomatikong dumaloy sa mga kalapit na cell nang patayo o pahalang, depende sa hugis ng source array.
Ang syntax ng SORT function ay ang sumusunod:
SORT(array, [sort_index ], [sort_order], [by_col])Kung saan:
Array (kinakailangan) - ay isang array ng mga value o isang hanay ng mga cell na pag-uuri-uriin. Ang mga ito ay maaaring maging anumang value kabilang ang text, numero, petsa, oras, atbp.
Sort_index (opsyonal) - isang integer na nagsasaad kung aling column o row ang pag-uuri-uriin. Kung aalisin, ginagamit ang default na index 1.
Pagsunud-sunod-sunod (opsyonal) - tinutukoy ang pagkakasunud-sunod ng pag-uuri:
- 1 o tinanggal (default) - pataas na pagkakasunud-sunod , ibig sabihin, mula samga formula (.xlsx file) pinakamaliit hanggang sa pinakamalaki
- -1 - pababang pagkakasunud-sunod, ibig sabihin, mula sa pinakamalaki hanggang sa pinakamaliit
By_col (opsyonal) - isang lohikal na halaga na nagpapahiwatig ng direksyon ng pag-uuri:
- FALSE o inalis (default) - pagbukud-bukurin ayon sa row. Madalas mong gagamitin ang opsyong ito.
- TRUE - pagbukud-bukurin ayon sa column. Gamitin ang opsyong ito kung ang iyong data ay nakaayos nang pahalang sa mga column tulad ng sa halimbawang ito.
Excel SORT function - mga tip at tala
Ang SORT ay isang bagong dynamic array function at dahil dito mayroon itong ilang mga detalye na dapat mong malaman:
- Sa kasalukuyan ang SORT function ay available lang sa Microsoft 365 at Excel 2021. Hindi sinusuportahan ng Excel 2019, Excel 2016 ang mga dynamic array formula, kaya ang SORT function ay hindi available sa mga bersyong ito.
- Kung ang array na ibinalik ng isang SORT formula ay ang huling resulta (ibig sabihin, hindi naipasa sa isa pang function), ang Excel ay dynamic na gumagawa ng isang naaangkop na laki na hanay at nilalagyan ito ng mga pinagsunod-sunod na halaga. Kaya, siguraduhing palagi kang may sapat na mga cell na walang laman sa ibaba o/at sa kanan ng cell kung saan mo ilalagay ang formula, kung hindi, magkakaroon ng #SPILL error.
- Dinamikong nag-a-update ang mga resulta habang nagbabago ang source data. Gayunpaman, ang array na ibinibigay sa formula ay hindi awtomatikong umaabot upang isama ang mga bagong entry na idinagdag sa labas ng reference na array . Upang maisama ang mga naturang item, kailangan mong i-update ang array reference sa iyong formula, oi-convert ang source range sa isang table tulad ng ipinapakita sa halimbawang ito, o gumawa ng dynamic na pinangalanang range.
Basic Excel SORT formula
Ang halimbawang ito ay nagpapakita ng pangunahing formula para sa pag-uuri ng data sa Excel sa pataas at pababang pagkakasunud-sunod.
Ipagpalagay na ang iyong data ay nakaayos ayon sa alpabeto gaya ng ipinapakita sa screenshot sa ibaba. Naghahanap ka upang pagbukud-bukurin ang mga numero sa column B nang hindi sinisira o pinaghahalo ang data.
Formula upang pagbukud-bukurin sa pataas na pagkakasunud-sunod
Upang pag-uri-uriin ang mga halaga sa column B mula sa pinakamaliit hanggang sa pinakamalaki, narito ang formula na gagamitin:
=SORT(A2:B8, 2, 1)
Saan:
- A2:B8 ang source array
- 2 ay ang column number na pag-uuri-uriin ayon sa <8 Ang>1 ay ang pataas na pagkakasunud-sunod ng pag-uuri
Dahil ang aming data ay nakaayos sa mga hilera, ang huling argumento ay maaaring alisin sa default sa FALSE - pag-uri-uriin ayon sa mga hilera.
Ipasok lamang ang formula sa anumang walang laman na cell (D2 sa aming kaso), pindutin ang Enter , at ang mga resulta ay awtomatikong lalabas sa D2:E8.
Formula upang ayusin sa pababang pagkakasunud-sunod
Upang pag-uri-uriin ang pababang data, ibig sabihin, mula sa pinakamalaki hanggang sa pinakamaliit, itakda ang sort_order argument sa -1 tulad nito:
=SORT(A2:B8, 2, -1)
Ilagay ang formula sa kaliwang tuktok ng cell ng ang hanay ng patutunguhan at makukuha mo ang resultang ito:
Sa katulad na paraan, maaari mong pag-uri-uriin ang mga halaga ng teksto sa alpabetikong pagkakasunud-sunod mula A hanggang Z o mula Z hanggang A.
Paano pagbukud-bukurin ang data sa Excel gamit ang f ormula
Ang mga halimbawa sa ibaba ay nagpapakita ng ilang karaniwang paggamit ng SORT function sa Excelat isang pares ng mga hindi mahalaga.
Excel SORT ayon sa column
Kapag nag-sort ka ng data sa Excel, sa karamihan ay binabago mo ang pagkakasunud-sunod ng mga row. Ngunit kapag ang iyong data ay nakaayos nang pahalang na may mga hilera na naglalaman ng mga label at mga column na naglalaman ng mga tala, maaaring kailanganin mong pagbukud-bukurin mula kaliwa hanggang kanan, sa halip na mula sa itaas hanggang sa ibaba.
Upang pagbukud-bukurin ayon sa column sa Excel, itakda ang by_col argument sa TRUE. Sa kasong ito, kakatawan ng sort_index ang isang row, hindi isang column.
Halimbawa, upang pagbukud-bukurin ang data sa ibaba ayon sa Qty. mula sa pinakamataas hanggang sa pinakamababa, gamitin ang formula na ito:
=SORT(B1:H2, 2, 1, TRUE)
Kung saan:
- B1:H2 ang source data upang pagbukud-bukurin
- 2 ay ang index ng pag-uuri, dahil nag-uuri kami ng mga numero sa pangalawang row
- -1 ay nagpapahiwatig ng pababang pagkakasunod-sunod ng pag-uuri
- TRUE ay nangangahulugan ng pag-uri-uriin ang mga column, hindi ang mga row
Pagbukud-bukurin ayon sa maraming column sa magkakaibang pagkakasunud-sunod (multi-level sort)
Kapag nagtatrabaho sa mga kumplikadong modelo ng data, maaaring madalas mong kailanganin ang multi-level na pag-uuri. Magagawa ba iyon sa isang formula? Oo, madali! Ang gagawin mo ay magbigay ng mga array constant para sa sort_index at sort_order na mga argumento.
Halimbawa, pag-uri-uriin muna ang data sa ibaba ayon sa Rehiyon (column A) mula A hanggang Z, at pagkatapos ay sa Qty . (column C) mula sa pinakamaliit hanggang sa pinakamalaki, itakda ang mga sumusunod na argumento:
- Array ay ang data sa A2:C13.
- Sort_index ay ang array constant {1,3}, dahil una kaming nag-uuri ayon sa Rehiyon (1stcolumn), at pagkatapos ay sa pamamagitan ng Qty . (ika-3 column).
- Ang Sort_order ay ang array constant {1,-1}, dahil ang 1st column ay pagbubukod-bukod sa pataas na ayos at ang 3rd column sa pababang pagkakasunod-sunod.<9 Ang>
- By_col ay tinanggal dahil nag-uuri kami ng mga row, na default.
Pagsasama-sama ng mga argumento, makukuha namin ang formula na ito:
=SORT(A2:C13, {1,3}, {1,-1})
At gumagana ito nang perpekto! Ang mga value ng text sa unang column ay pinagsunod-sunod ayon sa alpabeto at ang mga numero sa ikatlong column mula sa pinakamalaki hanggang sa pinakamaliit:
Pagbukud-bukurin at i-filter sa Excel
Kung sakaling kapag naghahanap ka upang i-filter ang data gamit ang ilang pamantayan at ayusin ang output, gamitin ang SORT at FILTER function nang magkasama:
SORT(FILTER(array, criteria_range= criteria) , [sort_index], [sort_order], [by_col])Ang FILTER function ay nakakakuha ng hanay ng mga value batay sa pamantayan na iyong tinukoy at ipinapasa ang array na iyon sa unang argument ng SORT.
Ang pinakamagandang bagay tungkol sa pormula na ito ay naglalabas din ito ng mga resulta bilang isang dynamic na saklaw ng spill, nang hindi mo kailangang pindutin ang Ctrl + Shift + Enter o hulaan kung gaano karaming mga cell upang kopyahin ito. Gaya ng dati, nagta-type ka ng formula sa pinakaitaas na cell at pindutin ang Enter key.
Bilang halimbawa, kukuha kami ng mga item na may dami na katumbas o higit sa 30 (>=30) mula sa source data sa A2:B9 at ayusin ang mga resulta sa pataas na pagkakasunud-sunod.
Para dito, ise-set up muna namin ang kundisyon, halimbawa, sacell E2 tulad ng ipinapakita sa larawan sa ibaba. At pagkatapos, buuin ang aming Excel SORT formula sa ganitong paraan:
=SORT(FILTER(A2:B9, B2:B9>=E2), 2)
Bukod sa array na nabuo ng FILTER function, tinukoy lang namin ang sort_index argumento (hanay 2). Ang natitirang dalawang argumento ay tinanggal dahil ang mga default ay gumagana nang eksakto tulad ng kailangan namin (pagbukud-bukurin pataas, ayon sa hilera).
Kumuha ng N pinakamalaki o pinakamaliit na halaga at pag-uri-uriin ang mga resulta
Kapag nag-aanalisa ng malalaking bulk kung impormasyon, kadalasang kailangang kumuha ng partikular na bilang ng mga nangungunang halaga. Maaaring hindi lamang kunin, ngunit ayusin din ang mga ito sa nais na pagkakasunud-sunod. At mas mabuti, piliin kung aling mga column ang isasama sa mga resulta. Parang nakakalito? Hindi kasama ang mga bagong dynamic array function!
Narito ang isang generic na formula:
INDEX(SORT(…), SEQUENCE( n), { column1_to_return, column2_to_return, …})Kung saan ang n ay ang bilang ng mga value na gusto mong ibalik.
Mula sa data set sa ibaba, ipagpalagay na gusto mong makuha isang nangungunang 3 listahan batay sa mga numero sa column C.
Upang magawa ito, pag-uri-uriin mo muna ang array A2:C13 ayon sa ika-3 column sa pababang pagkakasunod-sunod:
SORT(A2:C13, 3, -1)
At pagkatapos, i-nest ang formula sa itaas sa unang ( array ) argument ng INDEX function upang maiayos ang array mula sa pinakamataas hanggang sa pinakamaliit.
Para sa pangalawa ( row_num ) argument, na nagsasaad kung gaano karaming mga row ang ibabalik, na bumubuo ng mga kinakailangang sequential na numero sa pamamagitan ng paggamit ng SEQUENCE function. Bilangkailangan namin ng 3 nangungunang value, gumagamit kami ng SEQUENCE(3), na kapareho ng pagbibigay ng vertical array constant {1;2;3} nang direkta sa formula.
Para sa pangatlo ( col_num ) argument, na tumutukoy kung gaano karaming mga column ang ibabalik, ibigay ang mga numero ng column sa anyo ng isang horizontal array constant. Gusto naming ibalik ang mga column B at C, kaya ginagamit namin ang array {2,3}.
Sa kalaunan, nakuha namin ang sumusunod na formula:
=INDEX(SORT(A2:C13, 3, -1), SEQUENCE(3), {2,3})
At ito ay gumagawa eksakto ang mga resultang gusto namin:
Upang ibalik ang 3 ibaba na mga halaga, pag-uri-uriin lang ang orihinal na data mula sa pinakamaliit hanggang sa pinakamalaki. Para dito, baguhin ang sort_order argument mula -1 hanggang 1:
=INDEX(SORT(A2:C13, 3, 1), SEQUENCE(3), {2,3})
Ibalik ang isang pinagsunod-sunod na halaga sa isang partikular na posisyon
Sa ibang anggulo, paano kung gusto mo lang magbalik ng partikular na posisyon ng pag-uuri? Sabihin, ang 1st lang, ang 2nd lang, o ang 3rd record lang mula sa pinagsunod-sunod na listahan? Upang magawa ito, gamitin ang pinasimpleng bersyon ng formula ng INDEX SORT na tinalakay sa itaas:
INDEX(SORT(…), n, { column1_to_return, column2_to_return, …})Kung saan ang n ang posisyon ng interes.
Halimbawa, para makakuha ng partikular na posisyon mula sa itaas (ibig sabihin, mula sa data na pinagsunod-sunod pababa), gamitin ang formula na ito :
=INDEX(SORT(A2:C13, 3, -1), F1, {2,3})
Upang makakuha ng partikular na posisyon mula sa ibaba (ibig sabihin, mula sa data na pinagsunod-sunod pataas), gamitin ang isang ito:
=INDEX(SORT(A2:C13, 3, 1), I1, {2,3})
Saan A2: Ang C13 ay pinagmumulan ng data, ang F1 ay ang posisyon mula sa itaas, ang I1 ay ang posisyon mula saibaba, at {2,3} ang mga column na ibabalik.
Gamitin ang Excel table para makakuha ng sort array para awtomatikong lumawak
Tulad ng alam mo na , awtomatikong nag-a-update ang pinagsunod-sunod na array kapag gumawa ka ng anumang mga pagbabago sa orihinal na data. Ito ang karaniwang pag-uugali ng lahat ng mga dynamic na function ng array, kabilang ang SORT. Gayunpaman, kapag nagdagdag ka ng mga bagong entry sa labas ng reference na array, hindi sila awtomatikong kasama sa isang formula. Kung gusto mong tumugon ang iyong formula sa mga naturang pagbabago, i-convert ang source range sa isang fully-functional na Excel table at gumamit ng structured reference sa iyong formula.
Upang makita kung paano ito gumagana sa pagsasanay, mangyaring isaalang-alang ang sumusunod halimbawa.
Ipagpalagay na ginagamit mo ang formula sa ibaba ng Excel SORT upang ayusin ang mga halaga sa hanay na A2:B8 sa alpabetikong pagkakasunud-sunod:
=SORT(A2:B8, 1, 1)
Pagkatapos, mag-input ka ng bagong entry sa row 9… at nabigo na makitang ang bagong idinagdag na entry ay naiwan sa saklaw ng spill:
Ngayon, i-convert ang source range sa isang talahanayan. Para dito, piliin lang ang iyong hanay kasama ang mga header ng column (A1:B8) at pindutin ang Ctrl + T . Kapag binubuo ang iyong formula, piliin ang source range gamit ang mouse, at ang pangalan ng talahanayan ay awtomatikong ilalagay sa formula (ito ay tinatawag na structured reference):
=SORT(Table1, 1, 1)
Kapag nag-type ka ng bagong entry sa ibaba mismo ng huling row, awtomatikong lalawak ang talahanayan, at isasama ang bagong data sa hanay ng spillng SORT formula:
Hindi gumagana ang Excel SORT function
Kung ang iyong SORT formula ay magreresulta sa isang error, ito ay malamang na dahil sa mga sumusunod na dahilan.
#NAME error: mas lumang bersyon ng Excel
Ang SORT ay isang bagong function at gumagana lang sa Excel 365 at Excel 2021. Sa mga lumang bersyon kung saan hindi sinusuportahan ang function na ito, isang #NAME? nagkakaroon ng error.
#SPILL error: may humaharang sa spill range
Kung ang isa o higit pang mga cell sa spill range ay hindi ganap na blangko o pinagsama, isang #SPILL! ipinapakita ang error. Upang ayusin ito, alisin lamang ang bara. Para sa karagdagang impormasyon, pakitingnan ang Excel #SPILL! error - kung ano ang ibig sabihin nito at kung paano ayusin.
#VALUE error: mga invalid na argumento
Sa tuwing makakaranas ka ng #VALUE! error, suriin ang sort_index at sort_order na mga argumento. Sort_index ay hindi dapat lumampas sa bilang ng mga column ay array , at sort_order
#REF error: ang source workbook ay sarado
Dahil ang mga dynamic na array ay may limitadong suporta para sa mga sanggunian sa pagitan ng mga workbook, ang SORT function nangangailangan ng parehong mga file na bukas. Kung sarado ang source workbook, ang isang formula ay maglalagay ng #REF! pagkakamali. Para ayusin ito, buksan lang ang na-refer na file.
Ganyan ang pag-uri-uriin ang data sa Excel gamit ang formula. Salamat sa pagbabasa at umaasa akong makita ka sa aming blog sa susunod na linggo!
Magsanay ng workbook para sa pag-download
Pag-uuri sa Excel gamit ang