Bỏ qua nội dung chính

Làm cách nào để nối các văn bản trong một cột mà không có bản sao trong Excel?

Bạn có biết cách nối văn bản từ một cột vào một ô mà không có bản sao trong Excel không? Và điều gì sẽ xảy ra nếu nối các văn bản trong một cột mà không có bản sao dựa trên giá trị ô cụ thể? Bài viết này cung cấp các phương pháp để giải quyết các vấn đề.

Nối các văn bản trong một cột mà không có bản sao bằng công thức
Nối văn bản trong một cột mà không có bản sao dựa trên một giá trị ô khác với mã VBA
Dễ dàng nối các văn bản trong một cột dựa trên một giá trị ô khác bằng một công cụ tuyệt vời

Thêm hướng dẫn để kết hợp các ô…


Nối các văn bản trong một cột mà không có bản sao bằng công thức

Như ảnh chụp màn hình bên dưới được hiển thị, bạn muốn nối các văn bản trong cột A thành một ô duy nhất mà không có trùng lặp. Hãy làm như sau.

1. Chọn một ô trống, sao chép công thức bên dưới vào đó và nhấn Khác + sự thay đổi + đăng ký hạng mục thi chìa khóa cùng một lúc.

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

Lưu ý: Trong công thức, “, ”Là dấu phân cách của các văn bản kết hợp; A2: A12 là các ô cột bạn sẽ nối với nhau. Vui lòng thay đổi chúng khi bạn cần.

Bây giờ các văn bản trong cột được chỉ định được nối mà không có bản sao.


Nối văn bản trong một cột mà không có bản sao dựa trên một giá trị ô khác với mã VBA

Đôi khi, bạn có thể cần nối các văn bản trong một cột mà không có bản sao dựa trên giá trị trong một ô khác, như ảnh chụp màn hình bên dưới, bạn có thể lấy nó xuống như sau.

1. Trong trang tính có chứa các văn bản bạn sẽ nối, hãy nhấn Khác + F11 phím để mở Microsoft Visual Basic cho các ứng dụng cửa sổ.

2. bên trong Microsoft Visual Basic cho các ứng dụng cửa sổ, nhấp Chèn > mô-đun, và sau đó sao chép mã VBA bên dưới vào cửa sổ Mã mô-đun.

Mã VBA: Nối văn bản trong một cột mà không có bản sao dựa trên một giá trị ô khác

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. Nhấn nút F5 phím để chạy mã. Trong cửa sổ bật lên Kutools cho Excel hộp thoại, chọn phạm vi bao gồm cả các giá trị bạn sẽ nối các văn bản dựa trên và các văn bản bạn sẽ nối, sau đó bấm vào OK .

Sau đó, các giá trị duy nhất được trích xuất và các văn bản duy nhất tương ứng của chúng trong một cột khác được nối và đặt trong một trang tính mới.


Dễ dàng nối các văn bản trong một cột dựa trên một giá trị ô khác bằng một công cụ tuyệt vời

Có thể bạn không giỏi về công thức hoặc mã VBA. Ở đây giới thiệu Các hàng kết hợp nâng cao tiện ích của Kutools cho Excel cho bạn. Với tiện ích này, bạn có thể dễ dàng nối các văn bản trong một cột dựa trên giá trị trong một ô khác chỉ với vài cú nhấp chuột.

Trước khi áp dụng Kutools cho Excel, Xin vui lòng tải xuống và cài đặt nó trước tiên.

Lưu ý: Vì tiện ích sẽ áp dụng trực tiếp trong phạm vi gốc, vui lòng tạo một bản sao của dữ liệu gốc trước khi áp dụng thao tác dưới đây.

1. Chọn phạm vi (bao gồm văn bản bạn sẽ nối và giá trị bạn sẽ nối văn bản dựa trên), nhấp Kutools > Nội dung > Các hàng kết hợp nâng cao. Xem ảnh chụp màn hình:

2. bên trong Các hàng kết hợp nâng cao , vui lòng làm như sau:

  • Chọn cột chứa các giá trị mà bạn sẽ nối các văn bản dựa trên đó và nhấp vào Khóa chính;
  • Chọn cột chứa các văn bản bạn sẽ nối vào một ô và nhấp vào Kết hợp > Dấu phẩy;
  • Nếu có cột còn lại, vui lòng chỉ định điều kiện cho chúng. Trong trường hợp này, tôi chọn cột Bán hàng và chọn Tính toán > Tổng.
  • Nhấn vào OK cái nút. Xem ảnh chụp màn hình:

Sau đó, bạn có thể thấy tất cả các văn bản trong cột được chỉ định được nối dựa trên cột chính. Xem ảnh chụp màn hình:

  Nếu bạn muốn dùng thử miễn phí (30 ngày) tiện ích này, vui lòng nhấp để tải xuống, và sau đó đi đến áp dụng hoạt động theo các bước trên.


Các bài liên quan

Kết hợp các hàng trùng lặp và tính tổng các giá trị trong Excel
Trong Excel, bạn có thể luôn gặp vấn đề này, khi bạn có một dải dữ liệu chứa một số mục nhập trùng lặp và bây giờ bạn muốn kết hợp dữ liệu trùng lặp và tính tổng các giá trị tương ứng trong một cột khác, làm thế nào bạn có thể giải quyết vấn đề này? Hãy thử các phương pháp trong bài viết này.

Kết hợp nhiều ô vào một ô có dấu cách, dấu phẩy hoặc các dấu phân tách khác trong Excel
Khi bạn kết hợp các ô từ nhiều cột hoặc nhiều hàng thành một ô duy nhất, dữ liệu kết hợp có thể được phân tách bằng không. Nhưng nếu bạn muốn phân tách chúng bằng các dấu được chỉ định, chẳng hạn như dấu cách, dấu phẩy, dấu chấm phẩy hoặc những dấu khác, bạn có thể làm thế nào? Hướng dẫn này sẽ giới thiệu một số phương pháp cho bạn.

Nối các ô giữ định dạng số / ngày trong Excel
Bạn có thể nhận thấy rằng khi chúng tôi áp dụng hàm CONCATENATE trong Excel, định dạng ngày (2014-01-03) và định dạng số như định dạng tiền tệ ($ 734.7), định dạng phần trăm (48.9%), vị trí thập phân (24.5000), v.v. được loại bỏ và hiển thị dưới dạng số chung trong kết quả nối. Trong bài viết này, chúng tôi đưa ra một số cách giải quyết để kết hợp dữ liệu với việc giữ nguyên định dạng ngày hoặc số trong Excel.

Đảo ngược hàm nối trong Excel
Như chúng ta đã biết, hàm Concatenate trong Excel có thể giúp chúng ta kết hợp nhiều ô thành một ô, nhưng đôi khi, bạn muốn làm ngược lại với hàm Concatenate, nghĩa là không kết hợp các ô mà chia giá trị ô thành nhiều ô được phân tách. Các phương pháp trong bài viết này sẽ giúp giải quyết vấn đề.

Nối các ô nếu tồn tại cùng một giá trị trong một cột khác trong Excel
Bài viết này cung cấp các phương pháp giúp bạn dễ dàng nối các ô nếu có cùng giá trị trong một cột khác trong Excel.

Thêm hướng dẫn để kết hợp các ô…

Công cụ năng suất văn phòng tốt nhất

🤖 Trợ lý AI của Kutools: Cách mạng hóa việc phân tích dữ liệu dựa trên: Thực thi thông minh   |  Tạo mã  |  Tạo công thức tùy chỉnh  |  Phân tích dữ liệu và tạo biểu đồ  |  Gọi các hàm Kutools...
Các tính năng phổ biến: Tìm, đánh dấu hoặc xác định các bản sao   |  Xóa hàng trống   |  Kết hợp các cột hoặc ô mà không làm mất dữ liệu   |   Vòng không có công thức hữu ích. Cảm ơn !
Siêu tra cứu: Nhiều tiêu chí VLookup    VLookup Nhiều Giá Trị  |   VLookup trên nhiều trang tính   |   Tra cứu mờ ....
Danh sách thả xuống nâng cao: Tạo nhanh danh sách thả xuống   |  Danh sách thả xuống phụ thuộc   |  Danh sách thả xuống nhiều lựa chọn ....
Trình quản lý cột: Thêm một số cột cụ thể  |  Di chuyển cột  |  Chuyển đổi trạng thái hiển thị của các cột ẩn  |  So sánh dãy và cột hữu ích. Cảm ơn !
Các tính năng nổi bật: Tiêu điểm lưới   |  Chế độ xem thiết kế   |   Thanh công thức lớn    Trình quản lý sổ làm việc & trang tính   |  Thư viện tài nguyên (Văn bản tự động)   |  Bảng chọn ngày   |  Kết hợp các bảng tính   |  Mã hóa/Giải mã ô    Gửi email theo danh sách   |  Siêu lọc   |   Bộ lọc đặc biệt (lọc in đậm/nghiêng/gạch ngang...) ...
15 bộ công cụ hàng đầu12 bản văn CÔNG CỤ (thêm văn bản, Xóa ký tự,...)   |   50 + Biểu đồ Các loại (Biểu đồ Gantt,...)   |   40+ Thực tế Công thức (Tính tuổi dựa trên ngày sinh,...)   |   19 chèn CÔNG CỤ (Chèn mã QR, Chèn ảnh từ đường dẫn,...)   |   12 Chuyển đổi CÔNG CỤ (Số thành từ, Chuyển đổi tiền tệ,...)   |   7 Hợp nhất & Tách CÔNG CỤ (Các hàng kết hợp nâng cao, Chia ô,...)   |   ... và nhiều hơn nữa

Nâng cao kỹ năng Excel của bạn với Kutools for Excel và trải nghiệm hiệu quả hơn bao giờ hết. Kutools for Excel cung cấp hơn 300 tính năng nâng cao để tăng năng suất và tiết kiệm thời gian.  Bấm vào đây để có được tính năng bạn cần nhất...

Mô tả


Tab Office mang lại giao diện Tab cho Office và giúp công việc của bạn trở nên dễ dàng hơn nhiều

  • Cho phép chỉnh sửa và đọc theo thẻ trong Word, Excel, PowerPoint, Publisher, Access, Visio và Project.
  • Mở và tạo nhiều tài liệu trong các tab mới của cùng một cửa sổ, thay vì trong các cửa sổ mới.
  • Tăng 50% năng suất của bạn và giảm hàng trăm cú nhấp chuột cho bạn mỗi ngày!
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