Giúp hàm lọc ra các đối tượng trùng nhau và đếm số lần trùng

Liên hệ QC
Xin chào các bác ! em có 1 danh sách các tên trong đó có các tên bị trùng nhau. Em muốn tạo danh sách các tên bị trùng nhau và sắp xếp các tên trùng nhau đó liên tiếp nhau thì làm thế nào ạ.
Góp vui thêm 1 cách. Sort lại cột tên để các tên trùng được gần nhau không dùng cột phụ:
 

File đính kèm

  • thôn như nguyệt - Copy.7z
    16.6 KB · Đọc: 21
Bạn xem File đính kèm, muốn lọc tên nào thì bạn gõ tên đó vào ô I24
Mình dùng VBA, bạn mở File và nhấn nút "LỌC TRÙNG" nhé!
Mã:
Option Explicit
Public Sub LocTrung()
Dim Dic As Object, sArr(), Kq(), WF As Object
Dim i As Long, j As Long, k As Long, d As Long, Lr As Long, dem As Long
Set Dic = CreateObject("Scripting.Dictionary"): Set WF = Application.WorksheetFunction
 Lr = Sheet1.Range("D65536").End(xlUp).Row: sArr = Sheet1.Range("B9:E" & Lr)
ReDim Kq(1 To UBound(sArr), 1 To 3)
For i = 1 To UBound(sArr)
    If Not Dic.Exists(sArr(i, 3)) Then
        Dic.Add sArr(i, 3), 1
    End If
Next i
For j = 1 To UBound(sArr)
    If WF.CountIf(Sheet1.Range("D9:D" & Lr), sArr(j, 3)) > 1 Then
             d = d + 1
        For k = 1 To 3
            Kq(d, k) = sArr(j, k + 1)
        Next k
    End If
Next j
Sheet1.Range("G9:I65536").ClearContents
Sheet1.Range("G9").Resize(d, 3) = Kq
Sheet1.Range("G9").Resize(d, 3).Sort key1:=Sheet1.Range("H9")
End Sub
 

File đính kèm

  • Chuot0106.xls
    117.5 KB · Đọc: 47
Lần chỉnh sửa cuối:
Mình vẫn chưa làm được theo cách nào của mọi người cả. Mình cần danh sách những hộ trùng tên ở liên tiếp nhau để mình còn biết số lượng và phải đi hỏi thăm thêm tên vợ hoặc chồng để phân biệt các hộ gia đình đó, khi phân biệt được những tên trùng đó thì phát hóa đơn thu tiền nước mới chuẩn được. Mong mọi người giúp đỡ cách nào nhanh nhất, vì có những trường hợp số hộ bị trùng lặp tên 2 lần lên đến 40 nhà mà lọc từng tên đó 1 thì lâu lắm.
 
Mình vẫn chưa làm được theo cách nào của mọi người cả. Mình cần danh sách những hộ trùng tên ở liên tiếp nhau để mình còn biết số lượng và phải đi hỏi thăm thêm tên vợ hoặc chồng để phân biệt các hộ gia đình đó, khi phân biệt được những tên trùng đó thì phát hóa đơn thu tiền nước mới chuẩn được. Mong mọi người giúp đỡ cách nào nhanh nhất, vì có những trường hợp số hộ bị trùng lặp tên 2 lần lên đến 40 nhà mà lọc từng tên đó 1 thì lâu lắm.
Bạn xem bài này(#42) chưa?
 
Mình vẫn chưa làm được theo cách nào của mọi người cả. Mình cần danh sách những hộ trùng tên ở liên tiếp nhau để mình còn biết số lượng và phải đi hỏi thăm thêm tên vợ hoặc chồng để phân biệt các hộ gia đình đó, khi phân biệt được những tên trùng đó thì phát hóa đơn thu tiền nước mới chuẩn được. Mong mọi người giúp đỡ cách nào nhanh nhất, vì có những trường hợp số hộ bị trùng lặp tên 2 lần lên đến 40 nhà mà lọc từng tên đó 1 thì lâu lắm.
lấy file bài #42 về mở lên bấm nút màu xanh biển có chữ lọc trùng là xong . việc đó quá khó chăng ?
 
Có thấy nút màu xanh, nhưng hình như không ấn được. Vả lại mình có rất nhiều danh sách khác nữa cần phải làm như thế. Xin bác chỉ cho cách dùng file đó làm gốc rồi chỉ copy tên và ReSi sang để chạy được không ạ. Cảm ơn bác rất nhiều
 
Lần chỉnh sửa cuối:
Lỗi nó như ảnh bên dưới ạ
 
Đâu rồi a ơi ! Giúp em với ạ
 
Mong các bác giúp đỡ! Em có 1 file như bên dưới (file khá nặng nên đã bị cắt bỏ 1 phần). Em muốn lọc thông tin dựa trên mã bệnh nhân và sắp xếp liên tục nếu như bị trùng. Em thử cách ở #13 nhưng không khả thi vì chỉ lọc được từng mã. Trong khi em có 1 danh sách mã bệnh nhân khá dài cần lọc ra. Xin các bác chỉ giáo thêm /-*+/
 

File đính kèm

  • ABC.rar
    907.4 KB · Đọc: 15
File của bạn đã là kết quẻ bạn mong muốn. Nhưng nếu như mã bệnh nhân 02001826 đứng ở vị trí khác nhau tron cột "A" thì chỉ cần click chon Sort&Filter sau đó chọn Sort từ A đến Z là được rồi.
Chúc bạn thành công.
 
Do file nặng nên mình đã cắt bớt đi. Mình sort là để dùng cách ở #13 cho dễ nhưng vẫn không khả thi. Danh sách thông tin bệnh nhân cần lọc là 1 danh sách mã bệnh nhân khác (VD: mã bệnh nhân của những người bệnh trầm trọng). Còn file mình gửi là danh sách tất cả các bệnh nhân đến khám.
Và 1 vấn đề nữa là trong cột mã có 1 khoảng space mà excel không nhận, mình dùng hàm TRIM và SUBTITUE vẫn không xóa được. Không biết phải kí tự đặc biệt char(160) gì đó không. Mong các bác chỉ cách xóa cái khoảng trắng đó.
 
Lần chỉnh sửa cuối:
Em muốn lọc thông tin dựa trên mã bệnh nhân và sắp xếp liên tục nếu như bị trùng. Em thử cách ở #13 nhưng không khả thi vì chỉ lọc được từng mã. Trong khi em có 1 danh sách mã bệnh nhân khá dài cần lọc ra. Xin các bác chỉ giáo thêm /-*+/
Bạn nên đưa cái danh sách khá dài đó ra 1 trang tính nào đó; Chứ kiểu nói lí thuyết không, sau khi đọc lại bài #13 thêm rồi cũng chả hiểu kết quả bạn muốn là gì.

Nên thêm trang tính kết quả mà bạn mong muốn.
Đợi tin bạn.
 
Bạn nên đưa cái danh sách khá dài đó ra 1 trang tính nào đó; Chứ kiểu nói lí thuyết không, sau khi đọc lại bài #13 thêm rồi cũng chả hiểu kết quả bạn muốn là gì.

Nên thêm trang tính kết quả mà bạn mong muốn.
Đợi tin bạn.

Ý mình là cũng muốn lọc ra thông tin trùng nhau như file đính kèm ở #13. Mình có danh sách mã của hơn 20,000 bệnh nhận QUAN TRỌNG cần lọc ra từ TỔNG DANH SÁCH hơn 180,000 bệnh nhân. Cách ở #13 thì chỉ lọc tuần tự với 1 tham số nhất định. Còn của mình là cả 1 danh sách **~**. Mình có đính kèm luôn cả file ở #13 cho các bác xem luôn thể.
 

File đính kèm

  • Quarter Rpt Education (Japan Pool)1.xls
    64.5 KB · Đọc: 5
  • ABC.xlsx
    19.8 KB · Đọc: 11
Lần chỉnh sửa cuối:
Vấn đề của bạn không fải là lọc; Mà nó ở chổ mã bệnh nhân (MBN).

Danh sách MBN bạn iêu cầu lọc dài 7 kí số; trong khi đó danh sách CSDL bệnh nhân ở cả 2 file không có là mống nào có MBN như vậy cả thì làm sao lọc;

CSDL của bạn chắc lấy ra từ fần mềm cho nên cuối mỗi mã bệnh nhân đều có 1 khoảng trống không cần thiết (& f ải xử lí).
Thêm nữa, nếu trừ 1 khoảng trống này ra vẫn còn xử con số 0 trước mỗi mã.
Sau 2 chu trình xử lí này vẫn còn 1 việc nữa là:
Xem lại thì chả có ai trong CSDL có MBN như danh sách của bạn.

Còn chuyện lọc là chuyện nhỏ, như trong file để bạn tham khảo.
 

File đính kèm

  • gpeFilter.rar
    24.1 KB · Đọc: 35
Chờ kết quả giải quyết từ SA_DQ để học hỏi thêm. chứ cái này cũng hok hiểu cho lắm.
 
Vấn đề của bạn không fải là lọc; Mà nó ở chổ mã bệnh nhân (MBN).

Danh sách MBN bạn iêu cầu lọc dài 7 kí số; trong khi đó danh sách CSDL bệnh nhân ở cả 2 file không có là mống nào có MBN như vậy cả thì làm sao lọc;

CSDL của bạn chắc lấy ra từ fần mềm cho nên cuối mỗi mã bệnh nhân đều có 1 khoảng trống không cần thiết (& f ải xử lí).
Thêm nữa, nếu trừ 1 khoảng trống này ra vẫn còn xử con số 0 trước mỗi mã.
Sau 2 chu trình xử lí này vẫn còn 1 việc nữa là:
Xem lại thì chả có ai trong CSDL có MBN như danh sách của bạn.

Còn chuyện lọc là chuyện nhỏ, như trong file để bạn tham khảo.
Bác có thể giả sử 3 4 MBN giống thế để lọc ra không? Chứ file hơn 20,000 người, em cũng có biết cái nào có hay không có trong tổng số 180,000 người. Em bị giới hạn upload nên phải cắt bớt file đi **~**. Và bác biết có cách nào xử lý cái kí tự đó không? hay phải xử lý thủ công.
 
Bác có thể giả sử 3 4 MBN giống thế để lọc ra không? Chứ file hơn 20,000 người, em cũng có biết cái nào có hay không có trong tổng số 180,000 người. Em bị giới hạn upload nên phải cắt bớt file đi **~**. Và bác biết có cách nào xử lý cái kí tự đó không? hay phải xử lý thủ công.
Bạn đưa file nên trang Web này sau đó copy đường link đưa nên đây.
 
Web KT
Back
Top Bottom