Hur man genererar en lista baserad på kriterier i Excel (4 metoder)

  • Dela Detta
Hugh West

I Excel kan du ibland behöva generera en lista baserad på kriterier. Idag ska vi visa dig hur du genererar en lista baserad på kriterier. För den här sessionen använder vi Excel 365, men det rekommenderas att använda den här versionen, men du kan gärna använda din version.

Först och främst ska vi bekanta oss med datasetet som ligger till grund för våra exempel.

Här har vi ett dataset med flera personer från olika platser tillsammans med deras fordon. Med hjälp av dessa data kommer vi att skapa en lista baserad på kriterier.

Observera att detta är en enkel tabell med dummy data för att hålla det enkelt. I ett praktiskt scenario kan du stöta på en mycket större och mer komplex datamängd.

Arbetsbok för praktiska övningar

Du är välkommen att ladda ner arbetsboken från följande länk.

Excel genererar en lista baserad på kriterier.xlsx

Generera en lista baserad på kriterier

Vi skapar t.ex. en lista över personer utifrån deras region.

Eftersom det är ett litet dataset vet vi att det finns fyra regioner. Vi har lagrat regionernas namn och hittar listan utifrån regionen.

1. Använd kombinationen INDEX-SMALL för att skapa en lista.

Här behöver vi en lista, så vår formel bör vara en formel som hämtar flera värden från tabellen. För den uppgiften kan vi använda en kombination av INDEX och SMALL funktioner.

Läs dessa artiklar om du vill veta mer om dessa funktioner: INDEX, SMALL.

Tillsammans med dessa två behöver vi några hjälpfunktioner, IF , ROW och IFERROR Läs artiklarna för mer information: IF, ROW, IFERROR.

Låt oss utforska formeln

=IFERROR(INDEX($B$2:$B$12,SMALL(IF($C$2:$C$12=$G$2,ROW($B$2:$B$12)),ROW(1:1))-1,1),"")

Här har varje funktion sitt syfte. INDEX funktionen returnerar värdet från matrisen B2:B12 (namnkolumnen) och den stora SMALL delen anger det radnummer som ska hämtas.

IF, inom den SMALL, kontrollerar om kriterierna är uppfyllda eller inte, och ROW funktionen itererar över cellerna i kolumnen.

Därefter ska den yttre ROW betecknar det k:e värdet för SMALL Tillsammans returnerar dessa funktioner radnumret och INDEX återger resultatet.

IFERROR för att hantera eventuella fel som kan uppstå på grund av formeln.

Om du drar nedåt får du fram alla personer från den aktuella regionen.

På samma sätt skriver du formeln för de andra regionerna (formeln är densamma, bara cellen flyttas).

En alternativ kombination av INDEX-SMALL

Vi kan skriva formeln på ett annat sätt. De funktioner som används för formeln kommer att vara desamma som tidigare. Endast presentationen kommer att vara annorlunda.

Låt oss se formeln

=IFERROR(INDEX($B$2:$B$12,SMALL(IF($C$2:$C$12=G$2,ROW($B$2:$B$12)-1),ROW(1:1)),1),"")

Återigen måste du trycka på CTRL + SHIFT + ENTER för att utföra formeln.

Det finns en liten skillnad mellan dessa två formler, kan du skilja dem åt?

Ja, i vår tidigare formel har vi subtraherat 1 i slutet av SMALL del, men här har vi dragit bort 1 inom den IF del.

Syftet med att subtrahera 1 är att kanalisera till rätt radnummer. Tidigare har vi gjort det till sist, här har vi gjort det tidigare och fortsätter till den fortsatta operationen.

Skriv formeln för de andra kriterierna för att komplettera listan.

Läs mer: Hur man gör en lista i en cell i Excel (3 snabba metoder)

2. Använd funktionen AGGREGATE för att skapa en lista

Excel ger dig en funktion som heter AGGREGATE som du kan använda för att utföra olika uppgifter. Här kan vi använda funktionen för att skapa en lista utifrån kriterier.

AGGREGATE funktionen returnerar en aggregerad beräkning som AVERAGE, COUNT, MAX osv.

Syntaxen för AGGREGATE funktionen är följande:

AGGREGERA(funktion_nummer,beteendealternativ, intervall)

funktionsnummer: Detta nummer anger vilken beräkning som ska göras.

behavior_options: Ställ in detta nummer med hjälp av ett nummer som anger hur funktionen kommer att bete sig.

sortiment: Det intervall som du vill sammanställa.

AGGREGATE funktionen utför flera uppgifter, så ett antal funktioner är fördefinierade i den. Vi listar några ofta använda funktionsnummer.

Funktion Funktionsnummer
MEDELVÄRDE 1
RÄKNA 2
LAND 3
MAX 4
MIN 5
PRODUKT 6
SUMMA 9
LARGE 14
SMALL 15

Om du vill veta mer om funktionen kan du besöka Microsoft Support plats.

Låt oss nu se formeln,

=IFERROR(INDEX($B$2:$B$12,AGGREGAT(15,6,IF($C$2:$C$12=G$2,RAD($B$2:$B$12)-1),RAD(1:1)),1),""")

Här, tillsammans med AGGREGATE funktionen har vi använt oss av INDEX . INDEX innehåller en matris som returnerar värden baserat på matchningar som hittats i den senare delen av formeln.

Du kan se att vi har använt oss av 15 som funktion_nummer AGGREGATE Av tabellen ovan framgår följande 15 uppmanar till att SMALL kan du relatera till detta?

Ja, vi har utfört den INDEX-SMALL formel på samma sätt som i AGGREGATE funktion.

6 för beteendealternativet, som anger ignorera felvärden .

Skriv formeln för resten av värdena.

Liknande läsningar

  • Hur man gör en att göra-lista i Excel (3 enkla metoder)
  • Skapa en sändlista i Excel (2 metoder)
  • Hur man gör en numrerad lista i Excel (8 metoder)

3. Skapa en unik lista med hjälp av INDEX-MATCH-COUNTIF

Vi kan skapa en unik lista baserad på kriterier. För detta kan vi använda kombinationen av INDEX , MATCH , och COUNTIF .

COUNTIF räknar celler i ett intervall som uppfyller ett enda villkor. och MATCH lokaliserar positionen för ett uppslagsvärde i ett intervall. För mer information om dessa funktioner, se dessa artiklar: MATCH, COUNTIF.

Låt oss utforska formeln

=IFERROR(INDEX($B$2:$B$12, MATCH(0, IF(G$2=$C$2:$C$12, COUNTIF($G$2:$G2, $B$2:$B$12), ""), 0)),""),"")

I denna formel: B2:B12 är det kolumnområde som innehåller de unika värden som du vill extrahera från, C2:C12 är kolumnen som innehåller det kriterium som du baserar dig på G2 anger kriteriet.

Inom MATCH funktionen har vi angett 0 som lookup_array, och för lookup_range har vi använt oss av IF del som innehåller COUNTIF Så denna del returnerar värdet så länge 0 hittas. Värdet här fungerar som radnummer för INDEX .

Dra den nedåt så hittar du alla unika värden.

Glöm inte att använda CTRL+SHIFT + ENTER för att utföra formeln.

Detta var ett hedersomnämnande bland metoderna för att skapa en unik lista. Följ den här artikeln för att få veta hur man skapar en lista. unik lista baserad på kriterier .

4. Använda FILTER-funktionen för att generera en lista utifrån kriterier

Om du använder Excel 365 kan du utföra uppgiften med en enda inbyggd funktion som heter FILTER .

FILTER filtrerar ett datamaterial utifrån givna kriterier och tar fram matchande poster. Läs mer om funktionen i den här artikeln: FILTER .

Vår formel blir nu följande,

=FILTER($B$2:$B$12,$C$2:$C$12=G$2)

B2:B12 är matrisen som ska filtreras. Sedan har vi angett villkoret, utifrån vilket vi kommer att generera listan.

Här behöver du inte dra ner formeln, utan den ger dig alla värden på en gång och fyller listan.

Läs mer: Hur man gör en alfabetisk lista i Excel (3 sätt)

Slutsats

Det var allt för idag. Vi har listat flera olika sätt att skapa en lista utifrån kriterier. Hoppas att du tycker att detta är till hjälp. Kommentera gärna om något verkar svårt att förstå. Låt oss veta om det finns andra metoder som vi har missat här.

Hugh West är en mycket erfaren Excel-tränare och analytiker med över 10 års erfarenhet i branschen. Han har en kandidatexamen i redovisning och ekonomi och en magisterexamen i företagsekonomi. Hugh har en passion för undervisning och har utvecklat ett unikt undervisningssätt som är lätt att följa och förstå. Hans expertkunskap om Excel har hjälpt tusentals studenter och yrkesverksamma över hela världen att förbättra sina färdigheter och utmärka sig i sina karriärer. Genom sin blogg delar Hugh med sig av sin kunskap med världen, och erbjuder gratis Excel-handledning och onlineutbildning för att hjälpa individer och företag att nå sin fulla potential.