Прескочи на основното съдържание

Сортиране в Excel: сортирайте данните по текст, дата, число или цвят

Автор: Xiaoyang Последна промяна: 2021-11-15

Често срещана и проста задача е сортирането на данни в Excel, което може да ви помогне да пренаредите вашите данни въз основа на избрания от вас тип сортиране. Обикновено с вградената функция за сортиране можете да сортирате числа, текстови низове, дати и часове в една или повече колони; Можете също така да сортирате данни по персонализиран списък, който сте създали, или по форматиране на клетки (като цвят на шрифта, цвят на фона или икона) бързо и лесно.

В допълнение към това просто сортиране, има много по-полезно и сложно сортиране в ежедневната ви работа, от което може да се нуждаете. Този урок ще въведе някои различни видове сортиране за решаване на вашия проблем в Excel.

Съдържание:

1. Достъп до опциите за сортиране в Excel

2. Основни употреби на сортиране

3. Разширено използване на сортиране

4. Автоматично сортиране на данни при въвеждане или промяна на данни

5. Други случаи на сортиране


Достъп до опциите за сортиране в Excel

За да приложите функцията за сортиране, Excel предоставя няколко начина за достъп до опциите за сортиране.

1.1 Бутони за сортиране в лентата

Най-бързият начин за прилагане на функцията за сортиране е използването на бутоните за сортиране в лентата.

Щракнете върху която и да е клетка в колона със стойности за сортиране и след това щракнете Дата в раздела Сортиране и филтриране раздел, кликнете върху Сортирай от А до Я or Сортирайте от Z до A бутон за сортиране на данните във възходящ или низходящ азбучен ред. Вижте екранна снимка:

Забележка: Ако има празни редове в диапазона от данни, след прилагане на тези бутони, само диапазонът от данни на избраната клетка, който е над или под празните редове, може да бъде сортиран успешно.


1.2 Диалогов прозорец за сортиране

в Сортиране и филтриране група на Дата раздел, има още един Вид бутон, вижте екранната снимка:

След като щракнете върху това Вид бутон, а Вид диалоговият прозорец ще изскочи, както е показано на екранната снимка по-долу:

След това в Вид диалогов прозорец, можете да изберете съответните правила за сортиране на данни според нуждите ви.

Съвети: Можете също да използвате клавишни комбинации, за да отворите това Вид диалогов прозорец, моля натиснете Alt + A + S + S клавиши последователно на клавиатурата.


1.3 Опции за сортиране в менюто Филтър

Ако сте приложили филтри към вашия диапазон от данни, можете също да намерите опции за сортиране заедно с опциите за филтриране. Щраквайки върху иконата на филтъра в която и да е колона, можете да видите опциите за сортиране в разширения списък, както е показано на екранната снимка по-долу:

Забележка: Тези опции за сортиране ще се променят въз основа на данните в колоната: Ако има текст в колоната, той ще се покаже Сортирай от А до Я, Сортирайте от Z до A; Ако има числа в колоната, тя ще се покаже Сортиране от най-малкото към най-голямото, Сортиране от най-големия към най-малкия; Ако има дати в колоната, тя ще се покаже Сортиране от най-старите към най-новите, Сортиране от най-новите към най-старите.


1.4 Опции за сортиране с десен бутон

В Excel можете също да използвате опции за сортиране с десен бутон, за да сортирате бързо и лесно данни, щракнете с десен бутон върху която и да е клетка в колона със стойности за сортиране и в контекстното меню можете да видите, че има шест налични опции за сортиране, моля изберете този, от който се нуждаете, вижте екранната снимка:


Основни употреби на сортиране

Тази функция за сортиране на Excel може да ви помогне да направите някои прости сортировки, като например да сортирате числа, текстови низове, дати във възходящ или низходящ ред, да сортирате клетки въз основа на шрифт или цвят на фона. Този раздел ще говори за някои основни употреби на този вид функция.


2.1 Сортиране на данни по текстове, числа или дати

За да сортирате набор от данни въз основа на текстове, числа или дати във възходящ или низходящ ред, моля, изпълнете следните стъпки:

1. Изберете диапазона от данни, който искате да сортирате, и след това щракнете Дата > Вид, вижте екранна снимка:

2. В Вид диалогов прозорец, направете следните операции:

  • в Колона изберете името на колоната, въз основа на което искате да сортирате;
  • в Сортиране по раздел, изберете Стойности на клетката опция;
  • в Поръчка раздел, посочете реда на сортиране. (За да сортирате текстови низове, моля, изберете От А до Я or Z до А; За да сортирате списъка с номера, изберете От най-малкия към най-големия or Най-голям към най-малък; За да сортирате клетки с дата, изберете Най-старите до най-новите or Най-старите.)
  • Съвети: Ако има заглавки във вашите данни, уверете се Данните ми имат заглавки се проверява. В случай че вашите данни нямат заглавки, моля, махнете отметката.

3, След това кликнете върху OK избраните данни ще бъдат сортирани въз основа на колоната, която сте посочили наведнъж.


2.2 Сортиране на данни по цвят на клетка, цвят на шрифта, икона на клетка

Ако искате да сортирате диапазона от данни въз основа на цвета на клетката, цвета на шрифта или иконата за условно форматиране, функцията за сортиране може бързо да реши тази задача.

Да предположим, че имате диапазон от данни, който е форматиран с някои цветове на клетките, както е показано на екранната снимка по-долу, ако трябва да пренаредите данните въз основа на цвета на клетката, например, бихте искали да поставите светлочервените редове отгоре, последвани от светли жълти и светлосини редове, за да сортирате редовете по цвят на клетките, моля, направете следното:

1. Изберете диапазона от данни, който искате да сортирате въз основа на цвета на клетката, и след това щракнете Дата > Вид за да отидете на Вид диалогов прозорец.

2. В Вид диалогов прозорец, задайте следните операции:

2.1) Задайте цвета на първата клетка отгоре по следния начин:

  • в Колона раздел, изберете Име или други колони, където имате цветните клетки. В този пример имам цветни клетки във всички колони, можете да изберете всяко име на колона;
  • Под Сортиране по раздел, моля изберете Клетъчен цвят опция;
  • в Поръчка раздел, изберете един цвят на клетката, който искате да поставите отгоре или отдолу;

2.2) След това щракнете върху Добавяне на ниво бутон, за да добавите второто и другите нива на правилото, повторете горните стъпки за задаване на второто и другите цветове на клетките.

  • Съвети: Ако има заглавки във вашите данни, уверете се Данните ми имат заглавки се проверява. В случай че вашите данни нямат заглавки, моля, махнете отметката.

3. След като завършите настройките, щракнете OK и диапазонът от данни е сортиран по цвета на клетката, който сте посочили, вижте екранната снимка:

Съвети: Съгласно горните стъпки можете също да сортирате данните въз основа на цвета на шрифта или иконата на клетка, като изберете Цвят на шрифта or Икона за условно форматиране в диалоговия прозорец Сортиране.


2.3 Сортиране на данни по множество колони

Ако имате голям набор от данни, както е показано на екранната снимка по-долу, сега искате да извършите многостепенно сортиране на данни за по-ясно четене на данните, например първо сортиране по колоната Регион, след това колоната Състояние и накрая колоната Продажби. Как бихте могли да направите това сортиране в Excel?

За да сортирате данните по няколко колони, моля, изпълнете следните стъпки:

1. Изберете диапазона от данни, които искате да сортирате, и след това щракнете Дата > Вид за да отидете на Вид диалогов прозорец.

2. В Вид кликнете върху Добавяне на ниво бутон два пъти, тъй като има три колони, които искате да използвате за сортиране. След това можете да видите две След това от нива на правила са добавени в списъчното поле:

Съвети: Ако има заглавки във вашите данни, уверете се Данните ми имат заглавки се проверява. В случай че вашите данни нямат заглавки, моля, махнете отметката.

3, От Сортиране по намлява След това от падащ списък, изберете имената на колоните, въз основа на които искате да сортирате, и след това изберете Стойности на клетката от Сортиране по раздел отделно за всяка избрана колона, накрая изберете реда на сортиране според нуждите.

4, След това кликнете върху OKи ще получите резултата от сортирането, както е показано на екранната снимка по-долу:


2.4 Сортиране на данни въз основа на персонализиран списък

Вместо да сортирате данните по азбучен или цифров ред, тази функция за сортиране също така предоставя персонализирано сортиране на списък за вас. Например, бихте искали да сортирате диапазона от данни по-долу по Статус - Незапочнато, В ход, Завършено, дефинирано от вас. Тук ще ви представя как да се справите с този тип сортиране.

1. Изберете диапазона от данни, който искате да сортирате, и след това щракнете Дата > Вид за да отидете на Вид диалогов прозорец.

2. В Вид изберете колоната, която искате да сортирате от Колона раздел и след това изберете Стойности на клетката от Сортиране по раздел, в Поръчка раздел, кликнете върху Персонализиран списък опция, вижте екранна снимка:

Съвети: Ако има заглавки във вашите данни, уверете се Данните ми имат заглавки се проверява. В случай че вашите данни нямат заглавки, моля, махнете отметката.

3. И а Персонализирани списъци ще се появи кутия, моля, изпълнете следните операции:

  • Кликнете НОВ СПИСЪК в Custom поле със списъци;
  • След това въведете текстовите низове в реда, въз основа на който трябва да сортирате в Записи в списък кутия; (При въвеждане на текстовете, моля натиснете Въведете ключ за разделяне на записите.)
  • Най-накрая щракнете Добави новият списък се добавя в Персонализирани списъци кутия наведнъж.

4, След това кликнете върху OK бутон за връщане към Вид диалогов прозорец. Новият потребителски списък с елементи вече се показва в Поръчка падащ списък.

5. И след това щракнете OK бутон за затваряне на диалоговия прозорец, в резултат на това диапазонът от данни е сортиран по персонализирания списък, който сте дефинирали, вижте екранна снимка:


2.5 Сортиране на данни отляво надясно (хоризонтално сортиране)

Обикновено винаги сортирате таблицата с данни вертикално отгоре надолу, но понякога може да искате да сортирате данните въз основа на стойностите на реда (сортирайте отляво надясно). Например в диапазона от данни по-долу искам да го сортирам въз основа на стойностите в реда Име.

В този случай функцията за сортиране има вградена функционалност, която ви позволява да сортирате отляво надясно. Моля, направете следните стъпки:

1. Изберете вашия диапазон от данни (изключете заглавки), които искате да сортирате, и след това щракнете Дата > Вид за да отидете в диалоговия прозорец Сортиране.

2. В изскочилата Вид кликнете върху Настроики след това в Опции за сортиране изберете диалоговия прозорец Сортиране отляво надясно опция, вижте екранна снимка:

3. Щракнете OK за да се върнете към диалоговия прозорец за сортиране, сега, в Ред раздел, посочете номера на реда, въз основа на който искате да сортирате данните, и след това изберете Стойности на клетката в Сортиране по накрая изберете реда на сортиране в Поръчка раздел, от който се нуждаете, вижте екранна снимка:

4, След това кликнете върху OKи вашите данни са сортирани, както е показано на екранната снимка по-долу:


2.6 Сортирайте данните в ред, който е чувствителен към малки и главни букви

Обикновено сортирането на данни не се извършва в ред, който е чувствителен към главни и малки букви, както е показано по-долу на първата екранна снимка. Но какво ще стане, ако искате да направите сортирането чувствително към главни и малки букви, както е показано по-долу на втората екранна снимка, как можете да решите тази задача в Excel?

За да извършите сортиране с чувствителност към малки и главни букви в Excel, моля, направете следното:

1. Изберете диапазона от данни, който искате да сортирате, и след това щракнете Дата > Вид за да отидете на Вид диалогов прозорец.

2. В Вид диалогов прозорец, в Колона раздел, посочете името на колоната, въз основа на която искате да сортирате данните, и след това изберете Стойности на клетката в Сортиране по накрая изберете реда на сортиране в Поръчка раздел, от който се нуждаете, вижте екранна снимка:

Съвети: Ако има заглавки във вашите данни, уверете се Данните ми имат заглавки се проверява. В случай че вашите данни нямат заглавки, моля, махнете отметката.

3. Продължете да щраквате върху Настроики в този диалогов прозорец и в Опции за сортиране поле за подкана, проверете Различаващ главни от малки букви опция, вижте екранна снимка:

4. Щракнете OK > OK за затваряне на диалоговите прозорци, данните ще бъдат сортирани в ред с малки букви, а след това с главни, когато текстът е същият. Вижте екранна снимка:


Разширено използване на сортиране

В ежедневната си работа може да срещнете други по-сложни, практични, специфични проблеми със сортирането, този раздел ще говори за множество видове задачи за сортиране в Excel.

3.1 Сортиране на данни въз основа на честота

Ако приемем, че имате списък с данни в колона и сега искате да сортирате тази колона в низходящ ред на честотите на възникване на данните, както е показано на екранната снимка по-долу. Тук ще представя два метода за решаване на тази задача.

 Сортирайте данните въз основа на честотата с помощна колона

В Excel няма директен начин за сортиране на данни въз основа на броя на срещанията, тук можете да създадете помощна формула, за да получите честотата на срещане на всеки текст, и след това да сортирате по помощната колона, за да получите резултата от сортирането, от който се нуждаете.

1. Въведете формулата по-долу в празна клетка в съседство с оригиналните данни, B2, например, и след това плъзнете манипулатора за попълване надолу към клетките за прилагане на тази формула, вижте екранната снимка:

=COUNTIF($A$2:$A$16,A2)

Забележка: В горната формула, A2: A16 е списъкът с данни, които искате да сортирате по честота, и A2 са първите данни от този списък.

2. След това продължете да избирате клетките с формули и след това щракнете Дата > Сортирай от А до Я or Сортирайте от Z до A както ви е необходимо, в изскачащия прозорец Предупреждение за сортиране поле за подкана, изберете Разширете селекцията, вижте екранни снимки:

3. И след това щракнете върху Вид сега оригиналната колона е сортирана по честота, както са показани следните екранни снимки:

Съвет:

1. След като получите резултата, можете да изтриете помощната колона, както ви е необходимо.

2. Ако има текстови низове, които се появяват еднакъв брой пъти, един и същ текст може да не бъде сортиран заедно. В този случай трябва да отидете на Вид диалогов прозорец, сортирайте първо по помощната колона и след това сортирайте по текста, както е показано на екранната снимка по-долу:


 Сортирайте данните въз основа на честота с удобна функция

Ако имате Kutools за Excel, Със своята Разширено сортиране можете бързо и лесно да сортирате данните въз основа на честотата на възникване без помощна колона.

След инсталиране Kutools за Excel, моля, направете следното:

1. Изберете списъка с данни, който искате да сортирате, и след това щракнете Kutools плюс > Вид > Разширено сортиране, вижте екранна снимка:

2. В Разширено сортиране изберете колоната, която искате да сортирате от Колона раздел и след това изберете Честота в Сортиране по падащ списък, накрая, посочете реда на сортиране в Поръчка раздел, вижте екранна снимка:

Съвети: Ако има заглавки във вашите данни, уверете се Данните ми имат заглавки се проверява. В случай че вашите данни нямат заглавки, моля, махнете отметката.

3, След това кликнете върху OK бутон, списъкът с данни е сортиран по брой срещания наведнъж, вижте екранна снимка:


3.2 Сортиране на данни въз основа на дължина на знака

Ако имате списък с данни, които съдържат текстови низове с различна дължина, сега може да се наложи да сортирате данните по дължина на знака, за да изглежда колоната чиста и подредена. Този раздел ще говори за това как да сортирате данните по броя на знаците.

 Сортирайте данните въз основа на дължината на знака с помощна колона

За да сортирате колона по дължина на знаците, трябва да използвате функцията LEN, за да изчислите броя на знаците за всяка клетка и след това да приложите функцията Сортиране, за да сортирате списъка с данни, моля, направете следните стъпки:

1. Въведете тази формула =LEN(A2) в празна клетка в съседство с оригиналните данни, B2, например, и след това плъзнете манипулатора за попълване надолу към клетките за прилагане на тази формула, вижте екранната снимка:

2. След това продължете да избирате клетките с формули и след това щракнете Дата > Сортирай от А до Я or Сортирайте от Z до A както ви е необходимо, в изскачащия прозорец Предупреждение за сортиране поле за подкана, изберете Разширете селекцията, вижте екранна снимка:

3, След това кликнете върху Вид бутон, низовете са сортирани по дължина на знака. Можете да изтриете помощната колона B, както ви е необходимо. Вижте екранна снимка:


 Сортирайте данните въз основа на дължината на знака с лесна опция

За да сортирате данните по брой знаци бързо и лесно, тук ще ви препоръчам един удобен инструмент – Kutools за Excel, Със своята Разширено сортиране функция, можете да се справите с тази задача с лекота.

След инсталиране Kutools за Excel, моля, направете следното:

1. Изберете списъка с данни, който искате да сортирате, и след това щракнете Kutools плюс > Вид > Разширено сортиране.

2. В Разширено сортиране изберете колоната, която искате да сортирате в Колона раздел и изберете Дължина на текста от Сортиране по падащ списък, накрая посочете реда на сортиране, от който се нуждаете в Поръчка раздел. Вижте екранна снимка:

Съвети: Ако има заглавки във вашите данни, уверете се Моите данни имат заглавки iе проверено. В случай че вашите данни нямат заглавки, моля, махнете отметката.

3, След това кликнете върху OK текстовите низове в списъка са сортирани по дължина на знака, както е показано на екранната снимка по-долу:


3.3 Сортирайте пълните имена по фамилни имена

Когато сортирате списък с пълни имена, Excel ще използва първия знак от името, за да сортира, но какво ще стане, ако искате да сортирате данните по фамилните имена? Тук ще ви донеса някои трикове за лесно сортиране на пълните имена по фамилни имена в Excel.

 Сортирайте пълните имена по фамилни имена с помощна колона

Сортирайки пълните имена въз основа на фамилните имена, трябва да извлечете фамилните имена в нова колона и след това да приложите функцията Сортиране, за да сортирате пълните имена въз основа на разделените фамилни имена по азбучен ред. Моля, направете следните стъпки:

1. Въведете или копирайте формулата по-долу в празна клетка в съседство с оригиналните данни, B2, например, и след това плъзнете манипулатора за попълване надолу към клетките за прилагане на тази формула, вижте екранната снимка:

=RIGHT(A2,LEN(A2)-FIND("@",SUBSTITUTE(A2," ","@",LEN(A2)-LEN(SUBSTITUTE(A2," ","")))))

2. Продължете да избирате клетките с формули и след това щракнете Дата > Сортирай от А до Я or Сортирайте от Z до A както ви е необходимо, в изскачащия прозорец Предупреждение за сортиране поле за подкана, изберете Разширете селекцията, вижте екранна снимка:

3, След това кликнете върху Вид и ще получите пълните имена, които са сортирани въз основа на фамилните имена, след като сте готови, можете да изтриете помощната колона, както ви е необходимо. Вижте екранна снимка:


 Сортирайте пълните имена по фамилии с бърз метод

Ако не сте запознати с формулата, за сортиране на пълните имена по фамилни имена без никаква формула, the Разширено сортиране функция на Kutools за Excel може да ви направи услуга.

След инсталиране Kutools за Excel, моля, направете следното:

1. Изберете клетките с пълно име, които искате да сортирате, и щракнете Kutools плюс > Вид > Разширено сортиране.

2. В Разширено сортиране изберете колоната, която искате да сортирате в Колона раздел и изберете Фамилия от Сортиране по падащ списък, накрая, посочете реда на сортиране, както ви е необходим в Поръчка раздел. Вижте екранна снимка:

Съвети: Ако има заглавки във вашите данни, уверете се Данните ми имат заглавки се проверява. В случай че вашите данни нямат заглавки, моля, махнете отметката.

3, След това кликнете върху OK колоната с пълно име е сортирана по фамилни имена наведнъж.


3.4 Сортиране на имейл адреси по домейн

Ако имате списък с имейл адреси, които да бъдат сортирани по домейн, а не само по първата буква на адреса, как бихте могли да го направите в Excel? Този раздел ще говори за някои бързи методи за сортиране на имейл адреси по домейни.

 Сортирайте имейл адресите по домейн с помощна колона

Тук можете да създадете формула за извличане на имейл домейните в друга колона и след това да сортирате оригиналните имейл адреси въз основа на новата колона за домейн.

1. Въведете следната формула в празна клетка до вашия имейл адрес, в този пример ще въведа тази формула в клетка C2, след което плъзнете манипулатора за попълване до диапазона, към който искате да приложите тази формула. След това всички имейл домейни ще бъдат извлечени от адресите, вижте екранната снимка:

=RIGHT(B2,LEN(B2)-FIND("@",B2))

2. Задръжте избраните клетки с формула и след това щракнете Дата > Сортирай от А до Я or Сортирайте от Z до A колкото ви трябва, в Предупреждение за сортиране диалогов прозорец, проверете Разширете селекцията, вижте екранна снимка:

3. И след това щракнете Вид бутон за сортиране на данните по имейл домейни във възходящ или низходящ ред, както сте посочили.

4. След сортиране можете да изтриете помощната колона, както ви е необходимо.


 Сортирайте имейл адресите по домейн с няколко кликвания

Ако имате Kutools за Excel, Със своята Разширено сортиране функция, имейл адресите могат да бъдат сортирани по имената на домейни по азбучен ред само с няколко кликвания.

След инсталиране Kutools за Excel, моля, направете следното:

1. Изберете целия диапазон от данни, който искате да сортирате, и след това щракнете Kutools плюс > Вид > Разширено сортиране.

2. В Разширено сортиране изберете колоната, която искате да сортирате в Колона раздел и изберете Пощенски домейн от Сортиране по падащ списък, накрая посочете реда на сортиране, от който се нуждаете в Поръчка раздел. Вижте екранна снимка:

Съвети: Ако има заглавки във вашите данни, уверете се Данните ми имат заглавки се проверява. В случай че вашите данни нямат заглавки, моля, махнете отметката.

3. Щракнете OK, а диапазонът от данни е сортиран по имейл домейни, както е показано на екранната снимка по-долу:


3.5 Сортирайте една колона, за да съответства на друга

Ако имате две колони с данни, които са абсолютно еднакви или почти еднакви, но в различен ред, сега може да се наложи да сортирате двете колони, така че едни и същи стойности да са подравнени на едни и същи редове в двете колони. В този раздел ще представя два случая за този тип сортиране.

 Сортирайте две колони с абсолютно еднакви елементи, които да съответстват

Например, имам две колони, които съдържат едни и същи елементи, но в различен ред, тук искам да сортирам втората колона, за да съответства на първата колона, както е показано на екранната снимка по-долу.

1. Въведете формулата по-долу в празна клетка до оригиналните си данни, след което плъзнете манипулатора за попълване за прилагане на тази формула към всички клетки в списъка и това ще върне позицията на всяка стойност в колона B спрямо колона A, вижте екранната снимка :

=MATCH(B2,$A$2:$A$10,0)

2. След това изберете колона B и новата помощна колона и щракнете Дата > Вид за да отидете на Вид диалогов прозорец, в Вид диалогов прозорец, направете следните операции:

  • Изберете помощната колона, въз основа на която искате да сортирате данните от Колона раздел;
  • След това изберете Стойности на клетката в Сортиране по раздел;
  • Накрая изберете От най-малкия към най-големия опция в Поръчка раздел.

3. И след това щракнете OK бутон. Сега ще получите съвпадение на двете колони точно както е показано на екранната снимка по-долу. Можете да изтриете колоната с формули, както е необходимо.


 Сортирайте две колони с не съвсем еднакви елементи, които да съответстват

Понякога елементите в две колони може да не са напълно еднакви. Например, искам да сортирам данните във втората колона, за да съвпадат с тези в първата колона, така че същите стойности да се подравнят на едни и същи редове, както е показано на екранната снимка по-долу.

1. Вмъкнете нова празна колона между двете колони.

2. Въведете формулата по-долу в клетка B2 и след това плъзнете манипулатора за попълване, за да попълните тази формула до клетките, от които се нуждаете. И сега можете да видите, че данните в колона C са сортирани, за да съответстват на данните в колона A.

=IF(ISNA(MATCH(A2,$C$2:$C$8,0)),"",INDEX($C$2:$C$8,MATCH(A2,$C$2:$C$8,0)))


3.6 Сортирайте и извличайте уникални стойности от списък с данни

Ако имате списък със стойности, които съдържат някои дубликати, сега просто искате да извлечете уникалните стойности и да ги сортирате по азбучен ред, както е показано на екранната снимка по-долу, тук ще представя някои формули за справяне с този тип сортиране.

1. Моля, въведете формулата по-долу в празна клетка – C2 и след това натиснете Ctrl + Shift + Enter клавиши, за да получите първия резултат, вижте екранната снимка:

=IFERROR(INDEX($A$2:$A$12,MATCH(0,COUNTIF($A$2:$A$12,"<"&$A$2:$A$12)-SUM(COUNTIF($A$2:$A$12,"="&C$1:C1)),0)),"")

Забележка: Във формулата, A2: A12 е списъкът с данни, от който искате да извлечете уникални стойности, C1 е клетката над формулата, която сте поставили. Моля, променете ги според вашите нужди.

2. След това плъзнете манипулатора за попълване, за да извлечете стойностите, докато се появят празни клетки, всички уникални стойности ще бъдат извлечени и сортирани във възходящ ред, вижте екранната снимка:

Съвети:

1. Ако искате извлечените уникални стойности да бъдат сортирани в низходящ ред, моля, приложете формулата по-долу: (Не забравяйте да натиснете Ctrl + Shift + Enter ключове)

=IFERROR(INDEX($A$2:$A$12,MATCH(0,COUNTIF($A$2:$A$12,">"&$A$2:$A$12)-SUM(COUNTIF($A$2:$A$12,"="&C$1:C1)),0)),"")

2. Ако списъкът с данни съдържа интервална клетка, числови стойности, горната формула няма да работи, в този случай трябва да използвате следните формули: (Не забравяйте да натиснете Ctrl + Shift + Enter ключове)

=IFERROR(SMALL(IF((COUNTIF($C$1:C1,$A$2:$A$12)=0)*ISNUMBER($A$2:$A$12),$A$2:$A$12,"A"),1),INDEX($A$2:$A$12,MATCH(SMALL(IF(ISTEXT($A$2:$A$12)*(COUNTIF(C1:$C$1,$A$2:$A$12)=0),COUNTIF($A$2:$A$12,"<"&$A$2:$A$12),""),1),IF(ISTEXT($A$2:$A$12),COUNTIF($A$2:$A$12,"<"&$A$2:$A$12),""),0)))


3.7 Сортирайте няколко реда или колони независимо наведнъж

За нас е лесно да сортираме диапазон от данни въз основа на един ред или колона, но понякога може да искате да подредите по азбучен ред всеки ред или колона в диапазона независимо, как бихте могли да постигнете тази задача в Excel?

 Сортирайте няколко реда поотделно

Да предположим, че имате набор от данни, които трябва да бъдат преподредени по азбучен ред във всеки ред, както е показано на екранната снимка по-долу, за да разрешите този проблем, ето два бързи трика за вас.

Сортирайте няколко реда независимо наведнъж с формула

1. Копирайте етикетите на редовете на друго място, където искате да получите сортирания резултат.

2. След това копирайте или въведете формулата по-долу в празна клетка – H2 и след това натиснете Ctrl + Shift + Enter клавиши заедно, за да получите първия резултат, вижте екранна снимка:

=INDEX($B2:$E2, MATCH(COLUMNS($B2:B2), COUNTIF($B2:$E2, "<="&$B2:$E2), 0))

3. След това изберете клетката с формула H2 и плъзнете манипулатора за попълване надясно, за да копирате формулата в други клетки на първия ред, в този пример плъзнете към клетка K2, вижте екранната снимка:

4. Продължете да избирате клетките с формула в първия ред (H2:K2) и плъзнете манипулатора за запълване надолу, за да копирате формулата в други редове. Сега можете да видите, че стойностите във всеки ред са сортирани поотделно във възходящ ред.


Сортирайте няколко реда независимо наведнъж с VBA код

Следният VBA код също може да ви помогне лесно да сортирате данните във всеки ред по азбучен ред. Моля, направете следните стъпки:

1. Изберете данните, които искате да сортирате във всеки ред.

2. Задръжте натиснат ALT + F11 за да отворите Microsoft Visual Basic за приложения прозорец.

3, След това кликнете върху Поставете > Модулии поставете следния код в Модули Window.

VBA код: Сортирайте няколко реда независимо наведнъж

Sub SortIndividualR()
'Updateby Extendoffice
    Dim xRg As Range, yRg As Range
    If TypeName(Selection) <> "Range" Then Exit Sub
    Set xRg = Selection
    If xRg.Count = 1 Then
        MsgBox "Select multiple cells!", vbExclamation, "Kutools for Excel"
        Exit Sub
    End If
    With Application
        .ScreenUpdating = False
        .EnableEvents = False
        .Calculation = xlCalculationManual
    End With
    Application.ScreenUpdating = False
    For Each yRg In xRg.Rows
        yRg.Sort Key1:=yRg.Cells(1, 1), _
        Order1:=xlAscending, _
        Header:=xlNo, _
        Orientation:=xlSortRows
    Next yRg
    With Application
        .ScreenUpdating = True
        .EnableEvents = True
        .Calculation = xlCalculationAutomatic
    End With
    Application.ScreenUpdating = True
End Sub

4. След това натиснете F5 ключ за изпълнение на този код, данните във всеки ред са сортирани незабавно във възходящ ред, вижте екранната снимка:


 Сортирайте няколко колони поотделно

За да сортирате данните във всяка колона поотделно, следните два метода могат да ви направят услуга.

Сортирайте няколко колони независимо наведнъж с формула

1. Копирайте етикетите на колоните на друго място, където искате да получите сортирания резултат.

2. След това въведете формулата по-долу в празна клетка – F3 и натиснете Ctrl + Shift + Enter клавиши заедно, за да получите първия резултат, след това плъзнете манипулатора за попълване надолу, за да копирате тази формула в други редове, вижте екранната снимка:

=INDEX(A$3:A$6,MATCH(ROWS(A$3:A3),COUNTIF(A$3:A$6,"<="&A$3:A$6),0))

3. Продължете да избирате клетките с формули в първия ред (F3:F6) и плъзнете манипулатора за попълване надясно, за да копирате формулата в други колони. Сега стойностите във всяка колона са сортирани индивидуално във възходящ ред, както е показано на екранната снимка по-долу:


Сортирайте няколко колони независимо наведнъж с VBA код

За да сортирате данните в няколко колони независимо, следният VBA код също може да ви направи услуга, моля, направете следното:

1. Задръжте натиснат ALT + F11 за да отворите Microsoft Visual Basic за приложения прозорец.

2, След това кликнете върху Поставете > Модулии поставете следния код в Модули Window.

VBA код: Сортирайте няколко колони независимо наведнъж

Sub SortIndividualJR()
'Updateby Extendoffice
    Dim xRg As Range
    Dim yRg As Range
    Dim ws As Worksheet
    Set ws = ActiveSheet
    On Error Resume Next
    Set xRg = Application.InputBox(Prompt:="Range Selection:", _
                                    Title:="Kutools for excel", Type:=8)
    Application.ScreenUpdating = False
    For Each yRg In xRg
        With ws.Sort
            .SortFields.Clear
            .SortFields.Add Key:=yRg, Order:=xlAscending
            .SetRange ws.Range(yRg, yRg.End(xlDown))
            .Header = xlNo
            .MatchCase = False
            .Apply
        End With
    Next yRg
    Application.ScreenUpdating = True
End Sub

3. След това натиснете F5 за да изпълните този код и ще се появи поле за подкана, моля, изберете диапазона от данни, който искате да сортирате, вижте екранната снимка:

4. И след това щракнете OK, всяка колона е бързо сортирана индивидуално.


3.8 Сортиране на произволни данни в Excel

Обичайно е да сортираме данните по азбучен ред във възходящ или низходящ ред, но опитвали ли сте някога да сортирате произволно данни в избран диапазон? В този раздел ще говоря за това как да разбъркам диапазон от клетки в произволен ред.

 Сортирайте произволно колона с данни с помощна колона

Обикновено можете да използвате функция RAND, за да получите произволни числа и след това да сортирате данните въз основа на този произволен списък, моля, направете следното:

1. Въведете тази формула: =RAND() в празна клетка до вашите данни и плъзнете манипулатора за попълване надолу, за да попълните списък с произволни числа, както е показано на екранната снимка по-долу:

2. Продължете да избирате клетките с формули и след това щракнете върху DАТА > Сортирай от А до Я or Сортирайте от Z до A както ви е необходимо, в изскачащия прозорец Предупреждение за сортиране поле за подкана, изберете Разширете селекцията, вижте екранна снимка:

3. И след това щракнете Вид бутон, списъкът с данни е разбъркан наведнъж, вижте екранната снимка:


 Сортирайте клетки, редове или колони произволно с невероятна функция

Kutools за Excel поддържа мощна функция – Сортиране на обхват на случаен принцип, с тази функция можете да рандомизирате данни в диапазон от клетки, във всяка колона/ред от селекция или да рандомизирате цели редове или колони наведнъж.

След инсталиране Kutools за Excel, моля, направете следното:

1. Изберете диапазона от данни, който искате да сортирате произволно, и след това щракнете Kutools плюс > Вид > Сортиране на обхват на случаен принцип. Вижте екранна снимка:

2. В Сортиране/избиране на диапазон на случаен принцип диалогов прозорец, под Вид изберете една от следните опции, от които се нуждаете:

  • Цели редове: Разбъркайте произволно целите редове в избрания диапазон.
  • Цели колони: Разбъркайте произволно целите колони в избрания диапазон.
  • Клетки във всеки ред: Разбъркайте клетките във всеки ред поотделно.
  • Клетки във всяка колона: Разбъркайте клетките във всяка колона поотделно.
  • Всички клетки в диапазона: Произволно подреждане на всички клетки в избрания диапазон.

3, След това кликнете върху Ok бутон, данните се рандомизират незабавно.


3.9 Сортирайте списък с дати въз основа на месец, ден или месец и ден

Когато сортирате дати в Excel, функцията Сортиране ще сортира списъка с дати по година, месец и ден по подразбиране, но в някои случаи може да се наложи да подредите датите по месец или ден, или месец и ден, като игнорирате година. Как да решим този проблем в Excel?

 Сортирайте списък с дати по месец или ден с помощна колона

За да сортирате базите на датите само по месец или ден, можете да извлечете номерата на месеците или дните от датите и след това да сортирате датите по извлечената колона с номера на месеци или дни.

1. Моля, въведете формулата по-долу в празна клетка до вашите данни и след това плъзнете манипулатора за попълване надолу, за да копирате тази формула в други клетки, вижте екранната снимка:

=MONTH(B2)        (extract month number)
=ДЕН(B2)             
(номер на ден за извлечение)

2. След като върнете номерата на месеца или деня, продължете да избирате клетките с формули и след това щракнете Дата > Сортирай от А до Я or Сортирайте от Z до A както ви е необходимо, в изскачащия прозорец Предупреждение за сортиране поле за подкана, изберете Разширете селекцията, вижте екранна снимка:

3, След това кликнете върху Вид бутон, датите вече са сортирани по месеци, като се игнорират годините и дните. Вижте екранна снимка:


 Сортирайте списък с дати по месец или ден с няколко кликвания

Ако имате Kutools за Excel, Със своята Разширено сортиране можете да сортирате списък с дати само по месец или ден с няколко кликвания.

След инсталиране Kutools за Excel, моля, изпълнете следните стъпки:

1. Изберете диапазона от данни, който искате да сортирате, и след това щракнете Kutools плюс > Вид > Разширено сортиране.

2. В Разширено сортиране изберете колоната, която искате да сортирате в Колона раздел и изберете месец or ден от Сортиране по падащ списък, накрая посочете реда на сортиране, от който се нуждаете в Поръчка раздел.

Съвети: Ако има заглавки във вашите данни, уверете се Данните ми имат заглавки се проверява. В случай че вашите данни нямат заглавки, моля, махнете отметката.

3, След това кликнете върху OK бутон, данните са сортирани въз основа на месеца или деня, както сте посочили, като игнорирате годината, вижте екранната снимка:


 Сортирайте списък с дати по месец и ден с помощна колона

Сега, ако трябва да сортирате списък с дати само по месец и ден без година, функцията TEXT може да ви помогне да преобразувате дата в текстов низ в посочения формат и след това да приложите функцията за сортиране, както ви е необходимо.

1. Въведете формулата по-долу в празна клетка до вашите данни и след това копирайте тази формула в долната част на вашите данни, месецът и денят са извлечени като текстов низ, както е показано на екранната снимка по-долу:

=TEXT(B2,"MMDD")

2. Продължете да избирате клетките с формула и след това щракнете Дата > Сортирай от А до Я or Сортирайте от Z до A както ви е необходимо, в изскачащия прозорец Предупреждение за сортиране поле за подкана, изберете Разширете селекцията, вижте екранна снимка:

3, След това кликнете върху Вид и сега вашите данни са сортирани само по месец и ден.


3.10 Сортирайте списък с дати въз основа на дни от седмицата

За сортиране на списък с дати въз основа на дни от седмицата, което означава сортиране на дати от понеделник до неделя или от неделя до събота. В този раздел ще представя два метода за завършване на тази задача в Excel.

 Сортирайте списък с дати по дни от седмицата с помощна колона

При сортиране на датите по дни от седмицата ще ви е необходима и помощна колона, за да върнете число, съответстващо на дните от седмицата, и след това да сортирате датите по помощната колона.

1. Моля, въведете или копирайте формулата по-долу в празна клетка и след това плъзнете манипулатора за попълване надолу, за да копирате тази формула в други клетки, вижте екранната снимка:

=WEEKDAY(B2)           (Start from Sunday (1) to Saturday(7))
=ДЕЛИЦА(B2,2)       
(Започва от понеделник (1) до неделя (7))

2. Продължете да избирате клетките с формули и след това щракнете Дата > Сортирай от А до Я or Сортирайте от Z до A както ви е необходимо, в изскачащия прозорец Предупреждение за сортиране поле за подкана, изберете Разширете селекцията, вижте екранна снимка:

3. И след това щракнете върху Вид бутон, за да получите желания резултат от сортирането, вижте екранната снимка:


 Сортирайте списък с дати по дни от седмицата с лесна опция

С помощта на Kutools за ExcelЕ Разширено сортиране можете да разрешите този проблем възможно най-бързо без никаква помощна формула.

След инсталиране Kutools за Excel, моля, направете следното:

1. Изберете диапазона от данни, който ще сортирате, и след това щракнете Kutools плюс > Вид > Разширено сортиране.

2. В Разширено сортиране изберете колоната, която искате да сортирате в Колона раздел и изберете Ден от седмицата от Сортиране по падащ списък, накрая посочете реда на сортиране, от който се нуждаете в Поръчка раздел.

Съвети: Ако има заглавки във вашите данни, уверете се Данните ми имат заглавки се проверява. В случай че вашите данни нямат заглавки, моля, махнете отметката.

3, След това кликнете върху OK бутон, данните са сортирани по дни от седмицата, както ви е необходимо. Вижте екранна снимка:


3.11 Сортирайте списък с дати въз основа на тримесечие

Този раздел ще говори за това как да сортирате списък с дати по тримесечие, като игнорирате годината, ще ви бъдат предоставени два трика.

 Сортирайте списък с дати по тримесечие с помощна колона

Точно като горните решения, трябва да създадете помощна колона за формула, за да извлечете номера на тримесечието от дадените дати и след това да сортирате датите въз основа на тази нова помощна колона.

1. Моля, въведете или копирайте формулата по-долу в празна клетка и след това плъзнете манипулатора за попълване надолу, за да копирате тази формула в други клетки, вижте екранната снимка:

=ROUNDUP(MONTH(B2)/3,0)

2. Продължете да избирате клетките с формули и след това щракнете Дата > Сортирай от А до Я or Сортирайте от Z до A както ви е необходимо, в изскачащия прозорец Предупреждение за сортиране поле за подкана, изберете Разширете селекцията, вижте екранна снимка:

3. И след това щракнете върху Вид диапазонът от данни е сортиран по тримесечие, както е показано на екранната снимка по-долу:


 Сортирайте списък с дати по тримесечие с удобна функция

Ако имате Kutools за Excel инсталиран, на Разширено сортиране може да ви помогне да решите тази задача с няколко кликвания.

1. Изберете диапазона от данни, който искате да сортирате, и след това щракнете Kutools плюс > Вид > Разширено сортиране.

2. В Разширено сортиране изберете колоната, която искате да сортирате в Колона раздел и изберете тримесечие от Сортиране по падащ списък, накрая посочете реда на сортиране, от който се нуждаете в Поръчка раздел.

Съвети: Ако има заглавки във вашите данни, уверете се Данните ми имат заглавки се проверява. В случай че вашите данни нямат заглавки, моля, махнете отметката.

3, Накрая кликнете върху OK и избраният диапазон се сортира по четвърт, както ви е необходимо.


3.12 Сортиране на данни въз основа на имена на месеци или дни от седмицата

Да предположим, че имате списък с имена на месеци като текст, когато сортирате имената на месеците, те ще бъдат подредени по азбучен ред, вместо да бъдат сортирани по месечен ред от януари до декември. Ако трябва да сортирате имената на месеците от януари до декември, персонализираното сортиране във функцията за сортиране може да ви направи услуга.

1. Изберете диапазона от данни, който искате да сортирате въз основа на имената на месеците, и след това щракнете Дата > Вид за да отидете на Вид диалогов прозорец.

2. В Вид диалогов прозорец, в Колона раздел, изберете името на колоната съдържа имената на месеците, в Сортиране на раздел, изберете Стойности на клетката, накрая, в Поръчка раздел, изберете Персонализиран списък, вижте екранна снимка:

Съвети: Ако има заглавки във вашите данни, уверете се Данните ми имат заглавки се проверява. В случай че вашите данни нямат заглавки, моля, махнете отметката.

3. След това изскочи Персонализиран списък диалогов прозорец, изберете пълни имена на месеци (януари, февруари, март, …) или кратки имена (януари, февруари, март…) въз основа на това как месеците са изброени във вашия работен лист, вижте екранната снимка:

4. И след това щракнете OK > OK за да затворите диалоговите прозорци и сега вашите данни са сортирани по име на месеца в хронологичен ред, както е показано на екранната снимка по-долу:

Съвети: За да сортирате по имената на дните от седмицата, изберете пълните имена (неделя, понеделник, вторник, …) или кратките имена (неделя, понеделник, вторник…) в Персонализирани списъци диалогов прозорец, както ви е необходим.


3.13 Сортиране на данни въз основа на четни или нечетни числа

Може да ни е лесно да сортираме числа във възходящ или низходящ ред в Excel, но опитвали ли сте някога да сортирате числата от нечетни към четни или четни към нечетни в списък? В този раздел ще представя някои методи за изпълнение на тази задача.

 Сортирайте данните по четни или нечетни числа с помощна колона

Сортирайки списъка с числа по нечетни или четни числа, трябва да създадете формула за идентифициране на нечетните или четните числа и след това да приложите функцията за сортиране.

1. До списъка с числа, моля, въведете тази формула =ISODD(A2) в празна клетка и след това плъзнете, за да копирате формулата в други клетки, сега можете да видите, че се показват TRUE и FALSE, TRUE показва нечетни числа, а FALSE показва четни числа.

2. Продължете да избирате клетките с формули и след това щракнете Дата > Сортирай от А до Я or Сортирайте от Z до A както ви е необходимо, в изскачащия прозорец Предупреждение за сортиране поле за подкана, изберете Разширете селекцията, вижте екранна снимка:

3, След това кликнете Вид всички четни числа са сортирани заедно и последвани от нечетните числа или обратно. Вижте екранна снимка:


 Сортирайте данните по четни или нечетни числа с полезна функция

С помощта на Kutools за ExcelЕ Разширено сортиране можете бързо да сортирате числата от нечетни към четни числа или обратното.

След инсталиране Kutools за Excel, моля, направете следното:

1. Изберете диапазона от данни, който искате да сортирате, и след това щракнете Kutools плюс > Вид > Разширено сортиране.

2. В Разширено сортиране в диалоговия прозорец щракнете върху колоната, под която искате да сортирате Колона раздел и след това изберете Четно и нечетно число от Сортиране по раздел, след което посочете реда на сортиране (От А до Я сортирайте от четни до нечетни числа и Z до А сортирайте от нечетни до четни числа), вижте екранната снимка:

Съвети: Ако има заглавки във вашите данни, уверете се Данните ми имат заглавки се проверява. В случай че вашите данни нямат заглавки, моля, махнете отметката.

3, И после щракнете върху OK ще получите следните резултати:


3.14 Сортиране на данни въз основа на абсолютни стойности

Ако в колоната съществуват както положителни, така и отрицателни числа, при сортиране числата ще бъдат подредени във възходящ или низходящ ред по подразбиране в Excel. Но в някои случаи може да искате да игнорирате отрицателния знак при сортиране на данни, което означава сортиране на числата по абсолютни стойности. Как да постигнете тази задача в Excel?

 Сортирайте данните по абсолютни стойности с помощна колона

За да сортирате числата по абсолютни стойности, обикновено трябва първо да създадете формула за преобразуване на всички стойности в абсолютни стойности и след това да приложите функцията за сортиране, за да сортирате числата.

1. В съседна празна клетка, B2 например, въведете тази формула =ABS(A2)и след това плъзнете манипулатора за попълване, за да копирате тази формула в други клетки. Сега можете да видите, че всички стойности са преобразувани в абсолютни стойности:

2. Продължете да избирате клетките с формули и след това щракнете Дата > Сортирай от А до Я or Сортирайте от Z до A както ви е необходимо, в изскачащия прозорец Предупреждение за сортиране поле за подкана, изберете Разширете селекцията, вижте екранна снимка:

3, След това кликнете Вид и всички числа са сортирани по абсолютните стойности, както е показано на екранната снимка по-долу:


 Сортирайте данните по абсолютни стойности с удобна опция

Ако сте уморени от създаването на помощна колона, тук ще ви препоръчам Kutools за Excel, Със своята Разширено сортиране функция, можете да сортирате числата по абсолютни стойности директно и лесно.

След инсталиране Kutools за Excel, моля, изпълнете следните стъпки:

1. Изберете диапазона от данни, който искате да сортирате, и след това щракнете Kutools плюс > Вид > Разширено сортиране.

2. В Разширено сортиране в диалоговия прозорец щракнете върху колоната, под която искате да сортирате Колона раздел и след това изберете абсолютен стойност от Сортиране по раздел, след което посочете реда на сортиране, вижте екранната снимка:

Съвети: Ако във вашите данни има заглавки, уверете се, че Моите данни имат заглавки е отметнато. В случай че вашите данни нямат заглавки, моля, махнете отметката.

3, След това кликнете върху OK, всички числа ще бъдат сортирани от най-малките към най-големите или от най-големите към най-малките стойности, като се игнорира отрицателният знак.


Сортирайте данните автоматично при въвеждане или промяна на данни

Функцията за сортиране в Excel не е динамична, ще трябва да сортирате отново данните след всяка промяна или когато се добавят нови данни. В този раздел ще обсъдя как да сортирате вашите данни автоматично всеки път, когато се добави нова стойност във вашия диапазон от данни.


4.1 Автоматично сортиране на числови стойности в колона с формули

За автоматично сортиране на списък с числа във възходящ или низходящ ред можете да използвате формули, базирани на функциите LERGE, SMALL и ROW.

1. Моля, въведете или копирайте формулата по-долу в празна клетка до вашите изходни данни и след това плъзнете манипулатора за попълване надолу към клетките, към които искате да приложите тази формула, и числата ще бъдат подредени от най-малките до най-големите стойности, вижте екранната снимка:

=IFERROR(SMALL($A$2:$A$100,ROWS(B$2:B2)),"")

Забележка: В тази формула, A2: A100 е списъкът с числа, който искате да сортирате автоматично, включително някои празни клетки за нови записи, B2 е клетката, в която въвеждате формулата.

2. Сега, когато променяте изходните данни или въвеждате нови данни, сортираният списък ще се обновява автоматично, както е показано в демонстрацията по-долу:

Съвети: За автоматично сортиране на числата в низходящ ред, моля, приложете формулата по-долу:

=IFERROR(LARGE($A$2:$A$100,ROWS(B$2:B2)),"")


4.2 Автоматично сортиране на текстови стойности в колона с формули

Ако искате автоматично да сортирате текстовите стойности в колона, горната формула няма да работи, тук друга формула може да ви помогне, моля, направете следното:

1. Въведете или копирайте формулата по-долу в празна клетка до вашата колона с данни и след това натиснете Ctrl + Shift + Enter клавиши заедно, за да получите първия текст, след което изберете клетката с формула и плъзнете манипулатора за запълване надолу до клетките, които искате да сортирате, вижте екранната снимка:

=IFERROR(INDEX($A$2:$A$100,MATCH(ROWS($A$2:A2),COUNTIF($A$2:$A$100,">="&$A$2:$A$100),0)),"")

2. От сега нататък, когато въвеждате стойност или променяте оригиналните данни в колона A, текстовите низове в колона B ще бъдат автоматично сортирани във възходящ ред, вижте демонстрацията по-долу:

Съвети: За автоматично сортиране на текстовите низове в низходящ ред, моля, приложете формулата по-долу (не забравяйте да натиснете Ctrl + Shift + Enter ключове):

=IFERROR(INDEX($A$2:$A$100,MATCH(ROWS($A$2:A2),COUNTIF($A$2:$A$100,">="&$A$2:$A$100),0)),"")


4.3 Автоматично сортиране на комбинация от числови и текстови стойности в колона с VBA код

Ако има както числови, така и текстови стойности в колона, за автоматично сортиране на списъка с данни, кодът VBA по-долу може да ви направи услуга.

1. Щракнете с десния бутон върху раздела на листа, където искате автоматично да сортирате данните, и след това изберете Преглед на кода от контекстното меню, в изскачащия прозорец Microsoft Visual Basic за приложения прозорец, моля, копирайте и поставете следния код в празното поле Модули прозорец, вижте екранна снимка:

VBA код: автоматично сортиране, когато данните се въвеждат или променят във възходящ ред:

Private Sub Worksheet_Change(ByVal Target As Range)
'Updateby Extendoffice
    On Error Resume Next
    If Application.Intersect(Target, Application.Columns(1)) Is Nothing Then Exit Sub
    If Target.Count > 1 Then Exit Sub
    Range("A1").Sort Key1:=Range("A2"), Order1:=xlAscending, Header:=xlYes, _
                                        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
End Sub

Забележка: В горния код въведените данни ще бъдат сортирани автоматично в колона A. A1 е заглавката и A2 е първата клетка от списъка с данни.

2. След това запазете и затворете прозореца с кода. Сега, когато въвеждате нови данни или променяте първоначалните данни в колона A, данните ще бъдат автоматично сортирани във възходящ ред. Вижте демонстрацията по-долу:

Съвети: Ако искате да сортирате списъка с данни в низходящ ред, моля, приложете следния код:

VBA код: автоматично сортиране, когато данните се въвеждат или променят в низходящ ред:

Private Sub Worksheet_Change(ByVal Target As Range)
'Updateby Extendoffice
    On Error Resume Next
    If Application.Intersect(Target, Application.Columns(1)) Is Nothing Then Exit Sub
    If Target.Count > 1 Then Exit Sub
    Range("A1").Sort Key1:=Range("A2"), Order1:=xlDescending, Header:=xlYes, _
                                        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
End Sub

Други случаи на сортиране

Може да страдате от други различни изисквания за сортиране в ежедневната си работа. В този раздел ще представя някои други видове сортиране, като сортиране на данни в клетка, сортиране на данни в колона или ред в обратен ред и т.н.


5.1 Сортиране на данни в клетка

За сортиране на текстов низ в рамките на една клетка по азбучен ред, например, за сортиране на текста „HDAW“ като „ADHW“; Или да сортирате няколко думи, разделени със запетая в клетка, като например да сортирате „word, outlook, excel, access“ като „access, excel, outlook, word“. Този раздел ще говори за това как да разрешите този тип сортиране в Excel.

 Сортиране на низови стойности в клетка по азбучен ред

Сортирайки стойността на низ в клетка по азбучен ред, трябва да създадете дефинирана от потребителя функция. Моля, направете следното:

1. Задръж ALT + F11 за да отворите Microsoft Visual Basic за приложения прозорец.

2. Щракнете Поставете > Модулии поставете следния код в Модули Window.

VBA код: Сортирайте текстовата стойност в клетката

Function SortCellContents(xRange As Range)
'Updateby Extendoffice
Dim xArr
Dim xF1, xF2 As Integer
Dim xStrValue As String
Dim xStrT As String
If xRange.Count <> 1 Then
    Exit Function
End If
xStrValue = xRange.Value
ReDim xArr(1 To Len(xStrValue))
For xF1 = 1 To UBound(xArr)
    xArr(xF1) = Mid(xStrValue, xF1, 1)
Next
For xF1 = 1 To UBound(xArr)
    For xF2 = xF1 To UBound(xArr)
        If Asc(xArr(xF2)) < Asc(xArr(xF1)) Then
            xStrT = xArr(xF2)
            xArr(xF2) = xArr(xF1)
            xArr(xF1) = xStrT
        End If
    Next xF2
Next xF1
SortCellContents = Join(xArr, "")
End Function

3. След това запазете и затворете този код, върнете се към работния си лист. И след това въведете тази формула =SortCellContents(A2) в празна клетка, където да върнете резултата, и плъзнете манипулатора за попълване надолу, за да копирате формулата в други клетки, след което всички текстови стойности в клетките ще бъдат сортирани по азбучен ред, вижте екранната снимка:


 Сортирайте текстови низове, разделени с разделител в рамките на клетка по азбучен ред

Ако има няколко думи, които са разделени със специфични разделители в клетка, за да ги сортирате по азбучен ред в клетката, дефинираната от потребителя функция по-долу може да ви помогне.

1. Задръж ALT + F11 за да отворите Microsoft Visual Basic за приложения прозорец.

2. Щракнете Поставете > Модулии поставете следния код в Модули Window.

VBA код: Сортирайте текстови низове, разделени със запетая в клетка

Function SortCellWithSeparator(CellAddress As Range, DelimiterChar As String, IncludeSpaces As Boolean) As String
'Updateby Extendoffice
Dim xRg As Range
Dim xString As String
Dim xF1, xF2 As Integer
Dim xSArr
Dim xStrT As String
Dim xStrValue As String
Set xRg = CellAddress
xStrValue = WorksheetFunction.Substitute(xRg.Value, " ", "")
xSArr = Split(xStrValue, DelimiterChar)
    For xF1 = 0 To UBound(xSArr)
        For xF2 = xF1 + 1 To UBound(xSArr)
                If xSArr(xF2) < xSArr(xF1) Then
                    xStrT = xSArr(xF2)
                    xSArr(xF2) = xSArr(xF1)
                    xSArr(xF1) = xStrT
                End If
        Next xF2
    Next xF1
xStrValue = ""
For xF1 = 0 To UBound(xSArr)
    xStrValue = xStrValue & xSArr(xF1) & DelimiterChar
Next xF1
SortCellWithSeparator = xStrValue
SortCellWithSeparator = Left(SortCellWithSeparator, Len(SortCellWithSeparator) - 1)
If IncludeSpaces = True Then SortCellWithSeparator = WorksheetFunction.Substitute(SortCellWithSeparator, ",", ", ")
End Function

3. След това запазете и затворете този код, върнете се към работния си лист, въведете тази формула =SortCellWithSeparator(A2,",",TRUE) в празна клетка, където да върнете резултата, и след това плъзнете манипулатора за попълване надолу, за да копирате формулата в други клетки, всички текстови низове в клетките ще бъдат сортирани по азбучен ред, вижте екранната снимка:

Забележка: Ако вашите текстови низове са разделени с други разделители, просто трябва да промените запетаята в тази формула на ваш собствен разделител.


5.2 Обърнете / обърнете реда на данните в колона или ред

Понякога може да се наложи да обърнете реда на данните с главата надолу във вертикален диапазон от данни или отляво надясно в хоризонтален диапазон от данни. Този раздел ще ви представи три метода за решаване на тази задача в Excel.

 Обърнете / обърнете реда на данните в колона или ред с формули

Следните формули могат да помогнат за обръщане на реда на данните в колона или ред, моля, направете следното:

Обърнете реда на данните в колона

Моля, въведете или копирайте следната формула в празна клетка, където искате да поставите резултата, и след това плъзнете манипулатора за попълване надолу към клетките, за да върнете стойностите на клетките в обратен ред, вижте екранната снимка:

=OFFSET($A$10,-(ROW(A1)-1),0)

Забележка: В горната формула, A1 е първата клетка и A10 е последната клетка в колоната.


Обърнете реда на данните в ред

Приложете формулата по-долу, за да обърнете реда на данните хоризонтално в ред:

=OFFSET($A$1,,COUNTA(1:1)-COLUMN(A1),)

Забележка: В горната формула, A1 е първата клетка в реда и 1:1 е номерът на реда, който намират вашите данни. Ако данните са в ред 10, трябва да ги промените на 10:10.

След това плъзнете манипулатора за попълване надясно към клетките, докато всички стойности бъдат извлечени, и ще получите всички данни обърнати хоризонтално, вижте екранната снимка:


 Обърнете / обърнете реда на данните в множество колони или редове с VBA код

Горните формули работят добре само за една колона или ред, ако има няколко колони или редове с данни, които трябва да бъдат обърнати, следните VBA кодове могат да ви помогнат.

Обърнете вертикално реда на данните в диапазон от клетки

1. Първо, трябва да архивирате оригиналните си данни и след това задръжте натиснат ALT + F11 за да отворите Microsoft Visual Basic за приложения прозорец.

2. Щракнете Поставете > Модулии поставете следния код в Модули Window.

VBA код: Обърнете диапазон от клетки в обратен ред вертикално

Sub Flipvertically()
'updateby Extendoffice
Dim Rng As Range
Dim WorkRng As Range
Dim Arr As Variant
Dim i As Integer, j As Integer, k As Integer
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
Arr = WorkRng.Formula
For j = 1 To UBound(Arr, 2)
    k = UBound(Arr, 1)
    For i = 1 To UBound(Arr, 1) / 2
        xTemp = Arr(i, j)
        Arr(i, j) = Arr(k, j)
        Arr(k, j) = xTemp
        k = k - 1
    Next
Next
WorkRng.Formula = Arr
End Sub

3. След това натиснете F5 за да изпълните този код и ще се появи поле за подкана, което ви моли да изберете диапазона от данни, който искате да обърнете вертикално, вижте екранната снимка:

4, След това кликнете върху OK бутон, обхватът на данните ще бъде обърнат вертикално, както са показани екранните снимки по-долу:


Обърнете реда на данните в диапазон от клетки хоризонтално

За да обърнете диапазона от данни в хоризонтален ред, моля, приложете следния VBA код:

VBA код: Обърнете диапазон от клетки в обратен ред вертикално

Sub Fliphorizontally()
'updateby Extendoffice
Dim Rng As Range
Dim WorkRng As Range
Dim Arr As Variant
Dim i As Integer, j As Integer, k As Integer
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
Arr = WorkRng.Formula
For i = 1 To UBound(Arr, 1)
    k = UBound(Arr, 2)
    For j = 1 To UBound(Arr, 2) / 2
        xTemp = Arr(i, j)
        Arr(i, j) = Arr(i, k)
        Arr(i, k) = xTemp
        k = k - 1
    Next
Next
WorkRng.Formula = Arr
End Sub

След изпълнение на този код, данните в редовете са обърнати хоризонтално, вижте екранните снимки:


 Обърнете / обърнете реда на данните в колони или редове само с едно щракване

Ако имате Kutools за Excel, Със своята Обръщане на вертикалния диапазон намлява Обръщане на хоризонталния диапазон функции, можете да обърнете диапазона от клетки вертикално и хоризонтално само с едно щракване.

След инсталиране Kutools за Excel, моля, направете следното:

Обърнете вертикално реда на данните в диапазон от клетки

1. Изберете диапазона от данни, който искате да обърнете, и след това щракнете Kutools > Обхват > Обръщане на вертикалния диапазон > Всички / Само обръщане на стойности, вижте екранна снимка:

Съвети: Ако изберете Всички опция, цялото форматиране на клетките ще бъде обърнато едновременно; Ако решите Само обръщане на стойности, само стойностите на клетките ще бъдат обърнати.

2. И тогава диапазонът от данни ще бъде обърнат вертикално наведнъж.


Обърнете реда на данните в диапазон от клетки хоризонтално

1. Изберете диапазона от данни и след това щракнете Kutools > Обхват > Обръщане на хоризонталния диапазон > Обръщане на всички / само стойности, вижте екранна снимка:

Съвети: Ако изберете Всички опция, цялото форматиране на клетките ще бъде обърнато едновременно; Ако решите Само обръщане на стойности, само стойностите на клетките ще бъдат обърнати.

2. След това всички стойности на клетките в селекцията ще бъдат незабавно обърнати хоризонтално, както са показани екранните снимки по-долу:


5.3 Сортирайте разделите на работния лист по азбучен ред или цвят на раздела в Excel

Да предположим, че има голям брой работни листове във вашата работна книга, ако трябва да сортирате разделите на листа по азбучен ред или да сортирате разделите на листа въз основа на цвета на раздела, нормалният метод - плъзгане и пускане на раздели на лист ще загуби много време. В този раздел ще обсъдя някои трикове за подреждане на разделите на листа във възходящ или низходящ ред.

 Сортирайте разделите на работния лист по азбучен ред с VBA код

Следният VBA код може да помогне за сортиране на разделите на листа по азбучен ред във възходящ или низходящ ред, моля, направете следното:

1. Задръж ALT + F11 за да отворите Microsoft Visual Basic за приложения прозорец.

2. Щракнете Поставете > Модулии след това поставете следния макрос в Модули Window.

VBA: Сортирайте всички листове по азбучен ред

Sub SortWorkBook()
'Updateby Extendoffice
Dim xResult As VbMsgBoxResult
xTitleId = "KutoolsforExcel"
xResult = MsgBox("Click Yes to sort sheets in ascending order;" & Chr(10) & "Click No will sort in descending order", vbYesNoCancel + vbQuestion + vbDefaultButton1, xTitleId)
For i = 1 To Application.Sheets.Count
    For j = 1 To Application.Sheets.Count - 1
        If xResult = vbYes Then
            If UCase$(Application.Sheets(j).Name) > UCase$(Application.Sheets(j + 1).Name) Then
                Sheets(j).Move after:=Sheets(j + 1)
            End If
            ElseIf xResult = vbNo Then
                If UCase$(Application.Sheets(j).Name) < UCase$(Application.Sheets(j + 1).Name) Then
                    Application.Sheets(j).Move after:=Application.Sheets(j + 1)
            End If
        End If
    Next
Next
End Sub

3. След това натиснете F5 за да изпълните този макрос, щракнете върху следното подканващо поле Да, всички работни листове ще бъдат сортирани във възходящ азбучен ред; Кликнете Не, всички работни листове ще бъдат сортирани в низходящ азбучен ред, както ви е необходимо.


 Сортирайте разделите на работния лист по азбучен / буквено-цифров ред с мощна функция

Kutools за Excel предоставя мощна функция – Сортиране на листове, с тази функция можете да сортирате работните листове по азбучен или буквено-цифров ред, да сортирате листовете въз основа на цвета на раздела или да обърнете разделите на листа според нуждите.

След инсталиране Kutools за Excel, моля, изпълнете следните стъпки:

1. Отворете работната книга, в която искате да сортирате разделите на листа, и след това щракнете Kutools плюс > Работен лист > Сортиране на листове, вижте екранна снимка:

2. В Сортиране на листове диалоговия прозорец, изберете един тип сортиране, който ви е необходим в десния панел, като напр Алфа сортиране, Буквено-цифрово сортиране. Вижте екранна снимка:

3, След това кликнете върху Ok всички работни листове ще бъдат сортирани въз основа на вида на сортиране, който сте посочили. Вижте екранни снимки:


 Сортирайте разделите на работния лист въз основа на цвета на раздела с VBA код

Обичайно е да сортираме разделите на работния лист по азбучен ред в Excel, но опитвали ли сте някога да сортирате разделите на листа въз основа на цвета на раздела? Кодът VBA по-долу може да помогне за разрешаването на този проблем, моля, направете следното:

1. Задръж ALT + F11 за да отворите Microsoft Visual Basic за приложения прозорец.

2. Щракнете Поставете > Модулии след това поставете следния макрос в Модули Window.

VBA: Сортирайте всички листове въз основа на цвета на раздела

Sub SortWorkBookByColor()
'Updateby20140624
Dim xArray1() As Long
Dim xArray2() As String
Dim n As Integer
Application.ScreenUpdating = False
If Val(Application.Version) >= 10 Then
    For i = 1 To Application.ActiveWorkbook.Worksheets.Count
        If Application.ActiveWorkbook.Worksheets(i).Visible = -1 Then
            n = n + 1
            ReDim Preserve xArray1(1 To n)
            ReDim Preserve xArray2(1 To n)
            xArray1(n) = Application.ActiveWorkbook.Worksheets(i).Tab.Color
            xArray2(n) = Application.ActiveWorkbook.Worksheets(i).Name
        End If
    Next
    For i = 1 To n
        For j = i To n
            If xArray1(j) < xArray1(i) Then
                temp = xArray2(i)
                xArray2(i) = xArray2(j)
                xArray2(j) = temp
                temp = xArray1(i)
                xArray1(i) = xArray1(j)
                xArray1(j) = temp
            End If
        Next
    Next
    For i = n To 1 Step -1
        Application.ActiveWorkbook.Worksheets(CStr(xArray2(i))).Move after:=Application.ActiveWorkbook.Worksheets(Application.ActiveWorkbook.Worksheets.Count)
    Next
End If
Application.ScreenUpdating = True
End Sub

3. След това натиснете F5 за да изпълните този код, листовете с един и същи цвят на раздела ще бъдат сортирани заедно. Вижте екранни снимки:


 Сортирайте разделите на работния лист въз основа на цвета на раздела с невероятна функция

с Kutools за ExcelЕ Сортиране на листове можете също да сортирате разделите на работния лист по цвят бързо и лесно.

След инсталиране Kutools за Excel, моля, направете следното:

1. Щракнете върху Kutools Plus > Работен лист > Сортиране на листове да отидете на Сортиране на листове диалогов прозорец, в Сортиране на листове кликнете върху Сортиране по цвят бутон в десния панел, вижте екранна снимка:

2, След това кликнете върху Ok бутон, листовете с един и същи цвят на раздела ще бъдат подредени заедно, както са показани екранните снимки по-долу:


  • Супер Формула Бар (лесно редактиране на няколко реда текст и формула); Оформление за четене (лесно четене и редактиране на голям брой клетки); Поставяне във филтриран диапазон...
  • Обединяване на клетки/редове/колони и съхраняване на данни; Съдържание на разделени клетки; Комбинирайте дублиращи се редове и сума/средно... Предотвратяване на дублиращи се клетки; Сравнете диапазони...
  • Изберете Дублиран или Уникален редове; Изберете Празни редове (всички клетки са празни); Super Find и Fuzzy Find в много работни тетрадки; Произволен избор...
  • Точно копие Множество клетки без промяна на референтната формула; Автоматично създаване на препратки към множество листа; Вмъкване на куршуми, квадратчета за отметка и други...
  • Любими и бързо вмъкнати формули, диапазони, диаграми и снимки; Шифроване на клетки с парола; Създаване на пощенски списък и изпращайте имейли...
  • Извличане на текст, Добавяне на текст, Премахване по позиция, Премахване на пространството; Създаване и отпечатване на междинни суми за пейджинг; Конвертиране на съдържание и коментари между клетки...
  • Супер филтър (запазване и прилагане на филтърни схеми към други листове); Разширено сортиране по месец/седмица/ден, честота и други; Специален филтър с удебелен шрифт, курсив...
  • Комбинирайте работни тетрадки и работни листове; Обединяване на таблици въз основа на ключови колони; Разделете данните на няколко листа; Пакетно конвертиране на xls, xlsx и PDF...
  • Групиране на обобщена таблица по номер на седмицата, ден от седмицата и други... Показване на отключени, заключени клетки с различни цветове; Маркирайте клетки, които имат формула/име...
kte tab 201905
  • Разрешете редактиране и четене с раздели в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
  • Отваряйте и създавайте множество документи в нови раздели на един и същ прозорец, а не в нови прозорци.
  • Увеличава вашата производителност с 50% и намалява стотици кликвания на мишката за вас всеки ден!
officetab отдолу
Comments (1)
Rated 4 out of 5 · 1 ratings
This comment was minimized by the moderator on the site
Cho mình hỏi Cách tạo thanh công ngày và giờ đến ngày và giờ
Và xuất dữ liệu
Rated 4 out of 5
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations