Cuprins
Uneori, este posibil să avem nevoie să căutăm anumite date cu care să lucrăm. Dar când setul de date este imens, este foarte greu să găsim ceea ce căutăm. În acest articol, vă vom arăta cum să extrageți date din Excel pe baza unor criterii diferite.
Descărcați modelul de practică
Puteți descărca gratuit modelul Excel de practică de aici.
Extragerea datelor pe baza criteriilor.xlsx5 moduri de a extrage date din Excel în funcție de criterii
Această secțiune va discuta 5 moduri diferite de a extrage date din Excel pe baza anumitor criterii.
1. Implementarea formulei Array pentru a extrage date din Excel pe baza criteriilor de gamă
Pornind de la următorul set de date ca exemplu, vă vom descrie procesul de extragere a datelor pe baza intervalului. Să presupunem că avem un set de date cu detalii despre studenți, din care dorim să extragem doar detaliile studenților care au obținut Note de la 80 la 100 .
Etapele de extragere a datelor în funcție de un anumit interval de timp folosind Array formula sunt prezentate mai jos.
Pași:
- În primul rând, stocați condiția în alte celule pentru a lucra cu acestea mai târziu. Aceasta înseamnă că, deoarece vom extrage detaliile studenților care au obținut Note de la 80 la 100 , am stocat 80 ca valoare de pornire și 100 ca valoare finală în Celule I4 și I5 respectiv.
De asemenea, trebuie să stocăm și coloana din care vom căuta valorile stocate. Adică, mărcile 80 și 100 sunt în coloana Coloana de marcaje care este Coloana a 3-a în setul nostru de date, așa că am stocat 3 ca valoare a coloanei în Celula I6 .
=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))
- În al treilea rând, apăsați Ctrl + Shift + Enter pe tastatură.
Apoi, veți obține primele date extrase care corespund condiției dvs. în celula de rezultat. De ex. Johnny al cărui ID este 3 a primit 80 de mărci în Biologie iar înregistrarea lui este stocată în setul de date înaintea altora, așa că avem ID-ul lui Johnny 3 în celula de rezultat.
- Acum, trageți coloanele și rândurile prin Mâner de umplere pentru a prelua detaliile doar ale studenților care au obținut Note de la 80 la 100 .
Repartizarea formulei
- INDEX($B$5:$E$14,,$I$6)
- Output: {60;30;80;55;87;95;100;42;25;18}
- Explicație: Funcția INDEX returnează de obicei o singură valoare sau o coloană sau un rând întreg dintr-un interval de celule dat. 3 este stocat în Celula $I$6 , astfel încât să returneze întreaga coloană nu 3 ( Marks coloana) din întreaga gamă a setului de date ( $B$5:$E$14 ) ca ieșire.
- INDEX($B$5:$E$14,,$I$6)<=$I$5 -> devine,
- {60;30;80;55;87;95;100;42;25;18}<=100
- Ieșire: {TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE}
- Explicație: Am stocat 100 în Celula $I$5 Deoarece toate valorile sunt mai mici decât 100 ($I$5) , astfel încât să returneze o coloană plină de ADEVĂRAT .
În mod similar,
- INDEX($B$5:$E$14,,$I$6)>=$I$4 -> devine,
- { 60;30;80;55;87;95;100;42;25;18}>=80
- Ieșire: {FALSE;FALSE;FALSE;TRUE;FALSE;TRUE;TRUE;TRUE;FALSE;FALSE;FALSE;FALSE}
- Explicație: Am stocat 80 în Celula $I$4 . deci se întoarce ADEVĂRAT atunci când valoarea din coloană este egală sau mai mare de 80 ; în caz contrar, se returnează FALSE .
- (INDEX($B$5:$E$14,,$I$6)=$I$4) -> devine,
- {TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE}*{FALSE;FALSE;FALSE;TRUE;FALSE;FALSE;TRUE;TRUE;TRUE;TRUE;FALSE;FALSE;FALSE;FALSE}
- Ieșire: {0;0;1;1;1;1;1;1;0;0;0;0;0}
- Explicație: Valorile booleene au echivalente numerice, TRUE = 1 și FALSE = 0 (zero) Ele sunt convertite atunci când se efectuează o operație aritmetică într-o formulă.
- RÂND($B$5:$E$14)
- Output: {5;6;7;8;9;10;11;12;13;14}
- Explicație: Funcția ROW calculează numărul de rând al unei celule de referință.
- MATCH(RÂND($B$5:$E$14),RÂND($B$5:$E$14)) -> devine,
- MATCH({5;6;7;8;9;10;11;12;13;14},{5;6;7;8;9;10;11;12;13;14})
- Ieșire: {1; 2; 3; 3; 4; 5; 6; 7; 8; 9; 10}
- Explicație: Funcția MATCH returnează poziția relativă a unui element dintr-o matrice sau dintr-o referință de celulă care corespunde unei valori specificate într-o anumită ordine.
- IF((INDEX($B$5:$E$14,,$I$6)=$I$4),MATCH(ROW($B$5:$E$14),ROW($B$5:$E$14)),"") -> devine,
- IF( {0;0;1;0;1;1;1;0;0;0}), {1; 2; 3; 4; 5; 6; 7; 8; 9; 10},"")
- Ieșire: {""; ""; 3; ""; 5; 6; 7; ""; ""; ""; ""}
- Explicație: Funcția IF returnează o valoare dacă testul logic este ADEVĂRAT și o altă valoare în cazul în care testul logic este FALSE .
- 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)) -> devine,
- SMALL({""; ""; 3; ""; 5; 6; 7; ""; ""; ""; ""},ROWS(G11:$G$11)) -> devine,
- SMALL({""; ""; ""; 3; ""; 5; 6; 7; ""; ""; ""; ""},1)
- Ieșire: 3
- Explicație: Funcția SMALL returnează k-lea cea mai mică valoare dintr-un grup de numere. 3 este cel mai mic din acest grup.
- 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)) -> devine,
- INDEX($B$5:$E$14,3,,1)
- Ieșire: {3; "Johnny", 80, "Biologie"}
- Explicație: The INDEX funcția returnează o valoare dintr-un interval de celule( $B$5:$E$14 ), specificată prin valoarea bazată pe un număr de rând și coloană.
Citește mai mult: Cum să extrageți date din celulă în Excel (5 metode)
2. Implementarea formulei Array pentru a extrage date din Excel pe baza mai multor condiții
În secțiunea de mai sus, am extras date pe baza unui interval dat, dar în această secțiune vă vom arăta cum să extrageți date pe baza mai multor condiții.
Uitați-vă la același set de date ca și înainte, dar aici, în loc să stocăm un interval de valori (Marks 80-100) ca o condiție, am stocat mai multe condiții, cum ar fi recuperarea detaliilor studenților din atât departamentele de chimie, cât și cele de biologie .
Etapele de extragere a datelor pe baza mai multor condiții, utilizând Array formula sunt prezentate mai jos.
Pași:
- În primul rând, stocați condițiile în alte celule pentru a lucra cu acestea mai târziu. Aceasta înseamnă că, deoarece vom extrage detaliile elevilor din Chimie și Biologie departamente, am stocat Chimie și Biologie în Celule H5 și H6 respectiv.
- În al doilea rând, într-o altă celulă, în care doriți rezultatul (noi am vrut ca rezultatul nostru să fie în celula Celula G11 ), scrieți următoarea formulă,
=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))
- În al treilea rând, apăsați Ctrl + Shift + Enter pe tastatură.
Ulterior, veți obține primele date extrase care corespund condițiilor dvs. în celula de rezultat. De ex. Johnny al cărui ID este 3 este din Departamentul de Biologie iar înregistrarea lui este stocată în setul de date înaintea altora, așa că avem ID-ul lui Johnny 3 în celula de rezultat.
- Acum, trageți în jurul coloanelor și rândurilor cu Mâner de umplere pentru a prelua detaliile doar ale studenților care sunt din Departamentul de Chimie și Biologie .
Repartizarea formulei
- COUNTIF($H$5:$H$6,$E$5:$E$14) -> devine,
- COUNTIF({"Chimie"; "Biologie"},{"Matematică"; "Fizică"; "Biologie"; "Chimie"; "Fizică"; "Fizică"; "Matematică"; "Chimie"; "Matematică"; "Biologie"}
- Ieșire: {0;0;1;1;1;0;0;0;1;0;1;0;1}
- Explicație: Funcția COUNTIF permite identificarea celulelor din intervalul $H$5:$H$6 care este egal cu $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)), "") -> devine,
- IF({0;0;0;1;1;1;0;0;0;0;1;0;1;1},MATCH(ROW($B$5:$E$14), ROW($B$5:$E$14)), "") -> devine,
- IF({0;0;1;1;0;0;0;1;0;1},{ 1; 2; 3; 4; 5; 6; 7; 8; 9; 10},"")
- Ieșire: {""; ""; 3; 4; ""; ""; "";""; 8; "";10}
- Explicație: The IF are trei argumente, primul trebuie să fie o expresie logică. Dacă expresia este evaluată ca fiind ADEVĂRAT atunci se întâmplă un lucru (argumentul 2), iar dacă FALSE se întâmplă un alt lucru (argumentul 3). Expresia logică a fost calculată în etapa 1, ADEVĂRAT este egal cu 1 și FALSE este egal cu 0 (zero) . Row no 3, 4, 8 și 10 evaluați ADEVĂRAT (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)) -> devine,
- SMALL({""; ""; ""; 3; 4; ""; ""; "";""; 8; "";10},ROWS(G11:$G$11)) -> devine,
- SMALL({""; ""; ""; 3; 4; ""; ""; "";""; 8; "";10},1)
- Ieșire: 3
- Explicație: The MICI returnează funcția k-lea cea mai mică valoare dintr-un grup de numere. 3 este cel mai mic din acest grup.
- 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)) -> devine,
- INDEX($B$5:$E$14, 3, COLOANE($B$5:B5)) -> devine,
- INDEX($B$5:$E$14, 3, 1)
- Ieșire: {3; "Johnny", 80, "Biologie"}
- Explicație: The INDEX funcția returnează o valoare dintr-un interval de celule( $B$5:$E$14 ), specificată prin valoarea bazată pe un număr de rând și coloană.
Citește mai mult: Returnarea mai multor valori în Excel pe baza unor criterii unice (3 opțiuni)
3. Utilizarea instrumentului de comandă Filter Command Tool pentru a extrage date din Excel pe baza unor criterii de gamă
Instrumentul de comandă Filter din Excel este unul dintre cele mai utilizate și eficiente instrumente pentru a extrage date specifice pe baza unor criterii diferite.
Priviți următorul set de date. Anterior, l-am folosit ca exemplu pentru a extrage detaliile studenților care au obținut note între 80 și 100 prin implementarea formulei Array. Dar în această secțiune, vom învăța cum să facem acest lucru utilizând Instrumentul de filtrare Excel .
Pașii de extragere a datelor pe baza unui anumit interval utilizând filtrul Excel sunt prezentați mai jos.
Pași:
- În primul rând, selectați numai antet a setului de date.
- În al doilea rând, mergeți la Date -> Filtru .
- În al treilea rând, se va insera un buton derulant în fiecare nume de antet al setului de date.
- Apoi, deoarece dorim să extragem datele pe baza mărcilor, faceți clic pe butonul butonul derulant de lângă Marks coloană.
- Apoi, din lista derulantă, selectați Număr de filtre -> Între... (din nou, deoarece extragem date între 80 și 100 , astfel încât să selectăm opțiunea Între Puteți selecta orice alte opțiuni din listă în funcție de criteriile dumneavoastră).
- Acum, din fereastra pop-up Filtru automat personalizat caseta, selectați 80 de la listă derulantă care va apărea prin simpla apăsare a butonului buton derulant alături de este mai mare sau egală cu și selectați 100 în caseta de etichetă este mai mică sau egală cu .
- Ulterior, faceți clic pe OK .
În cele din urmă, veți obține toate detaliile doar pentru studenții care au obținut Note de la 80 la 100 .
Citește mai mult: Cum să extrageți date din imagine în Excel (cu pași rapizi)
Lecturi similare
- Cum să importați date în Excel dintr-un alt fișier Excel (2 moduri)
- Cod VBA pentru a converti un fișier text în Excel (7 metode)
- Cum să convertiți automat un fișier text în Excel (3 moduri adecvate)
- Conversia Excel în fișier text cu delimitator (2 abordări simple)
- Cum să importați un fișier text cu delimitatori multipli în Excel (3 metode)
4. Utilizarea filtrului avansat pentru a extrage date din Excel pe baza unor criterii de gamă
Dacă nu doriți să parcurgeți o mulțime de pași prezentați în secțiunea Filtru, puteți folosi opțiunea Filtru avansat din Excel pentru a extrage date pe baza unui anumit interval.
Pentru a utiliza opțiunea de filtrare avansată în Excel, trebuie să definiți condiția în foaia de lucru pentru a o utiliza ulterior. Vedeți următoarea imagine în care definim condiția noastră de extragere a detaliilor studenților din Note între 80 și 100 în două celule diferite ca >=80 și <=100 la adresa Marks și vom folosi numerele de referință ale celulelor acestor celule mai târziu în activitatea noastră.
Pașii de extragere a datelor pe baza unui anumit interval utilizând filtrul avansat al Excel sunt prezentați mai jos.
Pași:
- În primul rând, selectați întregul tabel de date .
- În al doilea rând, mergeți la Date -> Avansat .
- În cele din urmă, veți vedea intervalul de date selectate în căsuța de lângă Intervalul listei opțiune.
- Apoi, în căsuța de lângă Gama de criterii , selectați celule purtând condițiile definite Veți vedea că numele foii de lucru va fi generat automat acolo, urmând numerele de referință ale celulelor care conțin condițiile predefinite.
- În cele din urmă, faceți clic pe OK .
Ca urmare, veți obține toate detaliile doar pentru studenții care au obținut Note de la 80 la 100 .
Citește mai mult: Extragerea datelor filtrate în Excel într-o altă foaie (4 metode)
5. Extragerea datelor din tabelul definit de Excel pe baza criteriilor de interval
Puteți extrage date dintr-un Tabelul definit în Excel din foaia de calcul Excel folosind funcția Filtru opțiune.
Luați în considerare următorul set de date neorganizat, pe care îl vom defini mai întâi ca un tabel Excel și apoi vom extrage date din acesta.
Pașii de extragere a datelor din tabelul definit de Excel pe baza unui anumit interval sunt prezentați mai jos.
Pași:
- La început, selectați orice celulă din setul de date și apăsați Ctrl T .
- Apoi, un pop-up Creați tabelul Va apărea o casetă în care se afișează intervalul din setul de date ca valori . păstrați caseta de selectare Tabelul meu are anteturi marcate.
- Ulterior, faceți clic pe OK .
Acesta va generarea automată a unui tabel pe baza setului dvs. de date cu un buton derulant împreună cu antetele.
- Apoi, la fel ca în modul în care v-am arătat anterior, faceți clic pe butonul butonul derulant de lângă Marks deoarece dorim să extragem datele pe baza mărcilor.
- Ulterior, din lista derulantă, selectați Număr de filtre -> Între... (din nou, deoarece extragem date între 80 și 100 , selectăm opțiunea Între Puteți selecta orice alte opțiuni din listă în funcție de criteriile dumneavoastră).
- Acum, din fereastra pop-up Filtru automat personalizat caseta, selectați 80 de la listă derulantă care va apărea prin simpla apăsare a butonului buton derulant alături de este mai mare sau egală cu și selectați 100 în caseta de etichetă este mai mică sau egală cu .
- În cele din urmă, faceți clic pe OK .
În final, veți obține un tabel definit în Excel care va conține doar detaliile studenților care au obținut Note de la 80 la 100 .
Citiți mai mult: Cum să extrageți date din tabel pe baza mai multor criterii în Excel
Țineți minte
- Deoarece intervalul din matricea tabelului de date pentru a căuta valoarea este fix, nu uitați să puneți dolar ($) în fața numărului de referință al celulei din tabelul de matrice.
- Atunci când lucrați cu valori de matrice, nu uitați să apăsați Ctrl + Shift + Enter de pe tastatură în timpul extragerii rezultatelor. Dacă apăsați doar Introduceți va funcționa numai atunci când utilizați Microsoft 365 .
- După ce ați apăsat Ctrl + Shift + Enter , veți observa că bara de formule a cuprins formula în paranteze ondulate {} , declarând-o ca o formulă de matrice. Nu tastați acele paranteze {} Excel face automat acest lucru pentru dumneavoastră.
Concluzie
În acest articol, am învățat cum să extragem date din Excel pe baza diferitelor criterii. Sper că acest articol a fost foarte benefic pentru dvs. Nu ezitați să puneți orice întrebare dacă aveți în legătură cu subiectul.