Cuprins
Aceasta este partea finală a seriei Excel Valori unice, care arată cum să obțineți o listă de valori distincte / unice în coloană folosind o formulă și cum să modificați acea formulă pentru diferite seturi de date. Veți învăța, de asemenea, cum să obțineți rapid o listă distinctă folosind filtrul avansat al Excel și cum să extrageți rânduri unice cu Duplicate Remover.
În câteva articole recente, am discutat diferite metode de a număra și găsi valori unice în Excel. Dacă ați avut ocazia să citiți acele tutoriale, știți deja cum să obțineți o listă unică sau distinctă prin identificare, filtrare și copiere. Dar aceasta este o metodă cam lungă și, de departe, nu este singura modalitate de a extrage valori unice în Excel. Puteți face acest lucru mult mai rapid folosind o formulă specială și, într-un momentVă voi arăta aceasta și alte câteva tehnici.
Sfat: Pentru a obține rapid valori unice în cea mai recentă versiune de Excel 365 care suportă array-uri dinamice, utilizați funcția UNIQUE, așa cum este explicat în tutorialul de mai sus.
Cum să obțineți valori unice în Excel
Pentru a evita orice confuzie, în primul rând, haideți să ne punem de acord asupra a ceea ce numim valori unice în Excel. Valori unice sunt valorile care există într-o listă doar o singură dată. De exemplu:
Pentru a extrage o listă de valori unice în Excel, utilizați una dintre următoarele formule.
Array formula valorilor unice (se completează prin apăsarea tastelor Ctrl + Shift + Enter ):
=IFERROR(INDEX($A$2:$A$10, MATCH(0, COUNTIF($B$1:B1,$A$2:$A$10) + (COUNTIF($A$2:$A$10, $A$2:$A$10)1), 0)), "")
Regular formula valorilor unice (se completează prin apăsarea tastei Enter):
=IFERROR(INDEX($A$2:$A$10, MATCH(0,INDEX(COUNTIF($B$1:B1, $A$2:$A$10)+(COUNTIF($A$2:$A$10, $A$2:$A$10)1),0,0), 0)), ""), "")
În formulele de mai sus, se utilizează următoarele referințe:
- A2:A10 - lista de surse.
- B1 - celula de sus a listei unice minus 1. În acest exemplu, începem lista unică în B2 și, prin urmare, furnizăm B1 în formulă (B2-1=B1). Dacă lista dvs. unică începe, de exemplu, în celula C3, atunci schimbați $B$1:B1 în $C$2:C2.
Notă: Deoarece formula face referire la celula de deasupra primei celule din lista unică, care este de obicei antetul coloanei (B1 în acest exemplu), asigurați-vă că antetul are un nume unic care nu apare nicăieri altundeva în coloană.
În acest exemplu, extragem nume unice din coloana A (mai exact din intervalul A2:A20), iar următoarea captură de ecran demonstrează formula de matrice în acțiune:
Explicația detaliată a logicii formulei este furnizată într-o secțiune separată și iată cum să utilizați formula pentru a extrage valori unice în foile de calcul Excel:
- Modificați una dintre formule în funcție de setul dumneavoastră de date.
- Introduceți formula în prima celulă a listei unice (B2 în acest exemplu).
- Dacă utilizați formula de matrice, apăsați Ctrl + Shift + Enter . Dacă ați optat pentru formula obișnuită, apăsați tasta Enter ca de obicei.
- Copiați formula în jos atât cât este necesar, trăgând mânerul de umplere. Deoarece ambele formule de valori unice sunt încapsulate în funcția IFERROR, puteți copia formula până la sfârșitul tabelului și aceasta nu vă va aglomera datele cu erori, indiferent cât de puține valori unice au fost extrase.
Cum să obțineți valori distincte în Excel (unic + prima apariție duplicată)
După cum probabil ați ghicit deja din titlul acestei secțiuni, valori distincte în Excel sunt toate valorile diferite dintr-o listă, adică valorile unice și primele cazuri de valori duplicate. De exemplu:
Pentru a obține o listă distinctă în Excel, utilizați următoarele formule.
Array formulă distinctă (necesită apăsarea combinației Ctrl + Shift + Enter ):
=IFERROR(INDEX($A$2:$A$10, MATCH(0, COUNTIF($B$1:B1, $A$2:$A$10), 0))), "")
Regular formulă distinctă:
=IFERROR(INDEX($A$2:$A$10, MATCH(0, INDEX(COUNTIF($B$1:B1, $A$2:$A$10), 0, 0), 0)), ""), "")
Unde:
- A2:A10 este lista de surse.
- B1 este celula de deasupra primei celule din lista distinctă. În acest exemplu, lista distinctă începe în celula B2 (este prima celulă în care introduceți formula), așa că faceți trimitere la B1.
Extrageți valorile distincte dintr-o coloană, ignorând celulele goale
Dacă lista sursă conține celule goale, formula distinctă pe care tocmai am discutat-o ar returna un zero pentru fiecare rând gol, ceea ce ar putea fi o problemă. Pentru a rezolva acest lucru, îmbunătățiți formula puțin mai mult:
Formula de matrice pentru a extrage valori distincte, cu excepția spațiilor libere :
=IFERROR(INDEX($A$2:$A$10, MATCH(0, COUNTIF($B$1:B1, $A$2:$A$10&"") + IF($A$2:$A$10="",1,0), 0)), "")
Obține o listă de valori text distincte, ignorând numerele și spațiile libere
În mod similar, puteți obține o listă de valori distincte excluzând celulele goale și celulele cu numere :
=IFERROR(INDEX($A$2:$A$10, MATCH(0, COUNTIF($B$1:B1, $A$2:$A$10&"") + IF(ISTEXT($A$2:$A$10)=FALSE,1,0), 0)), ""), "")
Ca o scurtă reamintire, în formulele de mai sus, A2:A10 este lista sursă, iar B1 este celula situată chiar deasupra primei celule din lista distinctă.
Următoarea captură de ecran arată rezultatul ambelor formule:
Cum se extrag valorile distincte sensibile la majuscule și minuscule în Excel
Atunci când lucrați cu date sensibile la majuscule și minuscule, cum ar fi parole, nume de utilizator sau nume de fișiere, este posibil să aveți nevoie să obțineți o listă de valori distincte sensibile la majuscule și minuscule. Pentru aceasta, utilizați următoarea formulă de matrice, unde A2:A10 este lista sursă, iar B1 este celula de deasupra primei celule din lista distinctă:
Formulă de matrice pentru a obține valori distincte, sensibile la majuscule și minuscule (necesită apăsarea Ctrl + Shift + Enter )
=IFERROR(INDEX($A$2:$A$10, MATCH(0, FREQUENCY(IF(IF(EXACT($A$2:$A$10,TRANSPOSE($B$1:B1)), MATCH(ROW($A$2:$A$10), ROW($A$2:$A$10)), ""), MATCH(ROW($A$2:$A$10)), ROW($A$2:$A$10))), 0))), "")
Cum funcționează formula unic / distinct
Această secțiune este scrisă în special pentru acei utilizatori Excel curioși și grijulii care nu numai că vor să cunoască formula, ci și să înțeleagă pe deplin elementele de bază ale acesteia.
Este de la sine înțeles că formulele pentru a extrage valori unice și distincte în Excel nu sunt nici banale, nici simple. Dar, dacă vă uitați mai atent, puteți observa că toate formulele se bazează pe aceeași abordare - utilizarea funcției INDEX/MATCH în combinație cu funcțiile COUNTIF sau COUNTIF + IF.
Pentru analiza noastră în profunzime, să folosim formula array care extrage o listă de valori distincte, deoarece toate celelalte formule discutate în acest tutorial sunt îmbunătățiri sau variații ale acestei formule de bază:
=IFERROR(INDEX($A$2:$A$10, MATCH(0, COUNTIF($B$1:B1, $A$2:$A$10), 0))), "")
Pentru început, haideți să renunțăm la evidenta funcție IFERROR, care este utilizată cu un singur scop, acela de a elimina erorile #N/A atunci când numărul de celule în care ați copiat formula depășește numărul de valori distincte din lista sursă.
Și acum, să despărțim partea centrală a formulei noastre distincte:
- COUNTIF(interval, criterii) returnează numărul de celule dintr-un interval care îndeplinesc o condiție specificată.
În acest exemplu, COUNTIF($B$1:B1, $A$2:$A$10) returnează o matrice de 1 și 0, în funcție de faptul dacă oricare dintre valorile din lista sursă ($A$2:$A$10) apare undeva în lista distinctă ($B$1:B1). Dacă valoarea este găsită, formula returnează 1, altfel - 0.
În special, în celula B2, COUNTIF($B$1:B1, $A$2:$A$10) devine:
COUNTIF("Distinct", {"Ronnie"; "David"; "Sally"; "Jeremy"; "Robert"; "David"; "Robert"; "Tom"; "Sally"})
și se întoarce:
{0;0;0;0;0;0;0;0;0}
deoarece niciunul dintre elementele din lista sursă ( criterii ) apare în gama unde funcția caută o potrivire. În acest caz, gama ($B$1:B1) este format dintr-un singur element - "Distinct".
MATCH(lookup_value, lookup_array, [match_type])
returnează poziția relativă a valorii de căutare în matrice.
În acest exemplu, valoarea de căutare este 0 și, prin urmare,:
MATCH(0,COUNTIF($B$1:B1, $A$2:$A$10), 0)
se transformă în:
MATCH(0, { 0 ;0;0;0;0;0;0;0;0},0)
și returnează
deoarece funcția noastră MATCH obține prima valoare care este exact egală cu valoarea de căutare (după cum vă amintiți, valoarea de căutare este 0).
În acest exemplu, INDEX($A$2:$A$10, 1)
devine:
INDEX({"Ronnie"; "David"; "Sally"; "Jeremy"; "Robert"; "David"; "Robert"; "Tom"; "Sally"}, 1)
și returnează "Ronnie".
Atunci când formula este copiată în josul coloanei, lista distinctă ($B$1:B1) se extinde deoarece a doua referință de celulă (B1) este o referință relativă care se modifică în funcție de poziția relativă a celulei în care se mută formula.
Deci, atunci când este copiat în celula B3, COUNTIF($B$1: B1 , $A$2:$A$10) se schimbă în COUNTIF($B$1: B2 , $A$2:$A$10), și devine:
COUNTIF({"Distinct"; "Ronnie"}, {"Ronnie"; "David"; "Sally"; "Jeremy"; "Robert"; "David"; "Robert"; "Tom"; "Sally"}), 0))), "")
și se întoarce:
{1;0;0;0;0;0;0;0;0}
deoarece în intervalul $B$1:B2 se găsește un singur "Ronnie".
Și apoi, MATCH(0,{1; 0 ;0;0;0;0;0;0;0;0;0;0},0) returnează 2, deoarece 2 este poziția relativă a primului 0 din matrice.
Și în final, INDEX($A$2:$A$10, 2)
returnează valoarea din al doilea rând, care este "David".
Sfat. Pentru o mai bună înțelegere a logicii formulei, puteți selecta diferite părți ale formulei în bara de formule și puteți apăsa F9 pentru a vedea la ce se evaluează o parte selectată:
Dacă încă aveți dificultăți în a înțelege formula, puteți consulta următorul tutorial pentru o explicație detaliată a modului în care funcționează legătura INDEX/MATCH: INDEX & MATCH ca o alternativă mai bună la Excel VLOOKUP.
Așa cum am menționat deja, celelalte formule discutate în acest tutorial se bazează pe aceeași logică, cu doar câteva modificări:
Formula valorilor unice - conține încă o funcție COUNTIF care exclude din lista unică toate elementele care apar în lista sursă de mai multe ori: COUNTIF($A$2:$A$10, $A$2:$A$10)1
.
Formula valorilor distincte care ignoră spațiile goale - aici se adaugă o funcție IF care împiedică adăugarea celulelor goale în lista distinctă: IF($A$2:$A$13="",1,0)
.
Formula de valori text distincte ignorând numerele - se utilizează funcția ISTEXT pentru a verifica dacă o valoare este text, iar funcția IF pentru a respinge toate celelalte tipuri de valori, inclusiv celulele goale: IF(ISTEXT($A$2:$A$13)=FALSE,1,0)
.
Extrageți valori distincte dintr-o coloană cu ajutorul filtrului avansat Excel
Dacă nu doriți să pierdeți timp pentru a înțelege întortocheatele formule ale formulelor de valori distincte, puteți obține rapid o listă de valori distincte utilizând Filtru avansat. Pașii detaliați sunt descriși mai jos.
- Selectați coloana de date din care doriți să extrageți valori distincte.
- Comutați la Date tab> Sortare & Filtrare și faceți clic pe butonul Avansat buton:
- Verificați Copiere în altă locație buton radio.
- În Intervalul listei verificați dacă intervalul sursă este afișat corect.
- În Copiați în cutie , introduceți cea mai de sus celulă din intervalul de destinație. Rețineți că puteți copia datele filtrate numai în foaie activă .
- Selectați Numai înregistrări unice
Vă rugăm să acordați atenție faptului că, deși opțiunea Filtru avansat se numește " Numai înregistrări unice ", se extrage valori distincte , adică valorile unice și primele apariții ale valorilor duplicate.
Extrageți rânduri unice și distincte cu Duplicate Remover
În partea finală a acestui tutorial, permiteți-mi să vă prezint propria noastră soluție pentru a găsi și extrage valori distincte și unice în foile Excel. Această soluție combină versatilitatea formulelor Excel și simplitatea filtrului avansat. În plus, oferă câteva caracteristici unice, cum ar fi:
- Găsiți și extrageți rânduri unice / distincte pe baza valorilor din una sau mai multe coloane.
- Găsiți , evidențiați , și copie valori unice în orice altă locație, în același registru de lucru sau în altul.
Și acum, să vedem instrumentul Duplicate Remover în acțiune.
Să presupunem că aveți un tabel de sinteză creat prin consolidarea datelor din alte câteva tabele. Evident, acel tabel de sinteză conține o mulțime de rânduri duplicate, iar sarcina dvs. este de a extrage rândurile unice care apar în tabel o singură dată sau rândurile distincte care includ apariții unice și primele duplicate. În orice caz, cu ajutorul add-in-ului Duplicate Remover, treaba se face în 5 pași rapizi.
- Selectați orice celulă din tabelul sursă și faceți clic pe butonul Eliminarea duplicatelor de pe butonul Date Ablebits în fila Dedupare grup.
Expertul Duplicate Remover va rula și va selecta întregul tabel. Așadar, faceți clic pe Următorul pentru a trece la pasul următor.
- Unic
- Unicitate +1 prima apariție (distinct)
În acest exemplu, scopul nostru este de a extrage rânduri unice care apar în tabelul sursă o singură dată, așa că vom selecta Unic opțiune:
Sfat. După cum puteți vedea în captura de ecran de mai sus, există, de asemenea, 2 opțiuni pentru valori duplicate , doar țineți-o minte dacă trebuie să deduceți o altă foaie de calcul.
În acest exemplu, dorim să găsim rânduri unice pe baza valorilor din toate cele 3 coloane ( Număr de ordine , Prenume și Numele de familie ), prin urmare, le selectăm pe toate.
- Evidențiați valorile unice
- Selectați valori unice
- Identificați într-o coloană de stare
- Copiere în altă locație
Deoarece extragem rânduri unice, selectați Copiere în altă locație , apoi specificați unde anume doriți să le copiați - foaia activă (selectați Locație personalizată și specificați celula de sus a intervalului de destinație), foaie de lucru nouă sau registru de lucru nou.
În acest exemplu, să optăm pentru noua foaie:
V-a plăcut acest mod rapid și simplu de a obține o listă de valori sau rânduri unice în Excel? Dacă da, vă încurajez să descărcați o versiune de evaluare de mai jos și să o încercați. Duplicate Remover, precum și toate celelalte instrumente de economisire a timpului pe care le avem sunt incluse în Ultimate Suite for Excel.
Descărcări disponibile
Găsiți valori unice în Excel - Exemplu de registru de lucru (fișier .xlsx)
Ultimate Suite - versiune de evaluare (fișier .exe)