Змест
Падручнік паказвае, як выкарыстоўваць функцыю SORT для дынамічнага сартавання масіваў даных. Вы даведаецеся формулу для сартавання ў алфавітным парадку ў Excel, размяшчэння лікаў у парадку ўзрастання або змяншэння, сартавання па некалькіх слупках і шмат іншага.
Функцыя сартавання існуе ўжо даўно. Але з увядзеннем дынамічных масіваў у Excel 365 з'явіўся надзвычай просты спосаб сартавання з дапамогай формул. Прыгажосць гэтага метаду ў тым, што вынікі аўтаматычна абнаўляюцца пры змене зыходных даных.
Функцыя Excel SORT
Функцыя SORT у Excel сартуе змесціва масіва або дыяпазон па слупках або радках, у парадку ўзрастання або змяншэння.
SORT належыць да групы функцый дынамічнага масіву. У выніку атрымліваецца дынамічны масіў, які аўтаматычна пераходзіць у суседнія ячэйкі вертыкальна або гарызантальна, у залежнасці ад формы зыходнага масіва.
Сінтаксіс функцыі SORT наступны:
SORT(масіў, [індэкс_сартавання). ], [парадак_сартавання], [па_слупку])Дзе:
Масіў (абавязкова) - гэта масіў значэнняў або дыяпазон ячэек для сартавання. Гэта могуць быць любыя значэнні, уключаючы тэкст, лічбы, даты, час і г.д.
Індэкс_сартавання (неабавязковы) - цэлы лік, які паказвае, па якім слупку або радку трэба сартаваць. Калі прапушчана, выкарыстоўваецца індэкс па змаўчанні 1.
Парадак_сартавання (неабавязкова) - вызначае парадак сартавання:
- 1 або прапушчана (па змаўчанні) - парадак па ўзрастанні , гэта значыць адформулы (файл .xlsx) ад меншага да найбольшага
- -1 - у парадку змяншэння, г.зн. ад большага да найменшага
Па слупку (неабавязкова) - лагічнае значэнне, якое паказвае кірунак сартавання:
- ХЛУСНЯ або прапушчана (па змаўчанні) - сартаваць па радку. Вы будзеце выкарыстоўваць гэты варыянт часцей за ўсё.
- TRUE - сартаваць па слупку. Выкарыстоўвайце гэты параметр, калі вашы дадзеныя арганізаваны гарызантальна ў слупкі, як у гэтым прыкладзе.
Функцыя Excel SORT - парады і заўвагі
SORT - гэта новая функцыя дынамічнага масіву, і таму яна мае некаторыя асаблівасці, пра якія вы павінны ведаць:
- У цяперашні час функцыя SORT даступная толькі ў Microsoft 365 і Excel 2021. Excel 2019, Excel 2016 не падтрымліваюць формулы дынамічнага масіва, таму функцыя SORT недаступны ў гэтых версіях.
- Калі масіў, які вяртаецца формулай SORT, з'яўляецца канчатковым вынікам (г.зн. не перадаецца іншай функцыі), Excel дынамічна стварае дыяпазон адпаведнага памеру і запаўняе яго адсартаванымі значэннямі. Такім чынам, пераканайцеся, што ў вас заўсёды ёсць дастаткова пустых вочак унізе або/і справа ад ячэйкі, у якую вы ўводзіце формулу, інакш узнікае памылка #SPILL.
- Вынікі абнаўляюцца дынамічна па меры змены зыходных даных. Аднак масіў , дадзены ў формулу, не пашыраецца аўтаматычна, каб уключыць новыя запісы, якія дадаюцца па-за масіўам , на які спасылаецца. Каб уключыць такія элементы, вам трэба альбо абнавіць спасылку на масіў у формуле, альбопераўтварыце зыходны дыяпазон у табліцу, як паказана ў гэтым прыкладзе, або стварыце дынамічны найменны дыяпазон.
Асноўная формула Excel SORT
У гэтым прыкладзе паказана базавая формула для сартавання даных у Excel у парадку ўзрастання і змяншэння.
Выкажам здагадку, што вашы дадзеныя размешчаны ў алфавітным парадку, як паказана на скрыншоце ніжэй. Вы жадаеце сартаваць лічбы ў слупку B, не разбіваючы і не змешваючы даныя.
Формула для сартавання ў парадку ўзрастання
Каб сартаваць значэнні ў слупку B ад найменшага да найбольшага, прывядзіце наступную формулу:
=SORT(A2:B8, 2, 1)
Дзе:
- A2:B8 - зыходны масіў
- 2 - нумар слупка для сартавання
- 1 — парадак сартавання па ўзрастанні
Паколькі нашы даныя арганізаваны ў радкі, апошні аргумент можа быць апушчаны, каб па змаўчанні быў хлусня — сартаваць па радках.
Проста ўвядзіце формулу ў любую пустую ячэйку (у нашым выпадку D2), націсніце Enter, і вынікі аўтаматычна перакінуцца ў D2:E8.
Формула для сартавання ў парадку змяншэння
Для сартавання даных па змяншэнні, г.зн. ад самага вялікага да меншага, усталюйце аргумент парадак_сартавання на -1 наступным чынам:
=SORT(A2:B8, 2, -1)
Увядзіце формулу ў верхнюю левую ячэйку дыяпазон прызначэння, і вы атрымаеце наступны вынік:
Аналагічным чынам вы можаце сартаваць тэкставыя значэнні ў алфавітным парадку ад А да Я або ад Я да А.
Як сартаваць даныя ў Excel з дапамогай f ormula
У прыведзеных ніжэй прыкладах паказана некалькі тыповых ужыванняў функцыі SORT у Excelі пару нетрывіяльных.
Сартаванне Excel па слупку
Калі вы сартуеце даныя ў Excel, па большай частцы вы змяняеце парадак радкоў. Але калі вашы даныя арганізаваны гарызантальна з радкамі, якія змяшчаюць этыкеткі, і слупкамі, якія змяшчаюць запісы, вам можа спатрэбіцца сартаваць злева направа, а не зверху ўніз.
Каб сартаваць па слупку ў Excel, усталюйце by_col аргумент TRUE. У гэтым выпадку індэкс_сартавання будзе прадстаўляць радок, а не слупок.
Напрыклад, каб адсартаваць дадзеныя ніжэй па колькасці. ад самага высокага да самага нізкага, выкарыстоўвайце наступную формулу:
=SORT(B1:H2, 2, 1, TRUE)
Дзе:
- B1:H2 з'яўляецца зыходнымі дадзенымі для сартавання
- 2 з'яўляецца індэкс сартавання, паколькі мы сартуем лікі ў другім радку
- -1 паказвае парадак сартавання па змяншэнні
- TRUE азначае сартаваць слупкі, а не радкі
Сартаванне па некалькіх слупках у розным парадку (шматузроўневае сартаванне)
Пры працы са складанымі мадэлямі даных часта можа спатрэбіцца шматузроўневае сартаванне. Ці можна гэта зрабіць з дапамогай формулы? Так, лёгка! Тое, што вы робіце, гэта падаваць канстанты масіва для аргументаў sort_index і sort_order .
Напрыклад, каб адсартаваць дадзеныя ніжэй спачатку па Region (слупок A) ад A да Z, а затым па Qty . (слупок C) ад найменшага да вялікага, усталюйце наступныя аргументы:
- Масіў - гэта даныя ў A2:C13.
- Індэкс_сартавання з'яўляецца канстантай масіва {1,3}, паколькі мы спачатку сартуем па Рэгіён (1слупок), а потым па Колькасць . (3-і слупок).
- Парадак_сартавання - гэта канстанта масіва {1,-1}, паколькі 1-ы слупок павінен быць адсартаваны ў парадку ўзрастання, а 3-ці - у парадку змяншэння.
- By_col апускаецца, таму што мы сартуем радкі, што па змаўчанні.
Складваючы аргументы разам, мы атрымліваем наступную формулу:
=SORT(A2:C13, {1,3}, {1,-1})
І гэта выдатна працуе! Тэкставыя значэнні ў першым слупку адсартаваны ў алфавітным парадку, а лічбы ў трэцім слупку адсартаваны ад вялікага да меншага:
Сартаваць і фільтраваць у Excel
У выпадку калі вы жадаеце адфільтраваць даныя па некаторых крытэрыях і ўпарадкаваць выснову, выкарыстоўвайце функцыі SORT і FILTER разам:
SORT(FILTER(масіў, дыяпазон_крытэрыяў= крытэрыі) , [індэкс_сартавання], [парадак_сартавання], [па_слупку])Функцыя FILTER атрымлівае масіў значэнняў на аснове крытэрыяў, якія вы вызначаеце, і перадае гэты масіў у першы аргумент SORT.
Лепшая рэч аб гэтай формуле з'яўляецца тое, што яна таксама выводзіць вынікі ў выглядзе дынамічнага дыяпазону разліву, без неабходнасці націскаць Ctrl + Shift + Enter або адгадваць, у колькі ячэек яго скапіяваць. Як звычайна, вы ўводзіце формулу ў самую верхнюю ячэйку і націскаеце клавішу Enter.
У якасці прыкладу мы збіраемся атрымаць элементы з колькасцю, роўнай або большай за 30 (>=30) з зыходныя даныя ў A2:B9 і размясціць вынікі ў парадку ўзрастання.
Для гэтага мы спачатку ўсталёўваем умову, скажам, увочка E2, як паказана на малюнку ніжэй. А потым пабудуйце нашу формулу Excel SORT наступным чынам:
=SORT(FILTER(A2:B9, B2:B9>=E2), 2)
Акрамя масіва , згенераванага функцыяй FILTER, мы паказваем толькі sort_index аргумент (слупок 2). Астатнія два аргументы апушчаны, таму што значэнні па змаўчанні працуюць менавіта так, як нам трэба (сартаваць па ўзрастанні, па радку).
Атрымаць N найбольшых або найменшых значэнняў і адсартаваць вынікі
Пры аналізе велізарных аб'ёмаў інфармацыі часта ўзнікае неабходнасць атрымаць пэўную колькасць галоўных значэнняў. Магчыма, не проста здабываць, але і размяшчаць іх у патрэбным парадку. І ў ідэале выберыце, якія слупкі ўключыць у вынікі. Гучыць складана? Не з новымі функцыямі дынамічнага масіву!
Вось агульная формула:
INDEX(SORT(…), SEQUENCE( n), { column1_to_return, column2_to_return, …})Дзе n гэта колькасць значэнняў, якія вы жадаеце вярнуць.
Выкажам здагадку, што вы хочаце атрымаць з прыведзенага ніжэй набору даных спіс 3 лепшых на аснове лічбаў у слупку C.
Каб гэта зрабіць, вы спачатку адсартуеце масіў A2:C13 па 3-м слупку ў парадку змяншэння:
SORT(A2:C13, 3, -1)
А потым укладзіце прыведзеную вышэй формулу ў першы ( масіў ) аргумент функцыі INDEX, каб масіў быў адсартаваны ад самага высокага да найменшага.
Для другога ( нумар_роўну) ), які паказвае, колькі радкоў вярнуць, згенераваць неабходныя паслядоўныя нумары з дапамогай функцыі SEQUENCE. Якнам патрэбныя 3 верхнія значэнні, мы выкарыстоўваем SEQUENCE(3), што тое ж самае, што і пастаўка канстанты вертыкальнага масіва {1;2;3} непасрэдна ў формулу.
Для трэцяга ( col_num ) аргумент, які вызначае, колькі слупкоў вярнуць, падайце нумары слупкоў у выглядзе канстанты гарызантальнага масіва. Мы хочам вярнуць слупкі 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 SORT, разгледжаную вышэй:
INDEX(SORT(…), n, { column1_to_return, column2_to_return, …})Дзе 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 і выкарыстоўвайце ў сваёй формуле структураваныя спасылкі.
Каб убачыць, як гэта працуе на практыцы, звярніце ўвагу на наступнае. прыклад.
Выкажам здагадку, што вы выкарыстоўваеце прыведзеную ніжэй формулу Excel SORT для размяшчэння значэнняў у дыяпазоне A2:B8 у алфавітным парадку:
=SORT(A2:B8, 1, 1)
Затым вы ўводзіце новы запіс у радок 9… і з расчараваннем бачым, што нядаўна дададзены запіс застаўся па-за дыяпазонам разліву:
Цяпер пераўтварыце зыходны дыяпазон у табліцу. Для гэтага проста выберыце дыяпазон, уключаючы загалоўкі слупкоў (A1:B8) і націсніце Ctrl + T . Пры стварэнні формулы выберыце зыходны дыяпазон з дапамогай мышы, і назва табліцы будзе ўстаўлена ў формулу аўтаматычна (гэта называецца структураванай спасылкай):
=SORT(Table1, 1, 1)
Калі вы ўводзіце новы запіс прама пад апошнім радком, табліца разгорнецца аўтаматычна, і новыя дадзеныя будуць уключаны ў дыяпазон разлівуформулы SORT:
Функцыя SORT Excel не працуе
Калі ваша формула SORT прыводзіць да памылкі, гэта, хутчэй за ўсё, па наступных прычынах.
Памылка #NAME: старая версія Excel
SORT - гэта новая функцыя, якая працуе толькі ў Excel 365 і Excel 2021. У старых версіях, дзе гэтая функцыя не падтрымліваецца, #NAME? адбываецца памылка.
Памылка #SPILL: штосьці блакуе дыяпазон разліву
Калі адна або некалькі вочак у дыяпазоне разліву не зусім пустыя або аб'яднаныя, #SPILL! адлюстроўваецца памылка. Каб выправіць гэта, проста зніміце засор. Для атрымання дадатковай інфармацыі, калі ласка, глядзіце Excel #SPILL! памылка - што гэта значыць і як яе выправіць.
Памылка #ЗНАЧЭННЕ: несапраўдныя аргументы
Кожны раз, калі вы сутыкаецеся з #ЗНАЧЭННЕ! памылка, праверце аргументы sort_index і sort_order . Sort_index не павінен перавышаць колькасць слупкоў array і sort_order павінна быць альбо 1 (па ўзрастанні), альбо -1 (па змяншэнні).
Памылка #REF: зыходная кніга закрыта
Паколькі дынамічныя масівы маюць абмежаваную падтрымку спасылак паміж кнігамі, функцыя SORT патрабуецца, каб абодва файлы былі адкрыты. Калі зыходная кніга закрыта, формула выдасць #REF! памылка. Каб выправіць гэта, проста адкрыйце файл, на які спасылаецца спасылка.
Вось як сартаваць даныя ў Excel з дапамогай формулы. Я дзякую вам за чытанне і спадзяюся ўбачыць вас у нашым блогу на наступным тыдні!
Практычны сшытак для спампоўкі
Сартаванне ў Excel з