Salt la conținutul principal

Cum se concatenează valori unice în Excel?

Dacă am o listă lungă de valori care sunt populate cu unele date duplicate, acum, vreau să găsesc doar valorile unice și apoi să le concatenez într-o singură celulă. Cum aș putea rezolva această problemă rapid și ușor în Excel?

Găsiți valori unice într-o coloană și concatenați-le într-o singură celulă cu cod VBA

Găsiți valori unice într-o coloană și concatenați-le într-o singură celulă cu Kutools pentru Excel

Listează valorile unice și concatenează valorile corespunzătoare cu codul VBA

Listează valorile unice și concatenează valorile corespunzătoare cu Kutools pentru Excel


săgeată albastru dreapta balon Găsiți valori unice într-o coloană și concatenați-le într-o singură celulă cu cod VBA

Următoarele Funcție definită de utilizator vă poate ajuta să concatenați numai valorile unice într-o singură celulă dintr-o listă, procedați după cum urmează:

1. Țineți apăsat butonul ALT + F11 tastele pentru a deschide Microsoft Visual Basic pentru aplicații fereastră.

2. Clic Insera > Moduleși lipiți următorul cod în Module Fereastră.

Cod VBA: concatenează valori unice într-o singură celulă:

Function ConcatUniq(xRg As Range, xChar As String) As String
'updateby Extendoffice
    Dim xCell As Range
    Dim xDic As Object
    Set xDic = CreateObject("Scripting.Dictionary")
    For Each xCell In xRg
        xDic(xCell.Value) = Empty
    Next
    ConcatUniq = Join$(xDic.Keys, xChar)
    Set xDic = Nothing
End Function

3. Apoi reveniți la foaia de lucru și introduceți această formulă: = ConcatUniq (A1: A17, ",") într-o celulă goală în care doriți să scoateți rezultatul concatenat și apăsați Intrați tasta pentru a obține rezultatul unic concatenat, consultați captura de ecran:

doc concatenate unique 1

notițe: În formula de mai sus, A1: A17 este intervalul de celule pe care doriți să îl concatenați, iar virgula „,”Este separatorul de care aveți nevoie pentru a separa valorile combinate, le puteți schimba în funcție de nevoile dvs.


săgeată albastru dreapta balon Găsiți valori unice într-o coloană și concatenați-le într-o singură celulă cu Kutools pentru Excel

Dacă nu sunteți familiarizați cu codul VBA, Kutools pentru Excel De asemenea, vă poate ajuta, puteți combina Selectați celule duplicate și unice și Combina utilități pentru a obține rezultatul de care aveți nevoie.

Kutools pentru Excel : cu mai mult de 300 de programe de completare Excel la îndemână, gratuit pentru a încerca fără limitări în 30 de zile.

După instalare Kutools pentru Excel, vă rugăm să faceți următoarele :( Descărcați gratuit Kutools pentru Excel acum! )

1. Selectați lista de celule pe care doriți să le combinați numai valorile unice.

2. Clic Kutools > Selectați > Selectați celule duplicate și unice, vezi captura de ecran:

3. În Selectați celule duplicate și unice fereastră de dialog, selectați Toate unice (inclusiv primele duplicate) opțiune în cadrul Regula secțiune, vezi captura de ecran:

sfaturi: Dacă doriți să combinați valorile unice, cu excepția primelor duplicate care apar, verificați Numai valori unice opțiune.

doc concatenate unique 3

4. Apoi apasa OK și au fost selectate numai valorile unice, apoi apăsați Ctrl + C pentru a le copia și lipi într-o anumită locație apăsând Ctrl + V, vezi captura de ecran:

doc concatenate unique 4

5. Selectați celulele unice lipite, apoi faceți clic pe Kutools > Merge & SplitCombinați rânduri, coloane sau celule fără a pierde date, vezi captura de ecran:

6. În Combinați coloane sau rânduri caseta de dialog, alegeți Combinați într-o singură celulă în temeiul Pentru a combina celulele selectate conform următoarelor opțiuni, și apoi specificați un separator pentru datele dvs. combinate, consultați captura de ecran:

doc concatenate unique 6

7. Apoi apasa Ok or Aplică , valorile unice extrase au fost concatenate într-o singură celulă, după cum se arată în următoarea captură de ecran:

doc concatenate unique 7

Descărcați gratuit Kutools pentru Excel acum!


săgeată albastru dreapta balon Listează valorile unice și concatenează valorile corespunzătoare cu codul VBA

Într-un alt caz, aveți o serie de date care include două coloane și acum doriți să enumerați numai valorile unice și să concatenați valorile corespunzătoare ale altei coloane pentru a obține următorul rezultat, aveți vreo modalitate bună de a finaliza această lucrare în Excel?

doc concatenate unique 8

Aici puteți aplica următorul cod VBA pentru a face față acestei sarcini, vă rugăm să procedați după cum urmează:

1. Țineți apăsat butonul ALT + F11 tastele pentru a deschide Microsoft Visual Basic pentru aplicații fereastră.

2. Clic Insera > Moduleși lipiți următorul cod în Module Fereastră.

Cod VBA: enumeră valorile unice și concatenează datele corespunzătoare

Sub test()
'updateby Extendoffice
    Dim xRg As Range
    Dim xArr As Variant
    Dim xCell As Range
    Dim xTxt As String
    Dim I As Long
    Dim xDic As Object
    On Error Resume Next
    xTxt = ActiveWindow.RangeSelection.Address
    Set xRg = Application.InputBox("Please select the data range", "Kutools for Excel", xTxt, , , , , 8)
    Set xRg = Application.Intersect(xRg, xRg.Worksheet.UsedRange)
    If xRg Is Nothing Then Exit Sub
    If xRg.Areas.Count > 1 Then
        MsgBox "Does not support multiple selections", , "Kutools for Excel"
        Exit Sub
    End If
    If xRg.Columns.Count <> 2 Then
        MsgBox "There must be only two columns in the selected range", , "Kutools for Excel"
        Exit Sub
    End If
    xArr = xRg
    Set xDic = CreateObject("Scripting.Dictionary")
    xDic.CompareMode = 1
    For I = 1 To UBound(xArr)
        If Not xDic.Exists(xArr(I, 1)) Then
            xDic.Item(xArr(I, 1)) = xDic.Count + 1
            xArr(xDic.Count, 1) = xArr(I, 1)
            xArr(xDic.Count, 2) = xArr(I, 2)
        Else
            xArr(xDic.Item(xArr(I, 1)), 2) = xArr(xDic.Item(xArr(I, 1)), 2) & "," & xArr(I, 2)
        End If
    Next
    Sheets.Add.Cells(1).Resize(xDic.Count, 2).Value = xArr
End Sub

3. Apoi apăsați F5 tasta pentru a rula acest cod și apare o casetă de prompt pentru a vă reaminti să selectați intervalul de date pe care doriți să îl concatenați pe baza valorilor unice, vedeți captura de ecran:

doc concatenate unique 9

4. Clic OK, valorile unice au fost extrase și valorile lor corespunzătoare într-o altă coloană au fost concatenate împreună într-o nouă foaie de lucru.

notițe: În codul de mai sus, puteți schimba virgula roșie xArr (xDic.Item (xArr (I, 1)), 2) = xArr (xDic.Item (xArr (I, 1)), 2) & ","& xArr (I, 2) în acest script către orice alți delimitatori pe care doriți să separați datele combinate.


săgeată albastru dreapta balon Listează valorile unice și concatenează valorile corespunzătoare cu Kutools pentru Excel

Dacă aveţi Kutools pentru Excel, Cu său Rânduri combinate avansate caracteristică, puteți rezolva această problemă rapid și ușor fără niciun cod.

După instalare Kutools pentru Excel, vă rugăm să faceți următoarele :( Descărcați gratuit Kutools pentru Excel acum! )

1. În primul rând, ar trebui să faceți o copie a datelor originale dacă doriți să păstrați datele originale. Și apoi selectați intervalul de date pe care doriți să îl concatenați pe baza valorilor unice.

2. Apoi apasa Kutools > Merge & Split > Rânduri combinate avansate, vezi captura de ecran:

3. În Rânduri combinate avansate caseta de dialog, faceți clic pe numele coloanei pe care doriți să o afișați numai valorile unice și faceți clic pe Cheia principala, vezi captura de ecran:

doc concatenate unique 11

4. Apoi faceți clic pe un alt nume de coloană pe care doriți să îl concatenați și faceți clic pe Combinași alegeți un delimitator pentru separarea datelor combinate, vedeți captura de ecran:

doc concatenate unique 12

5. Apoi faceți clic pe Ok , valorile au fost concatenate pe baza valorilor unice ale altei coloane, după cum se arată în următoarea captură de ecran:

doc concatenate unique 13

Descărcați gratuit Kutools pentru Excel acum!

Cele mai bune instrumente de productivitate de birou

Caracteristici populare: Găsiți, evidențiați sau identificați duplicatele   |  Ștergeți rândurile goale   |  Combinați coloane sau celule fără a pierde date   |   Rundă fără Formula ...
Super căutare: VLookup cu mai multe criterii    VLookup cu valori multiple  |   VLookup pe mai multe foi   |   Căutare fuzzy ....
Listă derulantă avansată: Creați rapid o listă derulantă   |  Listă drop-down dependentă   |  Listă derulantă cu selectare multiplă ....
Manager de coloane: Adăugați un număr specific de coloane  |  Mutați coloanele  |  Comutați starea vizibilității coloanelor ascunse  |  Comparați intervale și coloane ...
Caracteristici prezentate: Focus pe grilă   |  Vedere de proiectare   |   Big Formula Bar    Manager registru de lucru și foi   |  Biblioteca de resurse (Text automat)   |  Data Picker   |  Combinați foi de lucru   |  Criptare/Decriptare celule    Trimiteți e-mailuri după listă   |  Super Filtru   |   Filtru special (filtrează bold/italic/barat...) ...
Top 15 seturi de instrumente12 Text Instrumente (Adăuga text, Eliminați caractere,...)   |   50+ Diagramă Tipuri de (Gantt Chart,...)   |   40+ Practic Formule (Calculați vârsta pe baza zilei de naștere,...)   |   19 inserare Instrumente (Introduceți codul QR, Inserați imaginea din cale,...)   |   12 Convertire Instrumente (Numere la cuvinte, conversie valutara,...)   |   7 Merge & Split Instrumente (Rânduri combinate avansate, Celule divizate,...)   |   ... și altele

Îmbunătățiți-vă abilitățile Excel cu Kutools pentru Excel și experimentați eficiența ca niciodată. Kutools pentru Excel oferă peste 300 de funcții avansate pentru a crește productivitatea și a economisi timp.  Faceți clic aici pentru a obține funcția de care aveți cea mai mare nevoie...

fila kte 201905


Fila Office aduce interfața cu file în Office și vă face munca mult mai ușoară

  • Activați editarea și citirea cu file în Word, Excel, PowerPoint, Publisher, Access, Visio și Project.
  • Deschideți și creați mai multe documente în filele noi ale aceleiași ferestre, mai degrabă decât în ​​ferestrele noi.
  • Vă crește productivitatea cu 50% și reduce sute de clicuri de mouse pentru dvs. în fiecare zi!
Comments (3)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Excellent article!
I have a question.
How would delete blanks from start and end to avoid duplicates(caused by spaces) in function ConcatUniq?
Thank you very much!
This comment was minimized by the moderator on the site
I was successfully using the VBA function but something has gone wrong with it - I am only having a #VALUE! error returned now in places where it was working previously. I have combed my data for errors and tried removing and re-creating the VBA module, and renaming the function, nothing seems to be working. Any help would be appreciated, thanks!
This comment was minimized by the moderator on the site
Thank you! Great and simple function works perfect for me! https://www.extendoffice.com/documents/excel/3418-excel-concatenate-unique-values.html#a1
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations