Gộp dữ liệu 1 cột

Liên hệ QC

biennguyen1107

Thành viên mới
Tham gia
20/10/21
Bài viết
9
Được thích
2
Xin chào các anh/chị/em,
Em là member mới, đang trong quá trình học tập và làm việc vs excel.
Hiện tại em có 1 bài toán cần nhờ sự giúp đỡ của các ace.
Chả là e có 1 sheet AA, trong sheet có 1 cột B bao gôm nhiều các giá trị text. các giá trị này có trùng lặp.
Em muốn 1 công thức sang sheet BB khác, để hiển thị tất cả các giá trị text không trùng lặp ở cột B ( sheet AA ) trong 1 ô duy nhất ở sheet BB ), các giá trị text cách nhau bởi dấu phẩy.
chỉ dùng 1 công thức thôi ạ.
Ví dụ :
1662544837467.png
 
Lần chỉnh sửa cuối:
Xin chào các ace,
Em là member mới, đang trong quá trình học tập và làm việc vs excel.
Hiện tại em có 1 bài toán cần nhờ sự giúp đỡ của các ace.
Chả là e có 1 sheet AA, trong sheet có 1 cột B bao gôm nhiều các giá trị text. các giá trị này có trùng lặp.
Em muốn 1 công thức sang sheet BB khác, để hiển thị tất cả các giá trị text không trùng lặp ở cột B ( sheet AA ) trong 1 ô duy nhất ở sheet BB ), các giá trị text cách nhau bởi dấu phẩy.
chỉ dùng 1 công thức thôi ạ.
Ví dụ :
nguyen thi hoanh
nguyen van nam
nguyen van toan => nguyen thi hoanh, nguyen van nam, nguyen van toan, tran van chi,
tran van chi pham van bach, ...
pham van bach
nguyen van toan
...
...
Hãy tập viết đầy đủ rõ chữ tiếng Việt. Có những chữ viết tắt bạn hiểu nhưng người khác chưa chắc đã hiểu và cũng là thể hiện tôn trọng người giúp đỡ.
Về vấn đề của bạn, hiện tại bạn đang dùng bộ office nào?
 
Hãy tập viết đầy đủ rõ chữ tiếng Việt. Có những chữ viết tắt bạn hiểu nhưng người khác chưa chắc đã hiểu và cũng là thể hiện tôn trọng người giúp đỡ.
Về vấn đề của bạn, hiện tại bạn đang dùng bộ office nào?
Xin lỗi anh /chị,
Hiện tại em đang dùng bộ Office 2016.
Rất mong nhận được sự giúp đỡ từ anh/chị.
 
Xin lỗi anh /chị,
Hiện tại em đang dùng bộ Office 2016.
Rất mong nhận được sự giúp đỡ từ anh/chị.
Với office đời cao (>=2019) có hàm Textjoin thì việc nối chuỗi đơn giản hơn
Như bạn đang dùng 2016 thì thường sử dụng 1 trong 2 cách:
1/ Tạo cột phụ
2/ Dùng VBA
Bạn cảm thấy hứng thú với cách nào thì gửi file lên mọi người giúp đỡ
Ngoài ra cũng có thể dùng powerpivot, power query nhưng 2 cách nói trên cũng đáp ứng được rồi!
 
cảm ơn anh/chị.
rất mong nhận được sụ giúp đỡ bằng cả 2 cách ạ.
vì đang trong quá trình học hỏi nên muốn biết thêm ạ.
Với office đời cao (>=2019) có hàm Textjoin thì việc nối chuỗi đơn giản hơn
Như bạn đang dùng 2016 thì thường sử dụng 1 trong 2 cách:
1/ Tạo cột phụ
2/ Dùng VBA
Bạn cảm thấy hứng thú với cách nào thì gửi file lên mọi người giúp đỡ
Ngoài ra cũng có thể dùng powerpivot, power query nhưng 2 cách nói trên cũng đáp ứng được rồi!
 

File đính kèm

cảm ơn anh/chị.
rất mong nhận được sụ giúp đỡ bằng cả 2 cách ạ.
vì đang trong quá trình học hỏi nên muốn biết thêm ạ.
File bạn đính kèm có khác so với diễn giải bài #1. Sheet PXK_NB có 3 cột, vậy không trùng là cho điều kiện cả 3 cột hay chỉ mỗi cột "Số lệnh điều động"?
 
dạ chỉ 1 cột "số lệnh điều động" thôi ạ.
ô cần hiển thị ở sheet "IV" e có bôi vàng đó ạ.
dạ tại em k biết diễn giải sao cho mọi người hiểu.
File bạn đính kèm có khác so với diễn giải bài #1. Sheet PXK_NB có 3 cột, vậy không trùng là cho điều kiện cả 3 cột hay chỉ mỗi cột "Số lệnh điều động"?
 
dạ chỉ 1 cột "số lệnh điều động" thôi ạ.
ô cần hiển thị ở sheet "IV" e có bôi vàng đó ạ.
dạ tại em k biết diễn giải sao cho mọi người hiểu.
Mới đó đã chứng nào tật nấy. Người ta đã có công sức giúp bạn, phân tích vấn đề, tìm giải pháp. Phần bạn chỉ viết tiếng Việt cho nghiêm chỉnh cũng không làm nổi?

Hãy tập viết đầy đủ rõ chữ tiếng Việt. Có những chữ viết tắt bạn hiểu nhưng người khác chưa chắc đã hiểu và cũng là thể hiện tôn trọng người giúp đỡ.
...
 
dạ chỉ 1 cột "số lệnh điều động" thôi ạ.
ô cần hiển thị ở sheet "IV" e có bôi vàng đó ạ.
dạ tại em k biết diễn giải sao cho mọi người hiểu.
Có vẻ như bạn chỉ sửa viết tắt được hai bài
File đính kèm có cả 2 cách làm của tôi. Cách 1 dùng cột phụ thì mở file lên là hiểu, tôi tập trung nói về cách 2 là code.
Trong file tôi có code sau:
Mã:
Option Explicit

Public Function TextJoin_Unique(ByVal Rng As Range, _
                        Optional Delim As String = ",", _
                        Optional CaseMode As Boolean = False) As String
'// Rng: Vùng can noi chuoi
'// Delim: Ky tu phan cach, mac dinh dau phay (Có the nhap hoac bo qua)
'// CaseMode: Che do phan biet hoa/thuong, mac dinh khong phan biet (Có the nhap hoac bo qua)
Dim Arr(), I As Long, J As Long, Str As String
If Rng.Cells.Count > 1 Then
    Arr = Rng.Value2
    For J = 1 To UBound(Arr, 2)
        For I = 1 To UBound(Arr, 1)
            If InStr(1, Delim & Str & Delim, Delim & Arr(I, J) & Delim, CaseMode + 1) = 0 Then
                If Str = vbNullString Then Str = Arr(I, J) Else Str = Str & Delim & Arr(I, J)
            End If
        Next
    Next
Else
    Str = Rng.Value2
End If
TextJoin_Unique = Str
End Function
Cách dùng cũng đã mô tả rõ ràng trong code. Vùng chọn có thể là một dòng, một cột hoặc một vùng (cả dòng và cột)
Có chế độ chọn ký tự phân cách (mặc định là dấu phẩy)
Có chế độ phân biệt hoa thường (mặc định là không phân biệt)
 

File đính kèm

Có vẻ như bạn chỉ sửa viết tắt được hai bài
File đính kèm có cả 2 cách làm của tôi. Cách 1 dùng cột phụ thì mở file lên là hiểu, tôi tập trung nói về cách 2 là code.

Cách dùng cũng đã mô tả rõ ràng trong code. Vùng chọn có thể là một dòng, một cột hoặc một vùng (cả dòng và cột)
Có chế độ chọn ký tự phân cách (mặc định là dấu phẩy)
Có chế độ phân biệt hoa thường (mặc định là không phân biệt)
Đầu tiền em xin gửi lời cảm ơn anh Nhattanktnn đã giúp đỡ em. Và em trân trọng những gì anh chỉ dạy.
Mới đó đã chứng nào tật nấy. Người ta đã có công sức giúp bạn, phân tích vấn đề, tìm giải pháp. Phần bạn chỉ viết tiếng Việt cho nghiêm chỉnh cũng không làm nổi?
Kính thưa anh VetMini, trong câu của em, em thấy rằng em chỉ viết tắt 1 chữ "k" thể hiện đó là chữ "không""trong ngôn ngữ Tiếng Việt mình. Em nghĩ nó có vẻ bình thường so với những cuộc hội thoại dài hay ngắn. Em vẫn dùng Kính ngữ để thể hiện sự tôn trọng những gì anh Nhattanktnn đã giúp đỡ. Còn nếu anh thấy việc thể hiện chữ "k" thay bằng chữ "không" là không tôn trọng người giúp đỡ thì em xin phép không tiếp chuyện với anh. Anh có thể về mở lớp để dạy tiếng việt. anh quá tập trung xăm soi chính tả mà quên đi ngữ điệu người viết thể hiện thì mời anh sang chủ đề khác để soi.
Một lần nữa cảm ơn anh Nhattanktnn. Chúc anh thật nhiều sức khỏe.
 
Lần chỉnh sửa cuối:
Thêm 1 tham khảo cho vui nè:
PHP:
Sub TaoDanhSachDuyNhatCho1O()  'Macro Tao Danh Sách Duy Nhât & Chép Dên 1 Ô   '
 Dim Rws As Long:                   Dim Cls As Range
 Const Lim As String = "; ":        Dim KQua As String
 
 With Sheets("PXK_NB")
    Rws = .[c2].CurrentRegion.Rows.Count                  'Xác Dinh Dòng Cuôi Có Du Liêu   '
    .[H1].Resize(2 * Rws).Value = ""                              'Xóa Du Liêu Lân  Truóc   '
    .Range("C1").Resize(Rws).Copy Destination:=.[H1]  'Tao Danh Sách Duy Nhât   '
    .Range("$H$1").Resize(Rws).RemoveDuplicates Columns:=1, Header:=xlYes
    For Each Cls In .Range(.[H2], .[H2].End(xlDown))
        KQua = KQua & Lim & Cls.Value        'Chép Kêt Qua  '
    Next Cls
    MsgBox KQua, , "Chúc Vui Nha!"       'Hiên Kêt Qua   '
    .[H1].Resize(Rws + 9).Value = Space(0)
 End With
End Sub
= = = = = = = = = = = = = = = = = ♠ ♣ ♦ ♥ = = = = = = = = = = = = = = = = =
Tôi quan sát thấy cậu Vet này thường xuyên như vậy, có lẽ đó là bản tính rồi
Đó là chuyện khó tính của người già mà!
 
Lần chỉnh sửa cuối:
...Đó là chuyện khó tính của người già mà!
Khó tính mới biết chú ý "quan sát" đúng chỗ.
Người dễ tính, quan sát theo chủ quan của mình nên không thấy rằng hiện tượng viết tắt, viết tiếng Tây hầu hết xảy ra cho người hỏi bài. Hầu hết người giúp giải bài viết rất nghiêm chỉnh.

...
Kính thưa anh VetMini, trong câu của em, em thấy rằng em chỉ viết tắt 1 chữ "k" thể hiện đó là chữ "không""trong ngôn ngữ Tiếng Việt mình....
Dóc. Trong bài #7, có đến 2 từ viết tắt.
Trừ phi bạn nhất định rằng từ kia là đúng tiếng Việt. Nó có nghĩa là sợ, lo,...
 
Lần chỉnh sửa cuối:
Dóc. Trong bài #7, có đến 2 từ viết tắt.
Trừ phi bạn nhất định rằng từ kia là đúng tiếng Việt. Nó có nghĩa là sợ, lo,...
Ôi anh ơi! anh bắt lỗi chi tiết như vậy thì em chịu. Các kính ngữ em đã thể hiện hết rồi. Giờ 1 vài chữ viết tắt "gọi là chấp nhận được" mà không làm mất đi ý nghĩa nội dung câu chuyện thì không cần bẻ gãy răng em vậy đâu anh. Trong #1 em có viết tắt nhiều và đã được anh Nhattanktnn nhắc nhở rồi, đã tiếp thu và sửa đổi rồi mà anh.
Thêm 1 tham khảo cho vui nè:
PHP:
Sub TaoDanhSachDuyNhatCho1O()  'Macro Tao Danh Sách Duy Nhât & Chép Dên 1 Ô   '
 Dim Rws As Long:                   Dim Cls As Range
 Const Lim As String = "; ":        Dim KQua As String
 
 With Sheets("PXK_NB")
    Rws = .[c2].CurrentRegion.Rows.Count                  'Xác Dinh Dòng Cuôi Có Du Liêu   '
    .[H1].Resize(2 * Rws).Value = ""                              'Xóa Du Liêu Lân  Truóc   '
    .Range("C1").Resize(Rws).Copy Destination:=.[H1]  'Tao Danh Sách Duy Nhât   '
    .Range("$H$1").Resize(Rws).RemoveDuplicates Columns:=1, Header:=xlYes
    For Each Cls In .Range(.[H2], .[H2].End(xlDown))
        KQua = KQua & Lim & Cls.Value        'Chép Kêt Qua  '
    Next Cls
    MsgBox KQua, , "Chúc Vui Nha!"       'Hiên Kêt Qua   '
    .[H1].Resize(Rws + 9).Value = Space(0)
 End With
End Sub
= = = = = = = = = = = = = = = = = ♠ ♣ ♦ ♥ = = = = = = = = = = = = = = = = =

Đó là chuyện khó tính của người già mà!
Em cảm ơn anh ạ.
Vì là người mới nên kinh nghiệm non nớt, mong anh ví dụ luôn vào file của em có gửi kính kèm bên trên #5. Nếu được vậy thì quá tốt ạ.
Hiện tại công thức của anh Nhattanktnn vẫn phải lấy giá trị ở cột D. Em muốn công thức từ cột C nhảy 1 phát ăn liền sang ô bôi vàng bên sheet "ÏV".
Hì. Xin lỗi các anh vì "có voi đòi tiên" nhưng ý tưởng ban đầu của em là vậy.
 
. . . . . Vì là người mới nên kinh nghiệm non nớt, mong anh ví dụ luôn vào file của em có gửi kính kèm bên trên #5. Nếu được vậy thì quá tốt ạ.
. . . . . . . .
Ở #12 mình đưa ra 1 macro để bạn tham khảo mà thôi;
Còn vấn đề bạn muốn mình thị phạm thì không xong rồi!

Thêm nữa: Tiêu đề bài viết này của bạn nên là:
"Gộp dữ liệu không trùng của 1 cột & cho hiện lên ở 1 ô trang tính"


Thân!
 
Như thế này mới là chi tiết nè bạn ới. Vui thôi nhé.

View attachment 280870
Dạ vui vẻ mà anh ơi. Em cũng nhận sai ở những # đầu và chân thành sửa đổi. Có gì đâu.
Ở #12 mình đưa ra 1 macro để bạn tham khảo mà thôi;
Còn vấn đề bạn muốn mình thị phạm thì không xong rồi!

Thêm nữa: Tiêu đề bài viết này của bạn nên là:
"Gộp dữ liệu không trùng của 1 cột & cho hiện lên ở 1 ô trang tính"


Thân!
Buồn !! dù sao cũng cảm ơn anh.
Rất mong nhận được nhiều góp ý hơn từ phía mọi người.
 
Web KT

Bài viết mới nhất

Back
Top Bottom