Funcția Excel UNIQUE - cel mai rapid mod de a găsi valori unice

  • Imparte Asta
Michael Brown

Tutorialul analizează cum să obțineți valori unice în Excel folosind funcția UNIQUE și array-uri dinamice. Veți învăța o formulă simplă pentru a găsi valori unice într-o coloană sau rând, în mai multe coloane, pe baza unor condiții și multe altele.

În versiunile anterioare ale Excel, extragerea unei liste de valori unice era o provocare dificilă. Avem un articol special care arată cum să găsiți valorile unice care apar doar o singură dată, să extrageți toate elementele distincte dintr-o listă, să ignorați spațiile goale și multe altele. Fiecare sarcină a necesitat utilizarea combinată a mai multor funcții și a unei formule de matrice cu mai multe linii pe care numai guru Excel o pot înțelege pe deplin.

Introducerea funcției UNIQUE în Excel 365 a schimbat totul! Ceea ce înainte era o știință a rachetelor devine la fel de ușor ca ABC-ul. Acum, nu mai trebuie să fiți un expert în formule pentru a obține valori unice dintr-un interval, pe baza unuia sau mai multor criterii, și pentru a aranja rezultatele în ordine alfabetică. Totul se face cu formule simple pe care oricine le poate citi și ajusta în funcție de propriile nevoi.

    Funcția Excel UNIQUE

    Funcția UNIQUE din Excel returnează o listă de valori unice dintr-un interval sau dintr-o matrice. Funcția funcționează cu orice tip de date: text, numere, date, ore etc.

    Funcția este încadrată în categoria funcțiilor Dynamic Arrays. Rezultatul este o matrice dinamică care se revarsă automat în celulele învecinate pe verticală sau pe orizontală.

    Sintaxa funcției Excel UNIQUE este următoarea:

    UNIQUE(array, [by_col], [exactly_once])

    Unde:

    Array (obligatoriu) - intervalul sau matricea din care se returnează valorile unice.

    By_col (opțional) - o valoare logică care indică modul de comparare a datelor:

    • TRUE - compară datele între coloane.
    • FALSE sau omis (implicit) - compară datele între rânduri.

    Exact_o dată (opțional) - o valoare logică care definește ce valori sunt considerate unice:

    • TRUE - returnează valori care apar o singură dată, ceea ce reprezintă noțiunea de unicitate din baza de date.
    • FALSE sau omis (implicit) - returnează toate valorile distincte (diferite) din interval sau din matrice.

    Notă. În prezent, funcția UNIQUE este disponibilă numai în Excel pentru Microsoft 365 și Excel 2021. Excel 2019, 2016 și versiunile anterioare nu acceptă formule de matrice dinamice, astfel încât funcția UNIQUE nu este disponibilă în aceste versiuni.

    Formula UNIQUE de bază în Excel

    Mai jos este o formulă Excel de valori unice în forma sa cea mai simplă.

    Scopul este de a extrage o listă de nume unice din intervalul B2:B10. Pentru aceasta, introducem următoarea formulă în D2:

    =UNIQUE(B2:B10)

    Vă rugăm să observați că al doilea și al treilea argument sunt omise deoarece valorile implicite funcționează perfect în cazul nostru - comparăm rândurile între ele și dorim să returnăm toate numele diferite din interval.

    Atunci când apăsați tasta Enter pentru a finaliza formula, Excel va afișa primul nume găsit în D2 și va vărsa celelalte nume în celulele de dedesubt. Ca rezultat, veți avea toate valorile unice într-o coloană:

    În cazul în care datele dvs. sunt pe coloanele de la B2 la I2, setați al doilea argument la TRUE pentru a compara coloanele între ele:

    =UNIQUE(B2:I2,TRUE)

    Introduceți formula de mai sus în B4, apăsați Enter , iar rezultatele se vor revărsa pe orizontală în celulele din dreapta. Astfel, veți obține valorile unice pe un rând:

    Sfat: Pentru a găsi valori unice într-o matrice cu mai multe coloane și a le returna într-o singură coloană sau rând, utilizați UNIQUE împreună cu funcția TOCOL sau TOROW, așa cum se arată în exemplele de mai jos:

    • Extragerea valorilor unice dintr-un interval cu mai multe coloane într-o coloană
    • Extrageți valori unice dintr-un interval cu mai multe coloane într-un rând

    Funcția Excel UNIQUE - sfaturi și note

    UNIQUE este o funcție nouă și, ca și alte funcții de matrice dinamică, are câteva particularități pe care trebuie să le cunoașteți:

    • Dacă matricea returnată de UNIQUE este rezultatul final (adică nu este transmisă unei alte funcții), Excel creează în mod dinamic un interval de dimensiuni corespunzătoare și îl populează cu rezultatele. Formula trebuie introdusă doar în o celulă Este important să aveți destule celule goale în jos și/sau în dreapta celulei în care introduceți formula, în caz contrar apare o eroare #SPILL.
    • Rezultatele se actualizează automat atunci când se modifică datele sursă. Cu toate acestea, noile intrări adăugate în afara tabloului de referință nu sunt incluse în formulă, cu excepția cazului în care modificați array Dacă doriți ca referința array pentru a răspunde automat la redimensionarea intervalului sursă, apoi convertiți intervalul într-un tabel Excel și utilizați referințe structurate sau creați un interval dinamic numit.
    • Tabelele dinamice între diferite fișiere Excel funcționează numai atunci când ambele registre de lucru sunt deschise Dacă registrul de lucru sursă este închis, o formulă UNIQUE legată va returna o eroare #REF!
    • Ca și alte funcții de matrice dinamice, UNIQUE poate fi utilizată numai în cadrul unei matrice normale. gama Atunci când este pus în tabele Excel, acesta returnează o eroare #SPILL!

    Cum să găsiți valori unice în Excel - exemple de formule

    Exemplele de mai jos prezintă câteva utilizări practice ale funcției UNIQUE în Excel. Ideea principală este de a extrage valori unice sau de a elimina dublurile, în funcție de punctul dvs. de vedere, în cel mai simplu mod posibil.

    Extrageți valori unice care apar o singură dată

    Pentru a obține o listă de valori care apar în intervalul specificat exact o singură dată, setați al treilea argument din UNIQUE la TRUE.

    De exemplu, pentru a extrage o singură dată numele care se află pe lista câștigătorilor, utilizați această formulă:

    =UNIQUE(B2:B10,,TRUE)

    Unde B2:B10 este intervalul de surse, iar al doilea argument ( by_col ) este FALSE sau este omisă deoarece datele noastre sunt organizate în rânduri.

    Găsiți valori distincte care apar de mai multe ori

    Dacă urmăriți un obiectiv opus, adică doriți să obțineți o listă de valori care apar într-un anumit interval de mai multe ori, atunci utilizați funcția UNIQUE împreună cu FILTER și COUNTIF:

    UNIQUE(FILTRUL( gama , COUNTIF( gama , gama )>1))

    De exemplu, pentru a extrage diferite nume care apar în B2:B10 de mai multe ori, puteți utiliza această formulă:

    =UNIQUE(FILTER(B2:B10, COUNTIF(B2:B10, B2:B10)>1))

    Cum funcționează această formulă:

    În centrul formulei, funcția FILTER filtrează intrările duplicate pe baza numărului de apariții, returnat de funcția COUNTIF. În cazul nostru, rezultatul funcției COUNTIF este această matrice de numere:

    {4;1;3;4;4;1;3;4;3}

    Operația de comparare (>1) schimbă matricea de mai sus în valori TRUE și FALSE, unde TRUE reprezintă elementele care apar de mai multe ori:

    {ADEVĂRAT;FALS;ADEVĂRAT;ADEVĂRAT;ADEVĂRAT;ADEVĂRAT;FALS;ADEVĂRAT;ADEVĂRAT;ADEVĂRAT;ADEVĂRAT;ADEVĂRAT}

    Această matrice este transmisă către FILTER ca fiind include care indică funcției ce valori să includă în matricea rezultată:

    {"Andrew"; "David"; "Andrew"; "Andrew"; "David"; "Andrew"; "David"}

    După cum se poate observa, doar valorile care corespund la TRUE supraviețuiesc.

    Matricea de mai sus merge la array de UNIQUE, iar după eliminarea duplicatelor, acesta afișează rezultatul final:

    {"Andrew"; "David"}

    Sfat: În mod similar, puteți filtra valorile unice care apar de mai mult de două ori (>2), de mai mult de trei ori (>3) etc. Pentru aceasta, este suficient să modificați numărul din comparația logică.

    Găsiți valori unice în mai multe coloane (rânduri unice)

    În situația în care doriți să comparați două sau mai multe coloane și să returnați valorile unice dintre ele, includeți toate coloanele țintă în fișierul array argument.

    De exemplu, pentru a obține numele (coloana A) și prenumele (coloana B) unice ale câștigătorilor, introducem următoarea formulă în E2:

    =UNIQUE(A2:B10)

    Apăsând tasta Enter se obțin următoarele rezultate:

    Pentru a obține rânduri unice , adică intrările cu combinația unică de valori din coloanele A, B și C, aceasta este formula care trebuie utilizată:

    =UNIQUE(A2:C10)

    Uimitor de simplu, nu-i așa? :)

    Obține o listă de valori unice sortate în ordine alfabetică

    Cum se face de obicei ordonarea alfabetică în Excel? Corect, folosind funcția de sortare sau filtrare încorporată. Problema este că trebuie să reordonați de fiecare dată când datele sursă se modifică, deoarece, spre deosebire de formulele Excel care se recalculează automat la fiecare modificare în foaia de lucru, funcțiile trebuie să fie reaplicate manual.

    Odată cu introducerea funcțiilor de matrice dinamice, această problemă a dispărut! Ceea ce trebuie să faceți este să modificați pur și simplu funcția SORT în jurul unei formule UNIQUE obișnuite, ca aceasta:

    SORT(UNIQUE(array))

    De exemplu, pentru a extrage valorile unice din coloanele A până la C și pentru a aranja rezultatele de la A la Z, utilizați această formulă:

    =SORT(UNIQUE(A2:C10))

    În comparație cu exemplul de mai sus, rezultatul este mult mai ușor de perceput și de utilizat. De exemplu, putem vedea clar că Andrew și David au fost câștigători în două sporturi diferite.

    În acest exemplu, am sortat valorile din prima coloană de la A la Z. Acestea sunt valorile implicite ale funcției SORT, prin urmare, opțiunea opțională sort_index și sort_order Dacă doriți să sortați rezultatele în funcție de o altă coloană sau într-o ordine diferită (de la Z la A sau de la cel mai mare la cel mai mic), setați al doilea și al treilea argument, așa cum se explică în tutorialul privind funcția SORT.

    Găsiți valori unice în mai multe coloane și concatenați-le într-o singură celulă

    Atunci când căutați în mai multe coloane, în mod implicit, funcția Excel UNIQUE scoate fiecare valoare într-o celulă separată. Poate că vi se pare mai convenabil să aveți rezultatele într-o singură celulă?

    Pentru a realiza acest lucru, în loc să faceți referire la întregul interval, utilizați ampersand (&) pentru a concatena coloanele și puneți între ele delimitatorul dorit.

    Ca exemplu, concatenăm prenumele din A2:A10 și numele de familie din B2:B10, separând valorile cu un caracter de spațiu (" "):

    =UNIQUE(A2:A10&" "&B2:B10)

    Ca rezultat, avem o listă de nume complete într-o singură coloană:

    Obține o listă de valori unice pe baza criteriilor

    Pentru a extrage valori unice cu condiție, utilizați funcțiile Excel UNIQUE și FILTER împreună:

    • Funcția FILTER limitează datele numai la valorile care îndeplinesc condiția.
    • Funcția UNIQUE elimină dublurile din lista filtrată.

    Iată versiunea generică a formulei valorilor unice filtrate:

    UNIQUE(FILTER(array, interval_criteriu = criterii ))

    Pentru acest exemplu, să obținem o listă de câștigători într-un anumit sport. Pentru început, introducem sportul de interes într-o celulă, să zicem F1. Și apoi, folosim formula de mai jos pentru a obține numele unice:

    =UNIQUE(FILTER(A2:B10, C2:C10=F1))

    Unde A2:B10 este un interval de căutare a valorilor unice, iar C2:C10 este intervalul de verificare a criteriilor.

    Filtrați valorile unice pe baza mai multor criterii

    Pentru a filtra valorile unice cu două sau mai multe condiții, utilizați expresiile prezentate mai jos pentru a construi criteriile necesare pentru funcția FILTER:

    UNIQUE(FILTER(array, ( intervalul_criteriu1 = criterii1 ) * ( criterii_gama2 = criterii2 )))

    Rezultatul formulei este o listă de intrări unice pentru care toate condițiile specificate sunt ADEVĂRATE. În termeni de Excel, acest lucru se numește logica ȘI.

    Pentru a vedea formula în acțiune, să obținem o listă de câștigători unici pentru sportul din G1 (criteriul 1) și sub vârsta respectivă din G2 (criteriul 2).

    Cu intervalul sursă în A2:B10, sporturile în C2:C10 (criteria_range 1) și vârstele în D2:D10 (criteria_range 2), formula are următoarea formă:

    =UNIQUE(FILTER(A2:B10, (C2:C10=G1) * (D2:D10

    Și returnează exact rezultatele pe care le căutăm:

    Cum funcționează această formulă:

    Iată o explicație la nivel înalt a logicii formulei:

    În include al funcției FILTER, furnizați două sau mai multe perechi interval/criterii. Rezultatul fiecărei expresii logice este un tablou de valori TRUE și FALSE. Înmulțirea tablourilor transformă valorile logice în numere și produce un tablou de 1 și 0. Deoarece înmulțirea cu zero dă întotdeauna zero, numai intrările care îndeplinesc toate condițiile au 1 în tabloul final. Funcția FILTERfiltrează elementele care corespund lui 0 și transmite rezultatele către UNIQUE.

    Pentru mai multe informații, consultați FILTRAREA cu criterii multiple utilizând logica AND.

    Filtrați valorile unice cu mai multe criterii OR

    Pentru a obține o listă de valori unice pe baza mai multor criterii OR, adică atunci când acest criteriu OR acel criteriu este ADEVĂRAT, adăugați expresiile logice în loc să le multiplicați:

    UNIQUE(FILTER(array, ( intervalul_criteriu1 = criterii1 ) + ( criterii_gama2 = criterii2 )))

    De exemplu, pentru a afișa câștigătorii în oricare dintre următoarele categorii Fotbal sau Hochei , puteți folosi această formulă:

    =UNIQUE(FILTER(A2:B10, (C2:C10="Fotbal") + (C2:C10="Hochei"))))

    Dacă este necesar, puteți, desigur, să introduceți criteriile în celule separate și să faceți referire la aceste celule, așa cum se arată mai jos:

    =UNIQUE(FILTER(A2:B10, (C2:C10=G1) + (C2:C10=G2))))

    Cum funcționează această formulă:

    La fel ca atunci când testați mai multe criterii AND, plasați mai multe expresii logice în include al funcției FILTER, fiecare dintre acestea returnând un tablou de valori TRUE și FALSE. Atunci când aceste tablouri sunt adunate, elementele pentru care unul sau mai multe criterii sunt TRUE vor avea valoarea 1, iar elementele pentru care toate criteriile sunt FALSE vor avea valoarea 0. Ca urmare, orice intrare care îndeplinește oricare dintre condițiile unice este inclusă în tabloul care este transmis către UNIQUE.

    Pentru mai multe informații, consultați FILTRAREA cu criterii multiple utilizând logica OR.

    Obțineți valori unice în Excel care ignoră spațiile libere

    Dacă lucrați cu un set de date care conține unele goluri, este posibil ca o listă de unici obținută cu o formulă obișnuită să aibă o celulă goală și/sau o valoare zero. Acest lucru se întâmplă deoarece funcția Excel UNIQUE este concepută pentru a returna toate valorile distincte dintr-un interval, inclusiv spațiile goale. Astfel, dacă intervalul sursă are atât zerouri, cât și celule goale, lista de unici va conține 2 zerouri, unul reprezentând un spațiu golÎn plus, dacă datele sursă conțin șiruri goale returnate de o formulă, lista uique va include și un șir gol ("") care, din punct de vedere vizual, seamănă cu o celulă goală:

    Pentru a obține o listă de valori unice fără spații libere, trebuie să faceți următoarele:

    • Filtrați celulele goale și șirurile de caractere goale cu ajutorul funcției FILTER.
    • Utilizați funcția UNIQUE pentru a limita rezultatele doar la valori unice.

    Într-o formă generică, formula arată după cum urmează:

    UNIQUE(FILTRUL( gama , gama ""))

    În acest exemplu, formula din D2 este:

    =UNIQUE(FILTER(B2:B12, B2:B12""))

    Ca rezultat, Excel returnează o listă de nume unice fără celule goale:

    Notă: În cazul în care datele originale conțin zerouri , o valoare zero va fi inclusă în lista unică.

    Găsiți valori unice în coloane specifice

    Uneori, este posibil să doriți să extrageți valori unice din două sau mai multe coloane care nu sunt adiacente una față de cealaltă. Uneori, este posibil să doriți, de asemenea, să reordonați coloanele din lista rezultată. Ambele sarcini pot fi îndeplinite cu ajutorul funcției CHOOSE.

    UNIQUE(ALEGE({1,2,...}, gama1 , gama2 ))

    Presupunem că, din tabelul nostru de exemplu, doriți să obțineți o listă de câștigători pe baza valorilor din coloanele A și C și să aranjați rezultatele în această ordine: mai întâi un sport (coloana C), apoi numele sportivului (coloana A). Pentru a face acest lucru, construim această formulă:

    =UNIQUE(ALEGE({1,2}, C2:C10, A2:A10))

    Și obțineți următorul rezultat:

    Cum funcționează această formulă:

    Funcția CHOOSE returnează o matrice bidimensională de valori din coloanele specificate. În cazul nostru, aceasta schimbă, de asemenea, ordinea coloanelor.

    {"Baschet", "Andrew"; "Baschet", "Betty"; "Volei", "David"; "Baschet", "Andrew"; "Hochei", "Andrew"; "Fotbal", "Robert"; "Volei", "David"; "Hochei", "Andrew"; "Baschet", "David"}

    Din matricea de mai sus, funcția UNIQUE returnează o listă de înregistrări unice.

    Găsiți valori unice și gestionați erorile

    Formulele UNIQUE pe care le-am discutat în acest tutorial funcționează perfect... cu condiția să existe cel puțin o valoare care să îndeplinească criteriile specificate. Dacă formula nu găsește nimic, apare o eroare #CALC!

    Pentru a preveni acest lucru, pur și simplu includeți formula dvs. în funcția IFERROR.

    De exemplu, dacă nu se găsește nicio valoare unică care să îndeplinească criteriile, nu puteți afișa nimic, adică un șir gol ("""):

    =IFERROR(UNIQUE(FILTER(A2:B10, (C2:C10=G1) * (D2:D10

    Sau puteți informa în mod clar utilizatorii că nu s-au găsit rezultate:

    =IFERROR(UNIQUE(FILTER(A2:B10, (C2:C10=G1) * (D2:D10

    Funcția Excel UNIQUE nu funcționează

    După cum ați văzut, apariția funcției UNIQUE a făcut ca găsirea valorilor unice în Excel să fie incredibil de ușoară. Dacă, dintr-o dată, formula dvs. produce o eroare, cel mai probabil este vorba de una dintre următoarele.

    #NAME? eroare

    Se întâmplă dacă utilizați o formulă UNIQUE într-o versiune Excel în care această funcție nu este acceptată.

    În prezent, funcția UNIQUE este disponibilă doar în Excel 365 și 2021. Dacă aveți o versiune diferită, puteți găsi o soluție adecvată în acest tutorial: Cum să obțineți valori unice în Excel 2019, Excel 2016 și versiunile anterioare.

    Eroarea #NAME? în versiunile acceptate indică faptul că numele funcției este scris greșit.

    Eroare #SPILL

    Apare dacă una sau mai multe celule din intervalul de deversare nu sunt complet goale.

    Pentru a remedia eroarea, trebuie doar să ștergeți sau să eliminați celulele care nu sunt goale. Pentru a vedea exact ce celule vă încurcă, faceți clic pe indicatorul de eroare, apoi faceți clic pe Selectați celulele care obstrucționează Pentru mai multe informații, consultați Eroare #SPILL! în Excel - cauze și remedieri.

    Iată cum se găsesc valorile unice în Excel. Vă mulțumesc pentru lectură și sper să ne vedem pe blog săptămâna viitoare!

    Caietul de practică pentru descărcare

    Exemple de formule de valori unice Excel (.xlsx file)

    Michael Brown este un pasionat de tehnologie dedicat, cu o pasiune pentru simplificarea proceselor complexe folosind instrumente software. Cu mai mult de un deceniu de experiență în industria tehnologiei, el și-a perfecționat abilitățile în Microsoft Excel și Outlook, precum și în Google Sheets și Docs. Blogul lui Michael este dedicat împărtășirii cunoștințelor și experienței sale cu alții, oferind sfaturi și tutoriale ușor de urmat pentru îmbunătățirea productivității și eficienței. Indiferent dacă sunteți un profesionist experimentat sau un începător, blogul lui Michael oferă informații valoroase și sfaturi practice pentru a profita la maximum de aceste instrumente software esențiale.