Przejdź do głównej zawartości

Jak połączyć unikalne wartości w programie Excel?

Jeśli mam długą listę wartości, na których znajdują się zduplikowane dane, chcę teraz znaleźć tylko unikatowe wartości, a następnie połączyć je w jedną komórkę. Jak mogę szybko i łatwo poradzić sobie z tym problemem w programie Excel?

Znajdź unikalne wartości w kolumnie i połącz je w jedną komórkę z kodem VBA

Znajdź unikalne wartości w kolumnie i połącz je w jedną komórkę za pomocą Kutools for Excel

Wymień unikalne wartości i połącz odpowiadające im wartości z kodem VBA

Wymień unikalne wartości i połącz odpowiednie wartości z Kutools for Excel


strzałka niebieski prawy bąbelek Znajdź unikalne wartości w kolumnie i połącz je w jedną komórkę z kodem VBA

Poniższy Funkcja zdefiniowana przez użytkownika może pomóc w łączeniu tylko unikatowych wartości w pojedynczą komórkę z listy, wykonaj następujące czynności:

1. Przytrzymaj ALT + F11 klawisze, aby otworzyć Microsoft Visual Basic for Applications okno.

2. Kliknij wstawka > Modułi wklej następujący kod w Moduł Okno.

Kod VBA: Połącz unikalne wartości w pojedynczą komórkę:

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. Następnie wróć do arkusza i wprowadź następującą formułę: = ConcatUniq (A1: A17; „,”) do pustej komórki, w której chcesz wyprowadzić połączony wynik, i naciśnij Wchodzę klucz, aby uzyskać unikalny połączony wynik, zobacz zrzut ekranu:

doc konkatenuj unikaty 1

Note: W powyższym wzorze, A1: A17 to zakres komórek, które chcesz połączyć, a przecinek „,”To separator, którego potrzebujesz, aby oddzielić połączone wartości, możesz je zmienić według swoich potrzeb.


strzałka niebieski prawy bąbelek Znajdź unikalne wartości w kolumnie i połącz je w jedną komórkę za pomocą Kutools for Excel

Jeśli nie znasz kodu VBA, Kutools dla programu Excel również może ci pomóc, możesz połączyć Wybierz Zduplikowane i unikalne komórki i Połączyć narzędzia, aby osiągnąć wymagany rezultat.

Kutools dla programu Excel : z ponad 300 poręcznymi dodatkami Excela, które można wypróbować bez ograniczeń w ciągu 30 dni.

Po zainstalowaniu Kutools dla programu Excelwykonaj następujące czynności :( Bezpłatne pobieranie Kutools dla programu Excel teraz! )

1. Wybierz listę komórek, które chcesz połączyć tylko unikatowe wartości.

2. Kliknij Kutools > Wybierz > Wybierz Zduplikowane i unikalne komórkizobacz zrzut ekranu:

3, w Wybierz Zduplikowane i unikalne komórki okno dialogowe, wybierz Wszystkie unikalne (w tym 1-sze duplikaty) opcja pod Zasada sekcja, patrz zrzut ekranu:

Tips: Jeśli chcesz połączyć unikalne wartości z wyłączeniem pierwszego pojawiającego się duplikatu, zaznacz Tylko unikalne wartości opcja.

doc konkatenuj unikaty 3

4. Następnie kliknij OK i zaznaczono tylko unikatowe wartości, a następnie naciśnij Ctrl + C aby je skopiować i wkleić w określonym miejscu, naciskając Ctrl + Vzobacz zrzut ekranu:

doc konkatenuj unikaty 4

5. Wybierz wklejone unikalne komórki, a następnie kliknij Kutools > Połącz i podzielPołącz wiersze, kolumny lub komórki bez utraty danychzobacz zrzut ekranu:

6, w Połącz kolumny lub wiersze okno dialogowe, wybierz Połącz w jedną komórkę pod Aby połączyć wybrane komórki zgodnie z następującymi opcjami, a następnie określ separator dla połączonych danych, zobacz zrzut ekranu:

doc konkatenuj unikaty 6

7. Następnie kliknij Ok or Dodaj przycisk, wyodrębnione unikalne wartości zostały połączone w jedną komórkę, jak pokazano na poniższym zrzucie ekranu:

doc konkatenuj unikaty 7

Bezpłatne pobieranie Kutools dla programu Excel teraz!


strzałka niebieski prawy bąbelek Wymień unikalne wartości i połącz odpowiadające im wartości z kodem VBA

W innym przypadku masz zakres danych, który zawiera dwie kolumny, a teraz chcesz wyświetlić tylko unikatowe wartości i połączyć odpowiadające im wartości z innej kolumny, aby uzyskać następujący wynik, czy masz jakieś dobre sposoby na zakończenie tego zadania w programie Excel?

doc konkatenuj unikaty 8

Tutaj możesz zastosować następujący kod VBA, aby poradzić sobie z tą pracą, wykonaj następujące czynności:

1. Przytrzymaj ALT + F11 klawisze, aby otworzyć Microsoft Visual Basic for Applications okno.

2. Kliknij wstawka > Modułi wklej następujący kod w Moduł Okno.

Kod VBA: wymień unikalne wartości i połącz odpowiednie dane

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. Następnie naciśnij F5 klucz do uruchomienia tego kodu i pojawi się okno zachęty przypominające o wybraniu zakresu danych, który chcesz połączyć na podstawie unikalnych wartości, patrz zrzut ekranu:

doc konkatenuj unikaty 9

4. Kliknij OK, unikatowe wartości zostały wyodrębnione, a odpowiadające im wartości w innej kolumnie zostały połączone w nowy arkusz.

Note: W powyższym kodzie możesz zmienić czerwony przecinek xArr (xDic.Item (xArr (I, 1)), 2) = xArr (xDic.Item (xArr (I, 1)), 2) & ","& xArr (I, 2) w tym skrypcie do innych separatorów, które chcesz oddzielić połączone dane.


strzałka niebieski prawy bąbelek Wymień unikalne wartości i połącz odpowiednie wartości z Kutools for Excel

Jeśli Kutools dla programu Excel, Z siedzibą w Zaawansowane wiersze łączenia możesz szybko i łatwo rozwiązać ten problem bez żadnego kodu.

Po zainstalowaniu Kutools dla programu Excelwykonaj następujące czynności :( Bezpłatne pobieranie Kutools dla programu Excel teraz! )

1. Po pierwsze, jeśli chcesz zachować oryginalne dane, wykonaj kopię swoich oryginalnych danych. Następnie wybierz zakres danych, który chcesz połączyć na podstawie unikalnych wartości.

2. Następnie kliknij Kutools > Połącz i podziel > Zaawansowane wiersze łączeniazobacz zrzut ekranu:

3, w Zaawansowane wiersze łączenia kliknij nazwę kolumny, dla której chcesz wyświetlić tylko unikatowe wartości, i kliknij Główny kluczzobacz zrzut ekranu:

doc konkatenuj unikaty 11

4. Następnie kliknij nazwę innej kolumny, którą chcesz połączyć, i kliknij Połączyći wybierz jeden separator do oddzielenia połączonych danych, zobacz zrzut ekranu:

doc konkatenuj unikaty 12

5. A następnie kliknij Ok przycisk, wartości zostały połączone na podstawie unikatowych wartości innej kolumny, jak pokazano na poniższym zrzucie ekranu:

doc konkatenuj unikaty 13

Bezpłatne pobieranie Kutools dla programu Excel teraz!

Najlepsze narzędzia biurowe

🤖 Pomocnik AI Kutools: Zrewolucjonizuj analizę danych w oparciu o: Inteligentne wykonanie   |  Wygeneruj kod  |  Twórz niestandardowe formuły  |  Analizuj dane i generuj wykresy  |  Wywołaj funkcje Kutools...
Popularne funkcje: Znajdź, wyróżnij lub zidentyfikuj duplikaty   |  Usuń puste wiersze   |  Łącz kolumny lub komórki bez utraty danych   |   Okrągły bez wzoru ...
Super wyszukiwanie: Wiele kryteriów VLookup    Wiele wartości VLookup  |   Przeglądanie pionowe na wielu arkuszach   |   Wyszukiwanie rozmyte ....
Zaawansowana lista rozwijana: Szybko twórz listę rozwijaną   |  Zależna lista rozwijana   |  Lista rozwijana wielokrotnego wyboru ....
Menedżer kolumn: Dodaj określoną liczbę kolumn  |  Przesuń kolumny  |  Przełącz stan widoczności ukrytych kolumn  |  Porównaj zakresy i kolumny ...
Polecane funkcje: Fokus siatki   |  Widok projektu   |   Duży pasek formuły    Menedżer skoroszytów i arkuszy   |  Biblioteka zasobów (Automatyczny tekst)   |  Selektor dat   |  Połącz arkusze   |  Szyfruj/odszyfruj komórki    Wysyłaj e-maile według listy   |  Super filtr   |   Specjalny filtr (filtruj pogrubienie/kursywa/przekreślenie...) ...
15 najlepszych zestawów narzędzi12 Tekst Tools (Dodaj tekst, Usuń znaki, ...)   |   50 + Wykres rodzaje (Wykres Gantta, ...)   |   40+ Praktyczne Wzory (Oblicz wiek na podstawie urodzin, ...)   |   19 Wprowadzenie Tools (Wstaw kod QR, Wstaw obraz ze ścieżki, ...)   |   12 Konwersja Tools (Liczby na słowa, Przeliczanie walut, ...)   |   7 Połącz i podziel Tools (Zaawansowane wiersze łączenia, Podział komórki, ...)   |   ... i więcej

Zwiększ swoje umiejętności Excela dzięki Kutools for Excel i doświadcz wydajności jak nigdy dotąd. Kutools dla programu Excel oferuje ponad 300 zaawansowanych funkcji zwiększających produktywność i oszczędzających czas.  Kliknij tutaj, aby uzyskać funkcję, której najbardziej potrzebujesz...

Opis


Karta Office wprowadza interfejs z zakładkami do pakietu Office i znacznie ułatwia pracę

  • Włącz edycję i czytanie na kartach w programach Word, Excel, PowerPoint, Publisher, Access, Visio i Project.
  • Otwieraj i twórz wiele dokumentów w nowych kartach tego samego okna, a nie w nowych oknach.
  • Zwiększa produktywność o 50% i redukuje setki kliknięć myszką każdego dnia!
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