Przejdź do głównej zawartości

Jak dołączyć teksty w kolumnie bez duplikatów w programie Excel?

Czy wiesz, jak dołączyć teksty z kolumny do komórki bez duplikatów w programie Excel? A co, jeśli połączysz teksty w kolumnie bez duplikatów na podstawie określonej wartości komórki? W tym artykule przedstawiono metody rozwiązywania problemów.

Połącz teksty w kolumnie bez duplikatów za pomocą formuły
Połącz teksty w kolumnie bez duplikatów na podstawie wartości innej komórki z kodem VBA
Z łatwością łącz teksty w kolumnie na podstawie wartości innej komórki za pomocą niesamowitego narzędzia

Więcej samouczka na temat łączenia komórek…


Połącz teksty w kolumnie bez duplikatów za pomocą formuły

Jak pokazano na poniższym zrzucie ekranu, chcesz połączyć teksty w kolumnie A w pojedynczą komórkę bez duplikatów. Wykonaj następujące czynności.

1. Wybierz pustą komórkę, skopiuj do niej poniższą formułę i naciśnij inny + Shift + Wchodzę klucze w tym samym czasie.

=TEXTJOIN(", ", TRUE, IF(MATCH(A2:A12, A2:A12, 0)=MATCH(ROW(A2:A12), ROW(A2:A12)), A2:A12, ""))

Uwaga: We wzorze „, ”Jest separatorem połączonych tekstów; A2: A12 to komórki kolumn, które połączysz ze sobą. Zmień je według potrzeb.

Teraz teksty w określonej kolumnie są łączone bez duplikatów.


Połącz teksty w kolumnie bez duplikatów na podstawie wartości innej komórki z kodem VBA

Czasami możesz potrzebować dołączenia tekstów w kolumnie bez duplikatów na podstawie wartości w innej komórce, jak pokazano na poniższym zrzucie ekranu, możesz go pobrać w następujący sposób.

1. W arkuszu roboczym zawierającym teksty, do których chcesz dołączyć, naciśnij inny + F11 klawisze, aby otworzyć Microsoft Visual Basic for Applications okno.

2. w Microsoft Visual Basic for Applications okno, kliknij wstawka > Moduł, a następnie skopiuj poniższy kod VBA do okna Kod modułu.

Kod VBA: Połącz teksty w kolumnie bez duplikatów na podstawie innej wartości komórki

Sub JoinTextsWithoutDuplicates()
'Updated by Extendoffice 20190924
    Dim xRg As Range
    Dim xArr As Variant
    Dim xCell As Range
    Dim xTxt As String
    Dim I As Long
    Dim xDic As Object
    Dim xValue
    Dim xStr, xStrValue As String
    Dim xB As Boolean
    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
            xStrValue = xArr(I, 2)
           xB = True
            For Each xStr In Split(xArr(xDic.Item(xArr(I, 1)), 2), ",")
                If xStr = xStrValue Then
                    xB = False
                    Exit For
                End If
            Next
            If xB Then
            xArr(xDic.Item(xArr(I, 1)), 2) = xArr(xDic.Item(xArr(I, 1)), 2) & "," & xArr(I, 2)
            End If
        End If
    Next
    Sheets.Add.Cells(1).Resize(xDic.Count, 2).Value = xArr
End Sub

3. wciśnij F5 klucz do uruchomienia kodu. W wyskakującym okienku Kutools dla programu Excel wybierz zakres obejmujący zarówno wartości, na podstawie których chcesz łączyć teksty, jak i teksty, które chcesz połączyć, a następnie kliknij OK przycisk.

Następnie unikalne wartości są wyodrębniane, a odpowiadające im unikalne teksty w innej kolumnie są łączone i umieszczane w nowym arkuszu.


Z łatwością łącz teksty w kolumnie na podstawie wartości innej komórki za pomocą niesamowitego narzędzia

Może nie jesteś dobry w formule lub kodzie VBA. Tutaj polecam Zaawansowane wiersze łączenia użyteczność Kutools dla programu Excel dla Was. Dzięki temu narzędziu możesz łatwo łączyć teksty w kolumnie na podstawie wartości w innej komórce za pomocą zaledwie kilku kliknięć.

Przed złożeniem wniosku Kutools dla programu ExcelProszę pobierz i zainstaluj najpierw.

Uwaga: Ponieważ narzędzie będzie miało bezpośrednie zastosowanie w pierwotnym zakresie, przed wykonaniem poniższej operacji wykonaj kopię oryginalnych danych.

1. Wybierz zakres (uwzględnij teksty, do których chcesz dołączyć i wartość, na podstawie której będziesz łączyć teksty), kliknij Kutools > Treść > Zaawansowane wiersze łączenia. Zobacz zrzut ekranu:

2. w Zaawansowane wiersze łączenia wykonaj następujące czynności:

  • Wybierz kolumnę zawierającą wartości, na podstawie których będziesz łączyć teksty i kliknij Główny klucz;
  • Wybierz kolumnę zawierającą teksty, które dołączysz do komórki i kliknij Połączyć > Przecinek;
  • Jeśli pozostały kolumny, określ dla nich warunki. W tym przypadku wybieram kolumnę Sprzedaż i zaznaczam Obliczać > Suma.
  • Kliknij OK przycisk. Zobacz zrzut ekranu:

Następnie możesz zobaczyć, że wszystkie teksty w określonej kolumnie są połączone na podstawie kolumny kluczowej. Zobacz zrzut ekranu:

  Jeśli chcesz mieć bezpłatną wersję próbną (30 dni) tego narzędzia, kliknij, aby go pobrać, a następnie przejdź do wykonania operacji zgodnie z powyższymi krokami.


Powiązane artykuły

Połącz zduplikowane wiersze i zsumuj wartości w programie Excel
W programie Excel zawsze możesz napotkać ten problem, gdy masz zakres danych, który zawiera zduplikowane wpisy, a teraz chcesz połączyć zduplikowane dane i zsumować odpowiednie wartości w innej kolumnie, jak możesz rozwiązać ten problem? Wypróbuj metody opisane w tym artykule.

Połącz wiele komórek w komórkę za pomocą spacji, przecinków lub innych separatorów w programie Excel
Gdy łączysz komórki z wielu kolumn lub wierszy w jedną komórkę, połączone dane mogą być niczym oddzielone. Ale jeśli chcesz oddzielić je określonymi znakami, takimi jak spacja, przecinki, średnik lub inne, jak możesz to zrobić? Ten samouczek przedstawi Ci kilka metod.

Połącz komórki zachowując formatowanie liczb / daty w programie Excel
Być może zauważyłeś, że kiedy stosujemy funkcję CONCATENATE w programie Excel, format daty (2014-01-03) i format liczbowy, taki jak format waluty (734.7 USD), format procentowy (48.9%), miejsca dziesiętne (24.5000) itp. są usuwane i wyświetlane jako liczby ogólne w wynikach konkatenacji. W tym artykule przedstawiamy kilka obejść, aby połączyć dane z zachowaniem formatowania daty lub liczb w programie Excel.

Odwróć funkcję konkatenacji w programie Excel
Jak wszyscy wiemy, funkcja Concatenate w programie Excel może pomóc nam połączyć wiele komórek w jedną komórkę, ale czasami chcesz zrobić odwrotnie niż funkcja Concatenate, oznacza to nie łączenie komórek, ale podzielenie wartości komórki na wiele oddzielnych komórek. Metody opisane w tym artykule pomogą rozwiązać problem.

Połącz komórki, jeśli ta sama wartość istnieje w innej kolumnie w programie Excel
W tym artykule przedstawiono metody ułatwiające łączenie komórek, jeśli ta sama wartość istnieje w innej kolumnie w programie Excel.

Więcej samouczka na temat łączenia komórek…

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 (5)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
I like this formula, but often times i will have a blank cell in my data range and yet this formula won't work with blanks. how would i handle blank cells?
This comment was minimized by the moderator on the site
Thanks! This was helpful. I found that the formula below did the trick. I just needed to select a range to combine text, but didn't want to duplicate values.
=TEXTJOIN(", ",TRUE,UNIQUE($A2:$K2,TRUE))
This comment was minimized by the moderator on the site
This is a much easier way to join unique items based on another column:

=TEXTJOIN(", ",TRUE,UNIQUE(IF(Table1[Category]=Table2[Unique Categories],Table1[Items to Join],"")))

Works a treat, I use it a lot.
This comment was minimized by the moderator on the site
Thanks a Lot. You saved me.
This comment was minimized by the moderator on the site
Omg. You're a lifesaver, I was trying way more complex formulas and this worked like a charm! Thank you!
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations