Мазмұны
Оқулық деректер массивтерін динамикалық түрде сұрыптау үшін СҰРУ функциясын пайдалану жолын көрсетеді. Excel бағдарламасында алфавит бойынша сұрыптау, сандарды өсу немесе кему ретімен реттеу, бірнеше бағандар бойынша сұрыптау және т.б. формулаларды үйренесіз.
Сұрыптау функциясы бұрыннан бар. Бірақ Excel 365 жүйесінде динамикалық массивтерді енгізумен формулалармен сұрыптаудың таңғажайып қарапайым тәсілі пайда болды. Бұл әдістің сұлулығы бастапқы деректер өзгерген кезде нәтижелердің автоматты түрде жаңартылуында.
Excel СҰРЫПТАУ функциясы
Excel бағдарламасындағы СҰРЫПТАУ функциясы массивтің мазмұнын немесе бағандар немесе жолдар бойынша өсу немесе кему ретімен диапазон.
SORT Динамикалық массив функциялары тобына жатады. Нәтиже – бастапқы массивтің пішініне байланысты көрші ұяшықтарға тігінен немесе көлденеңінен автоматты түрде төгілетін динамикалық массив.
СҰРЫПТАУ функциясының синтаксисі келесідей:
SORT(массив, [сұрыптау_индексі) ], [сұрыптау_тәртібі], [түс бойынша])Мұндағы:
Массив (міндетті) - сұрыпталатын мәндер жиымы немесе ұяшықтар ауқымы. Бұл мәтінді, сандарды, күндерді, уақыттарды және т.б. қоса кез келген мәндер болуы мүмкін.
Сұрыптау_индекс (міндетті емес) - қай баған немесе жол бойынша сұрыптау керектігін көрсететін бүтін сан. Өткізілмесе, әдепкі индекс 1 пайдаланылады.
Сұрыптау_тәртібі (міндетті емес) - сұрыптау ретін анықтайды:
- 1 немесе түсірілген (әдепкі) - өсу реті , яғниформулалар (.xlsx файлы) ең кішіден ең үлкенге
- -1 - кему реті, яғни үлкеннен кішіге
Түс бойынша (міндетті емес) - сұрыптау бағытын көрсететін логикалық мән:
- ЖАЛҒАН немесе түсірілген (әдепкі) - жол бойынша сұрыптау. Сіз бұл опцияны көбіне пайдаланасыз.
- ШЫН – баған бойынша сұрыптау. Деректер осы мысалдағыдай бағандарда көлденең ұйымдастырылған болса, осы опцияны пайдаланыңыз.
Excel СҰРЫПТАУ функциясы - кеңестер мен ескертпелер
СҰРЫП - жаңа динамикалық жиым функциясы, сондықтан ол бар. Сіз білуіңіз керек бірнеше ерекшеліктер:
- Қазіргі таңда СҰРУ функциясы тек Microsoft 365 және Excel 2021 нұсқаларында қол жетімді. Excel 2019, Excel 2016 динамикалық жиым формулаларына қолдау көрсетпейді, сондықтан СҰРЫПТАУ функциясы бұл нұсқаларда қол жетімді емес.
- Егер СҰРЫПТАУ формуласы арқылы қайтарылған массив соңғы нәтиже болса (яғни басқа функцияға берілмесе), Excel сәйкес өлшемді ауқымды динамикалық түрде жасайды және оны сұрыпталған мәндермен толтырады. Сондықтан формуланы енгізетін ұяшықтың төмен немесе/және оң жағында әрқашан жеткілікті бос ұяшықтар бар екеніне көз жеткізіңіз, әйтпесе #SPILL қатесі орын алады.
- Нәтижелер бастапқы деректер өзгерген сайын динамикалық түрде жаңартылады. Дегенмен, формулаға берілген массив сілтеме жасалған массив сыртында қосылған жаңа жазбаларды қамту үшін автоматты түрде кеңейтілмейді. Мұндай элементтерді қосу үшін формуладағы массив сілтемесін жаңарту керек немесебастапқы ауқымды осы мысалда көрсетілгендей кестеге түрлендіріңіз немесе динамикалық аталған ауқымды жасаңыз.
Негізгі Excel СҰРЫПТАУ формуласы
Бұл мысал Excel бағдарламасындағы деректерді сұрыптауға арналған негізгі формуланы көрсетеді. өсу және кему ретімен.
Деректеріңіз төмендегі скриншотта көрсетілгендей алфавиттік ретпен реттелген делік. Сіз B бағанындағы сандарды деректерді бұзбай немесе араластырмай сұрыптағыңыз келеді.
Өсу реті бойынша сұрыптау формуласы
В бағанындағы мәндерді ең кішіден үлкенге қарай сұрыптау үшін мына формула қолданылады:
=SORT(A2:B8, 2, 1)
Мұндағы:
- A2:B8 - бастапқы массив
- 2 - сұрыпталатын баған нөмірі
- 1 - өсу реті бойынша сұрыптау реті
Деректеріміз жолдар бойынша ұйымдастырылғандықтан, соңғы аргумент әдепкі мәніне ЖАЛҒАН - жолдар бойынша сұрыптау мәнін алып тастауға болады.
Тек формуланы мына жерге енгізіңіз. кез келген бос ұяшықты (біздің жағдайда D2), Enter пернесін басыңыз, сонда нәтижелер автоматты түрде D2:E8-ге төгіледі.
Кему реті бойынша сұрыптау формуласы
Деректерді кему бойынша сұрыптау үшін, яғни үлкеннен кішіге қарай, sort_order аргументін -1 мәніне келесідей орнатыңыз:
=SORT(A2:B8, 2, -1)
Формуланы жоғарғы сол жақ ұяшыққа енгізіңіз. тағайындалған диапазонды көрсетіңіз, сонда сіз мына нәтиже аласыз:
Сол сияқты, мәтін мәндерін әліпбилік ретпен А-дан Я немесе Z-ден A-ға дейін сұрыптауға болады.
Excel бағдарламасында f арқылы деректерді сұрыптау жолы ormula
Төмендегі мысалдар Excel бағдарламасындағы СҰРЫПТАУ функциясының бірнеше типтік қолданылуын көрсетедіжәне бірнеше тривиальды емес.
Excel баған бойынша СҰРЫПТАУ
Excel бағдарламасында деректерді сұрыптау кезінде көп жағдайда жолдардың ретін өзгертесіз. Бірақ деректеріңіз белгілерді қамтитын жолдар мен жазбаларды қамтитын бағандармен көлденең ұйымдастырылған кезде, жоғарыдан төменге емес, солдан оңға қарай сұрыптау қажет болуы мүмкін.
Excel бағдарламасында баған бойынша сұрыптау үшін <1 мәнін орнатыңыз>түс_бою аргументі TRUE мәніне. Бұл жағдайда сұрыптау_индекс бағанды емес, жолды көрсетеді.
Мысалы, төмендегі деректерді Саны бойынша сұрыптау үшін. ең жоғарыдан төменге қарай мына формуланы пайдаланыңыз:
=SORT(B1:H2, 2, 1, TRUE)
Мұндағы:
- B1:H2 сұрыпталатын бастапқы деректер
- 2 сұрыптау индексі, өйткені біз екінші жолдағы сандарды сұрыптаймыз
- -1 кему бойынша сұрыптау ретін көрсетеді
- TRUE жолдарды емес, бағандарды сұрыптауды білдіреді
Әртүрлі ретпен бірнеше бағандар бойынша сұрыптау (көп деңгейлі сұрыптау)
Күрделі деректер үлгілерімен жұмыс істегенде көп деңгейлі сұрыптау қажет болуы мүмкін. Мұны формуламен жасауға бола ма? Иә, оңай! Сіз жасайтын әрекет sort_index және sort_order аргументтері үшін жиым тұрақтыларын беру болып табылады.
Мысалы, төмендегі деректерді алдымен Аймақ бойынша сұрыптау үшін. (А бағаны) А-дан Я-ға дейін, содан кейін Сана бойынша. (C бағаны) ең кішіден ең үлкенге қарай келесі аргументтерді орнатыңыз:
- Массив - A2:C13 ішіндегі деректер.
- Сұрыптау_индекс - {1,3} жиым тұрақтысы, өйткені біз алдымен Аймақ (1-ші) бойынша сұрыптаймызбаған), содан кейін Сана бойынша. (3-баған).
- Сұрыптау_тәртібі - {1,-1} жиым тұрақтысы, өйткені 1-баған өсу ретімен және 3-ші баған кему ретімен сұрыпталады.
- Түс_бою жоқ, себебі біз жолдарды сұрыптаймыз, бұл әдепкі.
Аргументтерді біріктіріп, мына формуланы аламыз:
=SORT(A2:C13, {1,3}, {1,-1})
Және ол тамаша жұмыс істейді! Бірінші бағандағы мәтін мәндері алфавит бойынша, ал үшінші бағандағы сандар үлкеннен кішіге қарай сұрыпталған:
Excel бағдарламасында сұрыптау және сүзу
Егер деректерді кейбір критерийлермен сүзгіден өткізіп, нәтижені ретке келтіргіңіз келсе, СҰРЫПТАУ және СҮЗУ функцияларын бірге пайдаланыңыз:
СҰРЫПТАУ(СҮЗГІ(массив, шарттар_ауқымы= шарттар) , [sort_index], [sort_order], [sort_order], [sort_order])FILTER функциясы сіз анықтайтын критерийлер негізінде мәндер жиымын алады және сол массивді СҰРЫПТАУдың бірінші аргументіне береді.
Ең жақсысы Бұл формула туралы ол сонымен қатар нәтижелерді Ctrl + Shift + Enter пернелерін басып немесе қанша ұяшыққа көшіру керектігін болжаусыз динамикалық төгілу ауқымы ретінде шығарады. Әдеттегідей, ең жоғарғы ұяшыққа формуланы теріп, Enter пернесін басыңыз.
Мысал ретінде біз саны 30-ға тең немесе одан көп (>=30) элементтерді шығарып аламыз. A2:B9 пішіміндегі бастапқы деректер және нәтижелерді өсу ретімен орналастырыңыз.
Ол үшін алдымен шартты орнатамыз, айталық,E2 ұяшығы төмендегі суретте көрсетілгендей. Содан кейін Excel СҰРЫПТАУ формуласын мына жолмен құрастырыңыз:
=SORT(FILTER(A2:B9, B2:B9>=E2), 2)
СҮЗГІ функциясы арқылы жасалған массив ден басқа, біз тек сұрыптау_индексін<2 көрсетеміз> аргумент (2-баған). Қалған екі аргумент алынып тасталды, себебі әдепкі мәндер дәл бізге қажет жұмыс істейді (өсу, жол бойынша сұрыптау).
Ең үлкен немесе ең кіші N мәнді алыңыз және нәтижелерді сұрыптаңыз
Үлкен көлемді ақпараттарды талдаған кезде, көбінесе жоғарғы мәндердің белгілі бір санын шығару қажет болады. Мүмкін жай ғана шығарып қана қоймай, сонымен қатар оларды қажетті тәртіпте орналастырыңыз. Ең дұрысы, нәтижелерге қандай бағандарды қосу керектігін таңдаңыз. Күрделі естіледі ме? Жаңа динамикалық массив функцияларымен емес!
Міне, жалпы формула:
INDEX(SORT(…), SEQUENCE( n), { баған1_қайтару, баған2_қайтару, …})Мұндағы n - қайтарғыңыз келетін мәндердің саны.
Төмендегі деректер жиынынан сіз алғыңыз келеді делік. C бағанындағы сандарға негізделген үздік 3 тізім.
Оны орындау үшін алдымен A2:C13 массивін 3-баған бойынша кему реті бойынша сұрыптаңыз:
SORT(A2:C13, 3, -1)
Содан кейін массив ең үлкеннен кішіге қарай сұрыпталған болуы үшін INDEX функциясының бірінші ( массив ) аргументіне жоғарыдағы формуланы кірістіріңіз.
Екінші үшін ( жол_саны) ) қанша жолды қайтару керектігін көрсететін аргумент, SEQUENCE функциясын пайдалану арқылы қажетті реттік сандарды жасайды. ретіндебізге 3 жоғарғы мән қажет, біз SEQUENCE(3) қолданамыз, ол тікелей формулада {1;2;3} тік массив тұрақтысын берумен бірдей.
Үшінші үшін ( col_num<) 2>) қанша бағанды қайтару керектігін анықтайтын аргумент, баған нөмірлерін көлденең жиым тұрақтысы түрінде береді. Біз B және C бағандарын қайтарғымыз келеді, сондықтан біз {2,3} массивін қолданамыз.
Соңында келесі формуланы аламыз:
=INDEX(SORT(A2:C13, 3, -1), SEQUENCE(3), {2,3})
Және ол шығарады дәл біз қалаған нәтижелер:
3 төменгі мәнді қайтару үшін бастапқы деректерді ең кішіден үлкенге қарай сұрыптаңыз. Ол үшін sort_order аргументін -1-ден 1-ге өзгертіңіз:
=INDEX(SORT(A2:C13, 3, 1), SEQUENCE(3), {2,3})
Нақты позициядағы сұрыпталған мәнді қайтарыңыз
Басқа бұрыштан қарасаңыз, тек белгілі бір сұрыптау орнын қайтарғыңыз келсе ше? Сұрыпталған тізімнен тек 1-ші, тек 2-ші немесе тек 3-ші жазбаны ғана айтыңыз ба? Оны орындау үшін жоғарыда қарастырылған ИНДЕКСІ СҰРЫПТАУ формуласының жеңілдетілген нұсқасын пайдаланыңыз:
INDEX(СҰРЫПТАУ(…), n, { қайтару_1_баған, баған2_қайтару, …})Мұндағы n - қызықтыратын орын.
Мысалы, жоғарыдан белгілі бір позицияны алу үшін (яғни, төмендеу бойынша сұрыпталған деректерден) осы формуланы пайдаланыңыз. :
=INDEX(SORT(A2:C13, 3, -1), F1, {2,3})
Төменнен белгілі бір позицияны алу үшін (яғни, өсу бойынша сұрыпталған деректерден) мынаны пайдаланыңыз:
=INDEX(SORT(A2:C13, 3, 1), I1, {2,3})
Мұнда A2: C13 - бастапқы деректер, F1 - жоғарыдан орын, I1 - бастаптөменгі және {2,3} - қайтарылатын бағандар.
Автоматты түрде кеңейту үшін сұрыптау массивін алу үшін Excel кестесін пайдаланыңыз
Сіз бұрыннан білетіндей , бастапқы деректерге кез келген өзгертулер енгізілгенде сұрыпталған жиым автоматты түрде жаңартылады. Бұл барлық динамикалық массив функцияларының, соның ішінде SORT функциясының стандартты әрекеті. Дегенмен, сілтеме жасалған жиымнан тыс жаңа жазбаларды қосқанда, олар формулаға автоматты түрде қосылмайды. Формуланың осындай өзгерістерге жауап беруін қаласаңыз, бастапқы ауқымды толық жұмыс істейтін Excel кестесіне түрлендіріңіз және формулаңыздағы құрылымдық сілтемелерді пайдаланыңыз.
Оның іс жүзінде қалай жұмыс істейтінін көру үшін келесіні қарастырыңыз. мысал.
Егер сіз A2:B8 ауқымындағы мәндерді алфавиттік ретпен орналастыру үшін төмендегі Excel СҰРЫПТАУ формуласын қолдансаңыз:
=SORT(A2:B8, 1, 1)
Содан кейін сіз жаңа жазбаны енгізесіз. 9-жол… және жаңадан қосылған жазбаның төгілу ауқымынан тыс қалғанын көргенде көңілі қалды:
Енді бастапқы ауқымды кестеге түрлендіріңіз. Ол үшін баған тақырыптарын қоса (A1:B8) ауқымыңызды таңдап, Ctrl + T пернелерін басыңыз. Формуланы құру кезінде тінтуірдің көмегімен бастапқы диапазонды таңдаңыз, сонда кесте атауы формулаға автоматты түрде енгізіледі (бұл құрылымдық сілтеме деп аталады):
=SORT(Table1, 1, 1)
Енгізген кезде соңғы жолдың дәл астында жаңа жазба болса, кесте автоматты түрде кеңейеді және жаңа деректер төгілу ауқымына қосыладыСҰРЫПТАУ формуласының:
Excel СҰРЫПТАУ функциясы жұмыс істемейді
Егер СҰРЫПТАУ формуласы қатеге әкелсе, бұл келесі себептерге байланысты болуы мүмкін.
#NAME қатесі: Excel ескі нұсқасы
СҰРУ — жаңа функция және тек Excel 365 және Excel 2021 нұсқаларында жұмыс істейді. Бұл функцияға қолдау көрсетілмейтін ескі нұсқаларда #NAME? қате орын алды.
#ТӨКІЛУ қатесі: бір нәрсе төгілу ауқымын блоктайды
Төгілу ауқымындағы бір немесе бірнеше ұяшық толығымен бос болмаса немесе біріктірілмесе, #ТӨК! қатесі көрсетіледі. Оны түзету үшін бітелуді алып тастау жеткілікті. Қосымша ақпаратты Excel #SPILL! қате - бұл нені білдіреді және қалай түзетуге болады.
#VALUE қатесі: жарамсыз аргументтер
#VALUE! қате болса, sort_index және sort_order аргументтерін тексеріңіз. Sort_index бағандар санынан аспауы керек массив және сұрыптау_тәртібі 1 (өсу) немесе -1 (кему) болуы керек.
#REF қатесі: бастапқы жұмыс кітабы жабық
Динамикалық массивтерде жұмыс кітаптары арасындағы сілтемелерге қолдау шектеулі болғандықтан, СҰРЫПТАУ функциясы екі файлдың да ашық болуын талап етеді. Егер бастапқы жұмыс кітабы жабылса, формула #REF! қате. Оны түзету үшін сілтеме жасалған файлды ашыңыз.
Деректерді Excel бағдарламасында формула арқылы сұрыптауға болады. Оқығаныңыз үшін алғыс айтамын және келесі аптада блогымызда көреміз деп үміттенемін!
Жүктеп алуға арналған жұмыс кітабын
Excelде сұрыптау