Съдържание
В Excel понякога може да ви се наложи да генерирате списък въз основа на критерии. Днес ще ви покажем как да генерирате списък въз основа на критерии. За тази сесия използваме Excel 365, въпреки че е препоръчително да използвате тази версия, не се колебайте да използвате вашата.
Първо, нека се запознаем с набора от данни, който е в основата на нашите примери.
Тук имаме набор от данни за няколко души от различни места заедно с техните превозни средства. Използвайки тези данни, ще съставим списък въз основа на критерии.
Обърнете внимание, че това е основна таблица с фиктивни данни, за да се опростят нещата. В практиката може да се сблъскате с много по-голям и по-сложен набор от данни.
Практическа работна тетрадка
Можете да изтеглите работната тетрадка от следния линк.
Excel Генериране на списък въз основа на Criteria.xlsxГенериране на списък въз основа на критерии
Например, ще създадем списък с хора въз основа на техния регион.
Тъй като това е малка съвкупност от данни, знаем, че има 4 региона. Запазихме имената на регионите и ще намерим списъка въз основа на региона.
1. Използване на комбинацията INDEX-SMALL за генериране на списък
Тук се нуждаем от списък, така че формулата ни трябва да е такава, че да извлича множество стойности от таблицата. За тази задача можем да използваме комбинация от INDEX и МАЛЪК функции.
За да се запознаете с тези функции, разгледайте тези статии: ИНДЕКС, МАЛЪК.
Наред с тези две функции ще ни трябват и няколко помощни функции, IF , РЕД и IFERROR . Проверете статиите за допълнителна информация: IF, ROW, IFERROR.
Нека разгледаме формулата
=IFERROR(INDEX($B$2:$B$12,SMALL(IF($C$2:$C$12=$G$2,ROW($B$2:$B$12)),ROW(1:1))-1,1),"")
Тук всяка функция има своето предназначение. INDEX функцията връща стойността от масива B2:B12 (колона "Име") и голямата МАЛЪК частта предоставя номера на реда, който трябва да се извлече.
IF, в рамките на МАЛКО, проверява дали критериите са изпълнени или не, а РЕД Функцията итерира по клетките на колоната.
Тогава външната РЕД обозначава k-тата стойност за МАЛЪК Заедно тези функции връщат номера на реда и INDEX връща резултата.
IFERROR за справяне с грешки, които могат да възникнат във формулата.
Като плъзнете надолу, ще получите всички хора от дадения регион.
По подобен начин напишете формулата за другите региони (формулата е същата, само се измества клетката).
Алтернативна комбинация INDEX-SMALL
Можем да напишем формулата по алтернативен начин. Функциите, използвани за формулата, ще бъдат същите като предишните. Различно ще бъде само представянето.
Нека видим формулата
=IFERROR(INDEX($B$2:$B$12,SMALL(IF($C$2:$C$12=G$2,ROW($B$2:$B$12)-1),ROW(1:1)),1),"")
Отново трябва да натиснете CTRL + SHIFT + ENTER за изпълнение на формулата.
Има малка разлика между тези две формули, можете ли да ги разграничите?
Да, в предишната ни формула извадихме 1 в самия край на МАЛЪК част, но тук сме извадили 1 в рамките на IF част.
Целта на изваждането на 1 е насочването към правилния номер на реда. По-рано направихме това най-накрая, тук го направихме по-рано и пристъпихме към по-нататъшната операция.
Напишете формулата за другите критерии, за да попълните списъка.
Прочетете още: Как да създадете списък в клетка в Excel (3 бързи метода)
2. Използване на функцията AGGREGATE за генериране на списък
Excel ви предоставя функция, наречена AGGREGATE които можете да използвате за изпълнение на различни задачи. Тук можем да използваме функцията, за да генерираме списък въз основа на критерии.
Сайтът AGGREGATE функцията връща обобщено изчисление като AVERAGE, COUNT, MAX и т.н.
Синтаксисът за AGGREGATE функцията е следната:
AGGREGATE(function_number,behavior_options, range)
function_number: Това число определя кое изчисление трябва да се направи.
behavior_options: Задайте това число с помощта й. Това число означава как ще се държи функцията.
обхват: Обхват, който искате да обобщите.
Сайтът AGGREGATE функцията изпълнява няколко задачи, така че в нея са предварително дефинирани редица функции. Изброяваме няколко често използвани номера на функции
Функция | Function_number |
---|---|
СРЕДНА СТОЙНОСТ | 1 |
COUNT | 2 |
COUNTA | 3 |
MAX | 4 |
MIN | 5 |
ПРОДУКТ | 6 |
SUM | 9 |
ГОЛЯМ | 14 |
МАЛЪК | 15 |
За да научите повече за функцията, посетете Поддръжка от Microsoft сайт.
Сега нека видим формулата,
=IFERROR(INDEX($B$2:$B$12,AGGREGATE(15,6,IF($C$2:$C$12=G$2,ROW($B$2:$B$12)-1),ROW(1:1)),1),"")
Тук заедно с AGGREGATE използвахме функцията INDEX . INDEX съдържа масив, който връща стойности въз основа на съвпаденията, намерени в по-късната част на формулата.
Можете да видите, че сме използвали 15 като function_number в AGGREGATE От горната таблица можете да видите 15 призовава за МАЛЪК операция на функцията. Сега можете ли да се свържете?
Да, ние изпълнихме INDEX-SMALL формула по начина на AGGREGATE функция.
6 за опцията за поведение, която обозначава пренебрегване на стойности за грешки .
Напишете формулата за останалите стойности.
Подобни четива
- Как да направите списък със задачи в Excel (3 лесни метода)
- Създаване на пощенски списък в Excel (2 метода)
- Как да направите номериран списък в Excel (8 метода)
3. Генериране на уникален списък с помощта на INDEX-MATCH-COUNTIF
Можем да създадем уникален списък въз основа на критерии. За тази цел можем да използваме комбинацията от INDEX , MATCH , и COUNTIF .
COUNTIF брои клетките в диапазон, който отговаря на едно условие. И MATCH определя позицията на стойност за търсене в диапазон. За повече информация относно тези функции посетете тези статии: MATCH, COUNTIF.
Нека разгледаме формулата
=IFERROR(INDEX($B$2:$B$12, MATCH(0, IF(G$2=$C$2:$C$12, COUNTIF($G$2:$G2, $B$2:$B$12), ""), 0)),"")
В тази формула: B2:B12 е обхватът на колоната, който съдържа уникалните стойности, от които искате да извлечете, C2:C12 е колоната, която съдържа критерия, на който се базирате. G2 посочва критерия.
В рамките на MATCH предоставихме 0 като lookup_array, и за lookup_range използвахме IF част, съдържаща COUNTIF . Така че тази част връща стойността, докато е намерена 0. Стойността тук работи като номер на реда за INDEX .
Плъзнете го надолу и ще откриете всички уникални стойности.
Не забравяйте да използвате CTRL+SHIFT + ENTER за изпълнение на формулата.
Това е почетно място сред подходите за генериране на уникален списък. Следвайте тази статия, за да научите повече за генерирането на уникален списък въз основа на критерии .
4. Използване на функцията FILTER за генериране на списък въз основа на критерии
Ако използвате Excel 365, можете да изпълните задачата с една вградена функция, наречена ФИЛТЪР .
Сайтът ФИЛТЪР функцията филтрира диапазон от данни въз основа на зададени критерии и извлича съответстващи записи. За да научите повече за функцията, посетете тази статия: ФИЛТЪР .
Сега нашата формула ще бъде следната,
=ФИЛТЪР($B$2:$B$12,$C$2:$C$12=G$2)
B2:B12 е масивът, който трябва да се филтрира. След това сме задали условието, въз основа на което ще генерираме списъка.
Тук няма да е необходимо да плъзгате надолу формулата, а с едно движение ще предоставите всички стойности и ще попълните списъка.
Прочетете още: Как да направите азбучен списък в Excel (3 начина)
Заключение
Това е всичко за днес. Изброихме няколко начина за генериране на списък въз основа на критерии. Надявам се, че това ще ви бъде полезно. Не се колебайте да коментирате, ако нещо ви се струва трудно за разбиране. Споделете с нас други методи, които сме пропуснали тук.