Sådan udtrækkes data fra Excel baseret på kriterier (5 måder)

  • Del Dette
Hugh West

Nogle gange kan vi have brug for at søge efter bestemte data til at arbejde med. Men når datasættet er stort, er det virkelig svært at finde det, vi leder efter. I denne artikel viser vi dig, hvordan du kan udtrække data fra Excel på grundlag af forskellige kriterier.

Download skabelon til praksis

Du kan downloade den gratis Excel-skabelon til øvelser her.

Udtrække data baseret på kriterier.xlsx

5 måder at udtrække data fra Excel på baseret på kriterier

I dette afsnit gennemgås 5 forskellige måder at udtrække data fra Excel på baseret på bestemte kriterier.

1. Implementering af Array-formel til at udtrække data fra Excel baseret på områdekriterier

Ud fra følgende datasæt som eksempel vil vi beskrive processen med at udtrække data baseret på rækkevidde. Antag, at vi har et datasæt med oplysninger om studerende, hvorfra vi kun ønsker at hente de studerende, der har fået Karakterer fra 80 til 100 .

Trinene til at udtrække data baseret på et bestemt område ved hjælp af Array formlen er angivet nedenfor.

Trin:

  • Først skal du gemme betingelsen i andre celler for at kunne arbejde med dem senere. Det betyder, at da vi vil udtrække oplysninger om de elever, der fik Karakterer fra 80 til 100 , vi lagrede 80 som startværdi og 100 som slutværdi i den Celler I4 og I5 henholdsvis.

Vi skal også gemme kolonnen, hvorfra vi vil søge efter vores gemte værdier. Det vil sige, at markeringerne 80 og 100 er i kolonnen Kolonne med mærker som er den 3. kolonne i vores datasæt, så vi gemte 3 som kolonneværdi Celle I6 .

  • For det andet, i en anden celle, hvor du vil have resultatet (vi ville have vores resultat i Celle G11 ), skriv følgende formel,
  • =INDEX($B$5:$E$14,SMALL(IF((INDEX($B$5:$E$14,,$I$6)=$I$4),MATCH(ROW($B$5:$E$14),ROW($B$5:$E$14)),"")),ROWS(G11:$G$11)),COLUMNS($A$1:A1)))

    • For det tredje skal du trykke på Ctrl + Shift + Enter på dit tastatur.

    Derefter får du de første uddragne data, der svarer til din betingelse, i resultatcellen. F.eks. Johnny hvis ID er 3 fik 80 Mark Biologi og hans post er gemt i datasættet før andre, så vi fik Johnny's ID 3 i resultatcellen.

    • Træk nu rundt i kolonnerne og rækkerne ved at Håndtag til påfyldning for kun at hente oplysninger om de studerende, der fik Karakterer fra 80 til 100 .

    Opdeling af formler

    • INDEX($B$5:$E$14,,$I$6)
      • Output: {60;30;80;55;87;95;100;42;25;18}
      • Forklaring: INDEX-funktionen returnerer normalt en enkelt værdi eller en hel kolonne eller række fra et givet celleområde. 3 er gemt i Celle $I$6 , så den returnerer hele kolonnen nej 3 ( Marks kolonne) fra hele datasættets område ( $B$5:$E$14 ) som output.
    • INDEX($B$5:$E$14,,$I$6)<=$I$5 -> bliver,
      • {60;30;80;55;87;95;100;42;25;18}<=100
      • Output: {TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE}
      • Forklaring: Vi gemte 100 i den Celle $I$5 Da alle værdierne er mindre end 100 ($I$5) , så den returnerer en kolonne fuld af TRUE .

    På samme måde,

    • INDEX($B$5:$E$14,,$I$6)>=$I$4 -> bliver,
      • { 60;30;80;55;87;95;100;42;25;18}>=80
      • Output: {FALSK;FALSK;SAND;SAND;FALSK;SAND;SAND;SAND;SAND;SAND;FALSK;FALSK;FALSK;FALSK}
      • Forklaring: Vi gemte 80 i den Celle $I$4 Så den returnerer TRUE når værdien fra kolonnen er lig med eller større end 80 ; ellers returnerer den FALSK .
    • (INDEKS($B$5:$E$14,,$I$6)=$I$4) -> bliver,
      • {TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE}
      • Output: {0;0;0;1;1;0;0;1;1;1;1;0;0;0;0;0}
      • Forklaring: Boolske værdier har numeriske ækvivalenter, TRUE = 1 og FALSK = 0 (nul) De konverteres, når der udføres en aritmetisk operation i en formel.
    • RÆKKE($B$5:$E$14)
      • Output: {5;6;7;8;9;10;11;12;13;14}
      • Forklaring: Funktionen ROW beregner rækkenummeret for en cellereference.
    • MATCH(ROW($B$5:$E$14),ROW($B$5:$E$14))) -> bliver,
      • MATCH({5;6;7;8;9;10;11;12;13;14},{5;6;7;8;9;10;11;12;13;14})
      • Output: {1; 2; 3; 4; 4; 5; 5; 6; 7; 7; 8; 9; 10}
      • Forklaring: Funktionen MATCH returnerer den relative position for et element i et array eller en cellereference, der passer til en angivet værdi i en bestemt rækkefølge.
    • IF((INDEX($B$5:$E$14,,$I$6)=$I$4),MATCH(ROW($B$5:$E$14),ROW($B$5:$E$14)),"") -> bliver,
      • IF( {0;0;1;0;1;1;1;0;0;0}), {1; 2; 3; 4; 5; 6; 7; 8; 9; 10},"")
      • Output: {""; ""; ""; 3; ""; 5; 6; 7; ""; ""; ""; ""}
      • Forklaring: IF-funktionen returnerer én værdi, hvis den logiske test er TRUE og en anden værdi, hvis den logiske test er FALSK .
    • SMALL(IF((INDEX($B$5:$E$14,,$I$6)=$I$4),MATCH(ROW($B$5:$E$14),ROW($B$5:$E$14)),"")),ROWS(G11:$G$11))) -> bliver,
      • SMALL({""; ""; 3; ""; 5; 6; 7; ""; ""; ""; ""},ROWS(G11:$G$11))) -> bliver,
      • SMALL({""; ""; ""; 3; ""; 5; 6; 7; ""; ""; ""; ""},1)
      • Udgang: 3
      • Forklaring: Funktionen SMALL returnerer den k-te mindste værdi fra en gruppe af tal. 3 er den mindste i denne gruppe.
    • INDEX($B$5:$E$14,SMALL(IF((INDEX($B$5:$E$14,,$I$6)=$I$4),MATCH(ROW($B$5:$E$14),ROW($B$5:$E$14)),"""),ROWS(G11:$G$11))),COLUMNS($A$1:A1))) -> bliver,
      • INDEX($B$5:$E$14,3,,1)
      • Output: {3; "Johnny", 80, 80, "Biologi"}
      • Forklaring: INDEX funktionen returnerer en værdi fra et celleområde( $B$5:$E$14 ), specificeret ved værdien baseret på et række- og kolonnetal.

    Læs mere: Sådan udtrækkes data fra en celle i Excel (5 metoder)

    2. Implementering af Array Formula til at udtrække data fra Excel baseret på flere betingelser

    I ovenstående afsnit udtog vi data baseret på et givet område. Men i dette afsnit vil vi vise dig, hvordan du udtrækker data baseret på flere betingelser.

    Se på det samme datasæt som før, men her har vi i stedet for at gemme et interval af værdier (karakterer 80 til 100) som en betingelse gemt flere betingelser, f.eks. at hente elevernes oplysninger fra både kemi- og biologiafdelingerne .

    Trinene til at udtrække data baseret på flere betingelser ved hjælp af Array formlen er angivet nedenfor.

    Trin:

    • Først skal du gemme betingelserne i andre celler for at kunne arbejde med dem senere. Det betyder, at da vi skal udtrække elevernes oplysninger fra Kemi og Biologi afdelinger, vi gemte Kemi og Biologi i den Celler H5 og H6 henholdsvis.
    • For det andet, i en anden celle, hvor du vil have resultatet (vi ville have vores resultat i Celle G11 ), skriv følgende formel,
    =INDEX($B$5:$E$14, SMALL(IF(COUNTIF($H$5:$H$6,$E$5:$E$14), MATCH(ROW($B$5:$E$14), ROW($B$5:$E$14)), "")), ROWS(G11:$G$11)), COLUMNS($B$5:B5)))

    • For det tredje skal du trykke på Ctrl + Shift + Enter på dit tastatur.

    Senere vil du få de første udtrækkede data, der svarer til dine betingelser, i resultatcellen. F.eks. Johnny hvis ID er 3 er fra Biologisk afdeling og hans post er gemt i datasættet før andre, så vi fik Johnny's ID 3 i resultatcellen.

    • Træk nu rundt i kolonnerne og rækkerne ved at Håndtag til påfyldning for kun at hente oplysninger om de studerende, der er fra den Afdeling Kemi og Biologi .

    Opdeling af formler

    • COUNTIF($H$5:$H$6,$E$5:$E$14) -> bliver,
      • COUNTIF({"Kemi"; "Biologi"},{"Matematik"; "Fysik"; "Biologi"; "Kemi"; "Fysik"; "Fysik"; "Fysik"; "Matematik"; "Kemi"; "Matematik"; "Biologi"}
      • Output: {0;0;0;1;1;1;0;0;0;0;0;1;0;1;0;1}
      • Forklaring: Funktionen COUNTIF gør det muligt at identificere celler i intervallet $H$5:$H$6 der er lig med $E$5:$E$14 .
    • IF(COUNTIF($H$5:$H$6,$E$5:$E$14), MATCH(ROW($B$5:$E$14), ROW($B$5:$E$14)), "") -> bliver,
      • IF({0;0;0;1;1;1;1;0;0;0;0;0;1;0;1},MATCH(ROW($B$5:$E$14), ROW($B$5:$E$14)), "") -> bliver,
      • IF({0;0;1;1;0;0;0;1;0;1},{ 1; 2; 3; 4; 5; 6; 7; 8; 9; 10},"")
      • Output: {""; ""; 3; 4; ""; ""; ""; ""; 8; "";10}
      • Forklaring: IF funktionen har tre argumenter, skal det første være et logisk udtryk. Hvis udtrykket evalueres til TRUE så sker der én ting (argument 2), og hvis FALSK sker der noget andet (argument 3). Det logiske udtryk blev beregnet i trin 1, TRUE er lig med 1 og FALSK er lig med 0 (nul) . række nej 3, 4, 8 og 10 evaluere SAND (1) .
    • SMALL(IF(COUNTIF($H$5:$H$6,$E$5:$E$14), MATCH(ROW($B$5:$E$14), ROW($B$5:$E$14)), "")), ROWS(G11:$G$11))) -> bliver,
      • SMALL({""; ""; 3; 4; ""; ""; ""; ""; 8; "";10},ROWS(G11:$G$11))) -> bliver,
      • SMALL({""; ""; 3; 4; ""; ""; ""; ""; 8; "";10},1)
      • Udgang: 3
      • Forklaring: SMALL funktionen returnerer den k-te mindste værdi fra en gruppe af tal. 3 er den mindste i denne gruppe.
    • INDEX($B$5:$E$14, SMALL(IF(COUNTIF($H$5:$H$6,$E$5:$E$14), MATCH(ROW($B$5:$E$14), ROW($B$5:$E$14)), "")), ROWS(G11:$G$11)), COLUMNS($B$5:B5))) -> bliver,
      • INDEX($B$5:$E$14, 3, COLUMNS($B$5:B5)) -> bliver,
      • INDEX($B$5:$E$14, 3, 1)
      • Output: {3; "Johnny", 80, 80, "Biologi"}
      • Forklaring: INDEX funktionen returnerer en værdi fra et celleområde( $B$5:$E$14 ), specificeret ved værdien baseret på et række- og kolonnetal.

    Læs mere: Returner flere værdier i Excel baseret på et enkelt kriterium (3 muligheder)

    3. Brug af filterkommandoværktøj til at udtrække data fra Excel baseret på områdekriterier

    Filterkommandoværktøjet i Excel er et af de mest anvendte og effektive værktøjer til at udtrække specifikke data på grundlag af forskellige kriterier.

    Se på følgende datasæt. Tidligere brugte vi det som eksempel til at udtrække oplysninger om de studerende, der fik karakterer fra 80 til 100 ved at implementere Array-formlen. Men i dette afsnit vil vi lære at gøre det ved at bruge Excel's filterværktøj .

    Trinene til at udtrække data baseret på et bestemt område ved hjælp af Excels filter er angivet nedenfor.

    Trin:

    • Først skal du kun vælge den overskrift af datasættet.
    • For det andet skal du gå til Data -> Filter .

    • For det tredje vil den indsætte en drop-down-knap i hvert overskriftsnavn i datasættet.

    • Da vi så ønsker at udtrække data baseret på mærkerne, skal vi klikke på udrulningsknappen ved siden af Marks kolonne.
    • Vælg derefter på rullelisten Antal filtre -> Mellem... (igen, da vi udtrækker data mellem 80 og 100 , så vi vælger muligheden Mellem Du kan vælge andre muligheder fra listen efter dine kriterier).

    • Nu, fra pop-up-vinduet Brugerdefineret AutoFilter boksen, vælg 80 fra den drop-down-liste som vises ved blot at klikke på drop-down-knap ved siden af er større end eller lig med etiket, og vælg 100 i etiketfeltet er mindre end eller lig med .
    • Senere skal du klikke på OK .

    Endelig får du kun alle oplysninger om de studerende, der har fået Karakterer fra 80 til 100 .

    Læs mere: Sådan udtrækkes data fra et billede til Excel (med hurtige trin)

    Lignende læsninger

    • Sådan importeres data til Excel fra en anden Excel-fil (2 måder)
    • VBA-kode til at konvertere tekstfil til Excel (7 metoder)
    • Sådan konverteres tekstfil til Excel automatisk (3 egnede måder)
    • Konverter Excel til tekstfil med afgrænser (2 nemme fremgangsmåder)
    • Sådan importeres tekstfil med flere afgrænsere til Excel (3 metoder)

    4. Udnyttelse af avanceret filter til at udtrække data fra Excel baseret på områdekriterier

    Hvis du ikke ønsker at gennemgå de mange trin, der er vist i afsnittet Filter, kan du bruge Avanceret filter i Excel til at udtrække data baseret på et givet område.

    For at udnytte den avancerede filterindstilling i Excel skal du definere en betingelse i dit regneark, som du kan bruge senere. Se det følgende billede, hvor vi definerer vores betingelse om at udtrække elevernes oplysninger om Marker 80 til 100 i to forskellige celler som >=80 og <=100 under Marks og vi vil bruge referencenumre for celler af disse celler senere i vores arbejde.

    Trinene til at udtrække data baseret på et bestemt område ved hjælp af Excel's Advanced Filter er angivet nedenfor.

    Trin:

    • Først skal du vælge den hele datatabellen .
    • For det andet skal du gå til Data -> Avanceret .

    • Endelig vil du se intervallet for din udvalgte data i feltet ud for Liste rækkevidde mulighed.
    • I feltet ved siden af Kriteriernes rækkevidde , vælg den celler, der bærer de definerede betingelser Du vil se, at navnet på regnearket genereres automatisk derinde, efter cellereferencenumrene for de foruddefinerede betingelser.
    • Til sidst skal du klikke på OK .

    Som et resultat heraf får du kun alle oplysninger om de studerende, der har fået Karakterer fra 80 til 100 .

    Læs mere: Udtrække filtrerede data i Excel til et andet ark (4 metoder)

    5. Udtrække data fra Excel-defineret tabel baseret på kriterier for området

    Du kan udtrække data fra en Excel-defineret tabel fra dit Excel-regneark ved hjælp af Filter mulighed.

    Tag følgende uorganiserede datasæt, som vi først vil definere som en Excel-tabelle og derefter udtrække data derfra.

    Trinene til at udtrække data fra Excel-definerede tabeller baseret på et bestemt område er angivet nedenfor.

    Trin:

    • I begyndelsen skal du vælge enhver celle fra dit datasæt, og tryk på Ctrl T .

    • Derefter vises en pop-up Opret tabel boks vises, som viser den området i dit datasæt som værdier . beholder afkrydsningsfeltet Min tabel har overskrifter markeret.
    • Senere skal du klikke på OK .

    Det vil automatisk generere en tabel baseret på dit datasæt med en drop-down-knap sammen med overskrifterne.

    • Klik derefter, som vi tidligere viste dig, på den måde, vi tidligere viste dig, på udrulningsknappen ved siden af Marks kolonnen, da vi ønsker at udtrække data baseret på mærkerne.
    • Vælg senere på rullelisten Antal filtre -> Mellem... (igen, da vi udtrækker data mellem 80 og 100 , vælger vi muligheden Mellem Du kan vælge andre muligheder fra listen efter dine kriterier).

    • Nu, fra pop-up-vinduet Brugerdefineret AutoFilter boksen, vælg 80 fra den drop-down-liste som vises ved blot at klikke på drop-down-knap ved siden af er større end eller lig med etiket, og vælg 100 i etiketfeltet er mindre end eller lig med .
    • Til sidst skal du klikke på OK .

    I sidste ende får du en Excel-defineret tabel, der kun indeholder oplysninger om de studerende, der har fået Karakterer fra 80 til 100 .

    Læs mere: Sådan udtrækkes data fra en tabel baseret på flere kriterier i Excel

    Husk på

    • Da området i datatabellens array, der skal søge efter værdien, er fast, skal du ikke glemme at sætte dollar ($) foran cellereferencenummeret i arraytabellen.
    • Når du arbejder med array-værdier, skal du ikke glemme at trykke på Ctrl + Shift + Enter på tastaturet, mens du udtrækker resultater. Hvis du kun trykker på Indtast fungerer kun, når du bruger Microsoft 365 .
    • Når du har trykket på Ctrl + Shift + Enter , vil du bemærke, at formellinjen omslutter formlen i parenteser {} , og erklærer den som en array-formel. Du skal ikke skrive disse parenteser {} selv, Excel gør det automatisk for dig.

    Konklusion

    I denne artikel har vi lært at udtrække data fra Excel på baggrund af forskellige kriterier. Jeg håber, at denne artikel har været til stor gavn for dig. Du er velkommen til at stille spørgsmål, hvis du har spørgsmål til emnet.

    Hugh West er en meget erfaren Excel-træner og analytiker med over 10 års erfaring i branchen. Han har en bachelorgrad i regnskab og finans og en kandidatgrad i Business Administration. Hugh har en passion for undervisning og har udviklet en unik undervisningstilgang, der er nem at følge og forstå. Hans ekspertviden om Excel har hjulpet tusindvis af studerende og fagfolk verden over med at forbedre deres færdigheder og udmærke sig i deres karriere. Gennem sin blog deler Hugh sin viden med verden og tilbyder gratis Excel-tutorials og onlinetræning for at hjælpe enkeltpersoner og virksomheder med at nå deres fulde potentiale.