Hoe om lys te genereer gebaseer op kriteria in Excel (4 metodes)

  • Deel Dit
Hugh West

In Excel moet jy soms 'n lys op grond van kriteria genereer. Vandag gaan ons jou wys hoe om 'n lys op grond van kriteria te genereer. Vir hierdie sessie gebruik ons ​​Excel 365, alhoewel dit aanbeveel word om hierdie weergawe te gebruik, gebruik gerus joune.

Eerste dinge, kom ons leer oor die datastel wat die basis van ons voorbeelde is.

Hier het ons 'n datastel van verskeie mense van verskillende liggings saam met hul voertuie. Deur hierdie data te gebruik, sal ons 'n lys op grond van kriteria vorm.

Neem kennis dat dit 'n basiese tabel is met dummy-data om dinge eenvoudig te hou. In 'n praktiese scenario kan jy 'n baie groter en meer komplekse datastel teëkom.

Oefenwerkboek

Jy is welkom om die oefenwerkboek van die volgende skakel af te laai.

Excel Genereer lys gebaseer op kriteria.xlsx

Genereer lys gebaseer op kriteria

Ons sal byvoorbeeld 'n lys mense skep op grond van hul streek.

Aangesien dit 'n klein datastel is, weet ons dat daar 4 streke is. Ons het die streke se name gestoor en sal die lys op grond van die streek vind.

1. Gebruik INDEX-SMALL Kombinasie om lys te genereer

Hier het ons 'n lys nodig, so ons formule moet een wees wat die veelvuldige waardes uit die tabel sal haal. Vir daardie taak kan ons 'n kombinasie van INDEKS en KLEIN funksies gebruik.

Om hierdie funksies te ken, kyk na hierdie artikels: INDEKS, KLEIN.

Saam met hierdie twee sal ons 'n paar helperfunksies benodig, IF , RY en IFERROR . Gaan die artikels na vir verdere inligting: IF, ROW, IFERROR.

Kom ons ondersoek die formule

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

Hier het elke funksie sy doel. Die INDEKS -funksie gee die waarde terug vanaf die skikking B2:B12 (Naamkolom) en die groot KLEIN -gedeelte verskaf die rynommer wat gehaal moet word.

IF, binne die SMALL, kontroleer of die kriteria ooreenstem of nie, en die RY funksie herhaal oor die selle van die kolom .

Dan dui die buitenste RY die k-de waarde vir die KLEIN funksie aan. Saam gee hierdie funksies die rynommer terug en INDEKS gee die resultaat.

IFERROR om enige fout wat uit die formule mag ontstaan, te hanteer.

Sleep af en jy sal al die mense van die gegewe streek kry.

Skryf net so die formule vir die ander streke (die formule is dieselfde, skuif net die sel).

'n Alternatiewe INDEKS-KLEIN kombinasie

Ons kan die formule op 'n alternatiewe manier skryf. Die funksies wat vir die formule gebruik word, gaan dieselfde wees as die vorige. Slegs die aanbieding sal anders wees.

Kom ons kyk na die formule

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

Weereens, jy moet CTRL + SHIFT + ENTER druk vir die uitvoering van dieformule.

Daar is 'n effense verskil tussen hierdie twee formules, kan jy hulle onderskei?

Ja, in ons vroeëre formule, het ons 1 afgetrek by die heel einde van die KLEIN gedeelte, maar hier het ons 1 binne die IF -gedeelte afgetrek.

Die doel om 1 af te trek is om na die regte rynommer te kanaliseer. Vroeër het ons dit uiteindelik gedoen, hier het dit vroeër gedoen en gaan voort na die verdere bewerking.

Skryf die formule vir die ander kriteria om die lys te voltooi.

Lees meer: ​​Hoe om 'n lys binne 'n sel in Excel te maak (3 vinnige metodes)

2. Gebruik AGGREGATE-funksie om lys te genereer

Excel bied jou 'n funksie genaamd AGGREGATE wat jy kan gebruik om verskeie take uit te voer. Hier kan ons die funksie gebruik om 'n lys op grond van kriteria te genereer.

Die AGGREGATE funksie gee 'n totale berekening soos AVERAGE, COUNT, MAX, ens.

Die sintaksis vir die AGGREGATE funksie is soos volg:

AGGREGATE(function_number,behavior_options, range)

funksie_nommer: Hierdie getal spesifiseer watter berekening gemaak moet word.

behavior_options: Stel hierdie met behulp van nommer. Hierdie nommer dui aan hoe die funksie sal optree.

reeks: Bereik wat jy wil saamvoeg.

Die AGGREGATE funksie doen verskeie take, dus nommers van funksies is vooraf gedefinieer daarin. Ons lys 'n paar gereeld gebruikte funksiesgetalle

Funksie Funksie_nommer
GEMIDDELDE 1
COUNT 2
COUNTA 3
MAX 4
MIN 5
PRODUK 6
SOM 9
GROOT 14
KLEIN 15

Om meer oor die funksie te wete te kom, besoek die Microsoft Support -werf.

Kom ons kyk nou na die formule,

=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),"")

Hier saam met die AGGREGATE funksie, het ons INDEX<8 gebruik>. INDEKS hou die skikking wat waardes gee gebaseer op passings wat by die latere deel van die formule gevind word.

Jy kan sien dat ons 15 as die <30 gebruik het>funksie_nommer in AGGREGATE . Uit die tabel hierbo, kan jy 15 oproepe vir die KLEIN funksie operasie sien. Kan jy nou verband hou?

Ja, ons het die INDEKS-KLEIN -formule op die manier van die AGGREGATE -funksie uitgevoer.

6 vir die gedrag opsie, wat ignoreer foutwaardes aandui.

Skryf die formule vir die res van die waardes.

Soortgelyke lesings

  • Hoe om 'n taaklys in Excel te maak (3 maklike metodes)
  • Skep 'n poslys in Excel (2 metodes)
  • Hoe om 'n genommerde lys in Excel te maak (8 metodes)

3. Genereer unieke lys deur gebruik te maak van INDEX-MATCH-COUNTIF

Ons kan 'n unieke lys op grond van kriteria skep. Daarvoor kan ons die kombinasie van INDEKS , MATCH en COUNTIF gebruik.

COUNTIF tel selle in 'n reeks wat aan 'n enkele voorwaarde voldoen. En MATCH vind die posisie van 'n opsoekwaarde in 'n reeks. Vir meer inligting oor hierdie funksies, besoek hierdie artikels: MATCH, COUNTIF.

Kom ons ondersoek die formule

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

In hierdie formule: B2: B12 is die kolomreeks wat die unieke waardes bevat waaruit jy wil onttrek, C2:C12 is die kolom wat die kriterium bevat waarop jy gebaseer is G2 dui die kriterium aan.

Binne die MATCH -funksie het ons 0 verskaf as die opsoek-skikking, en vir opsoekreeks het ons die IF gebruik gedeelte wat COUNTIF bevat. Dus, hierdie gedeelte gee die waarde terug solank 0 gevind word. Die waarde hier werk as die rynommer vir INDEKS .

Sleep dit af en jy sal al die unieke waardes kry.

Moenie vergeet om die CTRL+SHIFT + ENTER te gebruik om die formule uit te voer nie.

Dit was 'n eervolle vermelding van die benaderings om 'n unieke lys. Volg hierdie artikel om te weet oor die generering van 'n unieke lys gebaseer op kriteria .

4. Gebruik FILTER-funksie om lys gebaseer op kriteria te genereer

As jy Excel 365 gebruik, dan kan jy die taak uitvoer met 'n enkele ingeboude-in funksie genaamd FILTER .

Die FILTER funksie filter 'n reeks data gebaseer op gegewe kriteria en onttrek ooreenstemmende rekords. Om te weet oor die funksie, besoek hierdie artikel: FILTER .

Nou sal ons formule die volgende een wees,

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

B2:B12 is die skikking wat gefiltreer moet word. Dan het ons die voorwaarde verskaf, gebaseer op wat ons die lys sal genereer.

Hier sal jy nie nodig hê om die formule af te sleep nie, op een slag sal dit al die waardes verskaf en die lys vervul.

Lees meer: ​​ Hoe om 'n alfabetiese lys in Excel te maak (3 maniere)

Gevolgtrekking

Dit is al vir vandag. Ons het verskeie maniere gelys om 'n lys op grond van kriteria te genereer. Hoop jy sal dit nuttig vind. Voel vry om kommentaar te lewer as iets moeilik lyk om te begryp. Laat weet ons enige ander metodes wat ons hier gemis het.

Hugh West is 'n hoogs ervare Excel-afrigter en ontleder met meer as 10 jaar ondervinding in die bedryf. Hy het 'n Baccalaureusgraad in Rekeningkunde en Finansies en 'n Meestersgraad in Besigheidsadministrasie. Hugh het 'n passie vir onderrig en het 'n unieke onderrigbenadering ontwikkel wat maklik is om te volg en te verstaan. Sy kundige kennis van Excel het duisende studente en professionele persone wêreldwyd gehelp om hul vaardighede te verbeter en uit te blink in hul loopbane. Deur sy blog deel Hugh sy kennis met die wêreld, en bied gratis Excel-tutoriale en aanlyn opleiding aan om individue en besighede te help om hul volle potensiaal te bereik.