Hỏi về tạo danh sách mới lọc trùng từ danh sách cũ

Liên hệ QC

hoidaica05

Thành viên mới
Tham gia
3/9/10
Bài viết
27
Được thích
1
Gửi anh chị em,

Em muốn tạo 1 danh sách các dữ liệu từ 1 cột khác sang nhưng có tổng hợp lại các dữ liệu trùng nhau như dạng khi mình pivot ra.

Ví dụ như trong file gửi kèm, em muốn tạo ra 1 list từ cột B sang 1 cột mới nhưng chỉ tổng hợp lại các dữ liệu trùng.

Mong anh chị em giúp đỡ.-=.,,-=.,,-=.,,
 

File đính kèm

Gửi anh chị em,

Em muốn tạo 1 danh sách các dữ liệu từ 1 cột khác sang nhưng có tổng hợp lại các dữ liệu trùng nhau như dạng khi mình pivot ra.

Ví dụ như trong file gửi kèm, em muốn tạo ra 1 list từ cột B sang 1 cột mới nhưng chỉ tổng hợp lại các dữ liệu trùng.

Mong anh chị em giúp đỡ.-=.,,-=.,,-=.,,

Có phải bạn muốn có kết quả trả về như trong File dưới đây không.
 

File đính kèm

Gửi anh chị em,

Em muốn tạo 1 danh sách các dữ liệu từ 1 cột khác sang nhưng có tổng hợp lại các dữ liệu trùng nhau như dạng khi mình pivot ra.

Ví dụ như trong file gửi kèm, em muốn tạo ra 1 list từ cột B sang 1 cột mới nhưng chỉ tổng hợp lại các dữ liệu trùng.

Mong anh chị em giúp đỡ.-=.,,-=.,,-=.,,

Nếu bạn muốn dùng hàm thì chọn khối F3:F44 rồi dán công thức dưới đây vào F3
F3 = IFERROR(INDEX($B$3:$B$44;SMALL(IF(MATCH($B$3:$B$44;$B$3:$B$44;0)=ROW(INDIRECT("1:"&ROWS($B$3:$B$44)));MATCH($B$3:$B$44;$B$3:$B$44;0);"");ROW(INDIRECT("1:"&ROWS($B$3:$B$44)))));"")

Nhấn Ctrl-Shift-Enter
 
Theo em thì mọi người hiểu chưa đúng ý của tác giả rồi. Bạn ấy muốn : " em muốn tạo ra 1 list từ cột B sang 1 cột mới nhưng chỉ tổng hợp lại các dữ liệu trùng." thì phải thế này mới phải chứ:
Capture.jpg


Chứ bạn ấy có muốn lọc ra danh sách duy nhất đâu ...
 
Lần chỉnh sửa cuối:
Theo em thì mọi người hiểu chưa đúng ý của tác giả rồi. Bạn ấy muốn : " em muốn tạo ra 1 list từ cột B sang 1 cột mới nhưng chỉ tổng hợp lại các dữ liệu trùng." thì phải thế này mới phải chứ:
View attachment 147977


Chứ bạn ấy có muốn lọc ra danh sách duy nhất đâu ...
nếu họ thích code thì thử code sau giống như hình bạn mô tả giữ lại cột A lấy duy nhất sang cột B
PHP:
Sub DuyNhat()
With Sheet1
    .Range("B1:B1000").Value = .Range("A1:A1000").Value
    .Range("$B$1:$B$1000").RemoveDuplicates Array(1)
End With
End Sub
 

File đính kèm

Lần chỉnh sửa cuối:
nếu họ thích code thì thử code sau giống như hình bạn mô tả giữ lại cột A lấy duy nhất sang cột B
PHP:
Sub DuyNhat()
With Sheet1
    .Range("B1:B1000").Value = .Range("A1:A1000").Value
    .Range("$B$1:$B$1000").RemoveDuplicates Array(1)
End With
End Sub

Anh vẫn chưa hiểu ý rồi ạ. Tức là giá trị nào bị trùng ( xuất hiện nhiều hơn 1 lần) bên cột B thì ta lấy các giá trị đó ( đương nhiên là lấy

1 lần thôi) đem chuyển nó qua cột khác ý ... Em cũng không biết ý bạn ấy có phải thế không hay là bạn ấy chỉ muốn lọc ra danh sách

duy nhất như mọi người làm ở trên ạ...
 
Anh vẫn chưa hiểu ý rồi ạ. Tức là giá trị nào bị trùng ( xuất hiện nhiều hơn 1 lần) bên cột B thì ta lấy các giá trị đó ( đương nhiên là lấy

1 lần thôi) đem chuyển nó qua cột khác ý ... Em cũng không biết ý bạn ấy có phải thế không hay là bạn ấy chỉ muốn lọc ra danh sách

duy nhất như mọi người làm ở trên ạ...
Nếu vậy thì sai bét rồi.... chờ chủ thớt xem sao tính tiếp .........--=0
 
Bạn xem có đúng ý bạn không?
 

File đính kèm

Sửa lại thành file 122
 

File đính kèm

Dạ em cảm ơn bác @phulien1902 và bác khuongvietphong, bác làm ra cái bảng đó làm chuẩn y ý em rồi. Ý của em là có 1 cột có rất nhiều dữ liệu, trong đó có cả dữ liệu trùng thì em muốn tách thành 1 cột lưu lại những dữ liệu cột đó nhưng tổng hợp các dữ liệu trùng thành 1 dữ liệu thôi. Nhưng mà ý e hỏi là cái đó nên dùng cách nào làm thì hợp lý nhất ý ạ, dùng công thức hay dùng vba ạ. Và nếu công thức thì có cái nào đơn giản không ạ? Như e thấy pivot thì là đơn giản nhất nhưng khi mình kéo thả hàng cột sẽ bị nhảy lung tung.@$@!^%@$@!^%
 
nếu họ thích code thì thử code sau giống như hình bạn mô tả giữ lại cột A lấy duy nhất sang cột B
PHP:
Sub DuyNhat()
With Sheet1
    .Range("B1:B1000").Value = .Range("A1:A1000").Value
    .Range("$B$1:$B$1000").RemoveDuplicates Array(1)
End With
End Sub
Cảm ơn bạn Kieu Manh nhé; Chưa Cạo Phải Gội vậy thì Cạo rồi Khỏi gội.
Trong Code trên vì cò nhu cầu dò tìm trên sheet khác nhau, tôi mò ra :
Sub Worksheet_Activate()
With Sheets("Dich")
.Range("B1:B100").Value = Sheets("Nguon").Range("A1:A100").Value
.Range("$B$1:$B$100").RemoveDuplicates Array(1)
End With
End Sub
Chỉ còn khuyết điểm là khi bên sheet nguồn dử liệu có nhảy dòng thì bên sheet đích bị nhảy dòng theo, tôi mong muốn được liền dòng nhưng chưa làm được
 

File đính kèm

Web KT

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

Back
Top Bottom