Làm sao dò tìm số lần sử dụng mã xuất trong cùng một ngày trên một bảng hơn 15000 row

Liên hệ QC

kiemchu74

Thành viên mới
Tham gia
25/2/10
Bài viết
21
Được thích
0
Chào các bạn, mình có một bảng dữ liệu bao gồm 2 cột là mã xuất và ngày xuất, một mã xuất chỉ được phép dùng trong một ngày, bảng dữ liệu của mình tới hơn 150000 dòng, làm sao để biết những mã xuất nào đã vi phạm nguyên tắc chỉ được dùng một lần trong cùng một ngày, và đếm số lần mà mã xuất đó đã vi phạm. Mong các bạn giúp mình, thank trước nhé.
 
Bạn xem trong file kèm theo của mình

Cần lập danh sách mã duy nhứt cho macro
 

File đính kèm

  • gpeFormat.rar
    22.1 KB · Đọc: 10
Chào các bạn, mình có một bảng dữ liệu bao gồm 2 cột là mã xuất và ngày xuất, một mã xuất chỉ được phép dùng trong một ngày, bảng dữ liệu của mình tới hơn 150000 dòng, làm sao để biết những mã xuất nào đã vi phạm nguyên tắc chỉ được dùng một lần trong cùng một ngày, và đếm số lần mà mã xuất đó đã vi phạm. Mong các bạn giúp mình, thank trước nhé.
Thêm cột phụ, dùng CF.
 

File đính kèm

  • Copy of Dem ma xuat.rar
    25 KB · Đọc: 19
dùng Sumproduct, tại C2 bạn dùng công thức này
Mã:
 =SUMPRODUCT(($A$2:$A$1000=$A2)*($B$2:$B$1000=$B2))
rồi fill down
dùng autofilter cột C nhứng giá trị >1 thì bạn sẽ có danh sách cần thiết.
 
bạn cho mình pass của Marco đi bạn, mình vào xem nhưng bị hỏi pass. Mà bạn ơi sao mình export marco ra rồi tích hợp vô luôn một file thì không chạy duoc hả bạn.Cảm ơn bạn nhiều nha.
 
Cách của bạn rất hay, cảm ơn bạn nhiều nha
 
bạn cho mình pass của Marco đi bạn, mình vào xem nhưng bị hỏi pass. Mà bạn ơi sao mình export marco ra rồi tích hợp vô luôn một file thì không chạy duoc hả bạn.Cảm ơn bạn nhiều nha.

Có khóa đâu nhỉ?

Còn nếu bạn vẫn chưa coi được, thì đây, mời bạn:
PHP:
Option Explicit
Sub GPE()
 Dim Rng As Range, sRng As Range, Cls As Range
 Dim Dat As Date, MyAdd As String, Rws As Long
 
 Set Rng = Range([A1], [A1].End(xlDown))
 For Each Cls In Range([E2], [E2].End(xlDown))
   Set sRng = Rng.Find(Cls.Value, , xlFormulas, xlWhole)
   If Not sRng Is Nothing Then
      MyAdd = sRng.Address:      Dat = 0
      Do
         If Dat = 0 Then
            Dat = sRng.Offset(, 1).Value
            Rws = sRng.Row
         Else
            If sRng.Offset(, 1) = Dat Then
               Cells(Rws, "B").Interior.ColorIndex = 38
               sRng.Offset(, 1).Interior.ColorIndex = 41
            End If
         End If
         Set sRng = Rng.FindNext(sRng)
      Loop While Not sRng Is Nothing And sRng.Address <> MyAdd
   End If
 Next Cls
End Sub
Chú í: Macro cần có danh sách duy nhứt ở cột 'E'
 
Web KT
Back
Top Bottom