Extrageți valori unice în Excel utilizând o funcție

Anonim

În articolele noastre anterioare, am învățat cum să extragem valori unice dintr-un interval folosind o combinație de diferite funcții Excel. Deși funcționează fantastic, dar sunt și ei complexi, nu se poate nega acest lucru. Dacă faceți frecvent extragerea valorilor unice, aceste formule vă pot obosi. Și ei fac fișierul greu și lent.

Deci, în acest articol, vom învăța cum să creăm o funcție definită de utilizator care ia un interval ca argument și returnează doar valori unice din acel interval. Puteți copia direct codul în fișierul dvs. și puteți începe să îl utilizați imediat.

Cod VBA pentru funcție unică:

Funcția UNIQUES (rng As Range) Ca Variant () Dim list As New Collection Dim Ulist () As Variant 'Adăugând fiecare valoare a rng la colecție. La eroare Reluați în continuare pentru fiecare valoare din rng 'aici valoarea și cheia sunt aceleași. Colecția nu permite chei duplicate, prin urmare vor rămâne doar valori unice. list.Add CStr (Value), CStr (Value) Next On Error GoTo 0 'Definirea lungimii matricei la numărul de valori unice. Deoarece matricea începe de la 0, scădem 1. ReDim Ulist (list.Count - 1, 0) 'Adăugarea unei valori unice matricei. Pentru i = 0 Pentru a lista. Număr - 1 Ulist (i, 0) = listă (i + 1) Următorul 'Imprimarea matricei UNIQUES = Ulist Funcție de sfârșit 

Copiați codul în editorul VB al excel.

Folosind funcția UNIQUE

Funcția de mai sus este o funcție matrice cu mai multe celule definită de utilizator. Înseamnă că trebuie să selectați intervalul în care doriți să fie tipărită lista unică, apoi să scrieți formula și apăsați combinația de taste CTRL + SHIFT + ENTER.

În giful de mai sus, avem o listă de țări. Acum există multe țări duplicate pe listă. Vrem să obținem doar lista țărilor unice.

Pentru aceasta, selectați un interval în care doriți lista unică. Acum scrieți această formulă:

= UNIQUES (A2: B7)

Apăsați CTRL + SHIFT + ENTER combinație de taste. Și s-a făcut. Toate valorile unice sunt listate în intervalul selectat.

Notă:Dacă intervalul pe care l-ați selectat este mai mare decât valoarea unică, atunci acestea vor afișa o eroare # N / A. Puteți să-l utilizați ca o indicație de încheiere a valorilor unice. Dacă nu vedeți # N / A la sfârșitul listei, înseamnă că pot exista mai multe valori unice.

Explicația codului

Am folosit două concepte majore ale VBA în această funcție UD. Colecții și funcția matrice definită de utilizator. În primul rând, am folosit o colecție pentru a obține valorile unice din intervalul furnizat.

pentru fiecare valoare din lista rng. Adăugați CStr (valoare), CStr (valoare) Următorul 

Deoarece nu putem imprima o colecție pe foaie, am transferat-o către o altă matrice UList.

for i = 0 To list.Count - 1 Ulist (i, 0) = list (i + 1) Next next 

Notă:Indexarea matricii VBA începe de la 0, iar indexarea colecției începe de la 1. De aceea am scăzut 1 pentru matrice în buclă și am adăugat 1 la indexarea colecției de liste.

În cele din urmă, am imprimat matricea pe foaie.

Există o funcție UNICĂ care nu este disponibilă pentru Excel 2016 care face același lucru. Funcția respectivă este disponibilă în Excel 2019. Numai membrii programului din interior au acces la această funcție. Folosind această tehnică, vă puteți prezenta în birou pentru că sunteți înaintea MS.

Deci, băieți, așa puteți crea o funcție care extrage valori unice pur și simplu. Sper că am fost suficient de explicativ pentru a vă face să înțelegeți acest lucru. Dacă aveți întrebări specifice cu privire la această întrebare sau la orice altă întrebare legată de Excel VBA, puneți-o în secțiunea de comentarii de mai jos.

Faceți clic pe linkul de mai jos pentru a descărca fișierul de lucru:

Funcția UNIQUES

Cum se utilizează colecțiile VBA în Excel | Aflați cum să utilizați colecția care vă poate ajuta să obțineți valori unice.

Creați funcția VBA pentru a returna matricea | Aflați cum să creați o funcție de matrice definită de utilizator care returnează o matrice.

Matrice în Excel Formul | Aflați ce matrice sunt în Excel.

Cum se creează o funcție definită de utilizator prin VBA | Aflați cum să creați funcții definite de utilizator în Excel

Utilizarea unei funcții definite de utilizator (UDF) dintr-un alt registru de lucru utilizând VBA în Microsoft Excel | Utilizați funcția definită de utilizator într-un alt registru de lucru Excel

Returnează valorile de eroare de la funcțiile definite de utilizator utilizând VBA în Microsoft Excel | Aflați cum puteți returna valorile de eroare dintr-o funcție definită de utilizator