Tìm những số bị thiếu, bị trùng

Liên hệ QC

Sonquang93

Thành viên mới
Tham gia
8/2/20
Bài viết
34
Được thích
5
Chào mọi người. Mọi người giúp mình bài này với
Mình có 1 cột từ 01 đến 10000 (định dạng text). Trong đó có các số bị thiếu và các số khác bị trùng (có ghi A, B...sau) có cách nào để tìm ra các số bị thiếu và bị trùng nhanh không ạh. Cảm ơn mọi người nhiềuScreenshot_2021-01-18-22-19-59-632_com.microsoft.office.excel.jpg
 

File đính kèm

  • 123456..xlsx
    55.5 KB · Đọc: 15
Lần chỉnh sửa cuối:

Tìm những những số bị thiếu, bị trùng​

Chào mọi người. Mọi người giúp mình bài này với
Mình có 1 cột từ 01 đến 10000 (định dạng text). Trong đó có các số bị thiếu và các số khác bị trùng (có ghi A, B...sau) có cách nào để tìm ra các số bị thiếu và bị trùng nhanh không ạh. Cảm ơn mọi người nhiều
1/ Bạn gửi file lên xem sao.
2/ Dữ liệu trùng trong file thì mình chưa biết nhưng trên tiêu đề thì mình có thấy 2 từ "những", chịu khó sửa lại bạn nhé.
 

Tìm những những số bị thiếu, bị trùng​


1/ Bạn gửi file lên xem sao.
2/ Dữ liệu trùng trong file thì mình chưa biết nhưng trên tiêu đề thì mình có thấy 2 từ "những", chịu khó sửa lại bạn nhé.
Vâng ạh. Bây giờ mình chưa gửi file lên được. Bạn có thể giúp mình làm được không ạh. File giống như ảnh vậy chỉ là nhiều hơn thôi ạh. Cảm ơn bạn nhiều
 
Vâng ạh. Bây giờ mình chưa gửi file lên được. Bạn có thể giúp mình làm được không ạh. File giống như ảnh vậy chỉ là nhiều hơn thôi ạh. Cảm ơn bạn nhiều
Chắc nhiều người giống mình, lười xem ảnh rồi đi chép lại lắm và hình như từ "ạh" thừa chữ "h" thì phải.
 
Nếu chỉ tương tự dữ liệu bạn gửi thì bạn dùng thử câu lệnh như file mình gửi xem có OK ko nhé. Còn yêu cầu cao hơn thì chắc phải nhờ cao thủ lập trình rồi
 

File đính kèm

  • do tim.xlsb
    11.8 KB · Đọc: 11
Chắc nhiều người giống mình, lười xem ảnh rồi đi chép lại lắm và hình như từ "ạh" thừa chữ "h" thì phải.
mình tải file lên rồi bạn xem giúp mình với
Bài đã được tự động gộp:

Nếu chỉ tương tự dữ liệu bạn gửi thì bạn dùng thử câu lệnh như file mình gửi xem có OK ko nhé. Còn yêu cầu cao hơn thì chắc phải nhờ cao thủ lập trình rồi
cảm ơn bạn. Nhưng mà có lúc nó thiếu 2 đến 3 số luôn sợ sai mất ạ. ví dụ thiếu 11, 12, 13, 14 luôn
 
Nhìn vô ảnh thì thấy chỉ gặp 2 kiểu loại, đó là toàn số, hay số trước chữ (cái )sau; Vậy xin hỏi chủ bài đăng, có khi nào có dạng thứ 3 không, như GPE09,. . . .(?)
 
Nhìn vô ảnh thì thấy chỉ gặp 2 kiểu loại, đó là toàn số, hay số trước chữ (cái )sau; Vậy xin hỏi chủ bài đăng, có khi nào có dạng thứ 3 không, như GPE09,. . . .(?)
không ạ. Chỉ có số thôi, nếu có chữ thì sẽ ở phía sau và cũng chĩ có 1 chữ thôi. ví dụ 5A, 100A, 1000A, 1000B...
 
Mở file ra có thấy chỗ nào là A B đâu, tạo file ví dụ cũng ẩu vậy biết đường nào mà làm
 
Mở file ra có thấy chỗ nào là A B đâu, tạo file ví dụ cũng ẩu vậy biết đường nào mà làm
2534A, 3003A, 3003B, 3003C, 3003D, 3003D, 3003E, 3003F, 3003G, 3003H, 3003I, 3003K, 3003L, 3003M, 3003N, 3003O, 4152A, 4246A, 4583A, 4583B, 4583C, 5400A nhiều mà bạn. File ví dụ quên mất là có lúc nó thiếu mấy số liên tiếp thôi
 
2534A, 3003A, 3003B, 3003C, 3003D, 3003D, 3003E, 3003F, 3003G, 3003H, 3003I, 3003K, 3003L, 3003M, 3003N, 3003O, 4152A, 4246A, 4583A, 4583B, 4583C, 5400A nhiều mà bạn. File ví dụ quên mất là có lúc nó thiếu mấy số liên tiếp thôi
Công thức "chua" quá. Dùng VBA được không? Click 1 phát là xong.
 

File đính kèm

  • 123456.xlsb
    51.2 KB · Đọc: 16
Dữ liệu nhiều thế này chắc vba thôi chứ công thức khoai quá lên 10k chắc chạy không nổi. Làm công thức cho vui thôi chứ không dùng để áp dụng
 

File đính kèm

  • 123456..xlsx
    154.9 KB · Đọc: 12
mình tải file lên rồi bạn xem giúp mình với
Bài đã được tự động gộp:


cảm ơn bạn. Nhưng mà có lúc nó thiếu 2 đến 3 số luôn sợ sai mất ạ. ví dụ thiếu 11, 12, 13, 14 luôn
Của bạn toàn số ko thì dễ xử lý, bạn làm tiếp ở file của mình thêm cột hay thêm sheet đánh số thứ tự từ 1 đến 10.000 (số lượng bạn muốn check) sau đó bạn dùng hàm countif hoặc vlookup để tìm các số thiếu nhé.
Mình cũng đang có cùng mục đích giống bạn nhưng của mình có nhiều cột, và nhiều kiểu dữ liệu nên bắt buộc phải dùng VB hay GPE j đó mới đc
 
Công thức "chua" quá. Dùng VBA được không? Click 1 phát là xong.
cảm ơn bạn nha. cái này tốt quá
Bài đã được tự động gộp:


Bài đã được tự động gộp:

Dữ liệu nhiều thế này chắc vba thôi chứ công thức khoai quá lên 10k chắc chạy không nổi. Làm công thức cho vui thôi chứ không dùng để áp dụng
vâng ạ. công thức phức tạp quá.
 
Macro của mình đòi hỏi 16 giây:
PHP:
Sub TimSoThieuVaSoTrung()
 Dim J As Long, Rws As Long, DD As Byte, Max_ As Long, Min_ As Long, Dem As Integer, Tmr As Double
 Dim WF As Object, Rng As Range, sRng As Range
 Dim MyAdd As String
 
 Rws = [A2].End(xlDown).Row:                    Tmr = Timer()
 Application.ScreenUpdating = False
 For J = 2 To Rws
    With Cells(J, "A")
        If IsNumeric(.Value) Then
            .Offset(, 1).Value = .Value
        Else
            DD = Len(.Value) - 1
            .Offset(, 1).Value = CLng(Left(.Value, DD))
            .Offset(, 2).Value = Right(.Value, 1)
        End If
    End With
 Next J
 
 Set WF = Application.WorksheetFunction:        Set Rng = Range("B2:B" & Rws)
 Min_ = WF.Min(Rng):                            Max_ = WF.Max(Rng)
 Range("D2:E" & 2 * Rws).ClearContents:         ReDim Arr(1 To 2 * Rws, 1 To 2)
 For J = Min_ To Max_
    Set sRng = Rng.Find(J, , xlFormulas, xlWhole)
    If sRng Is Nothing Then
        W = W + 1:                              Arr(W, 1) = J
        Arr(W, 2) = "Không có"
    Else
        MyAdd = sRng.Address:                   Dem = 0
        Do
            Dem = Dem + 1
            Set sRng = Rng.FindNext(sRng)
        Loop While Not sRng Is Nothing And sRng.Address <> MyAdd
        If Dem > 1 Then
            W = W + 1:                          Arr(W, 1) = J
            Arr(W, 2) = "Trùng " & Dem & ".":   Dem = 0
        End If
    End If
 Next J
 Application.ScreenUpdating = True
 W = W + 1
 Arr(W, 1) = Format(Timer() - Tmr, "###.###0")
 Arr(W, 2) = "TG Tiêu Tôn"
 [d2].Resize(W, 2).Value = Arr()
 Range("B2:C" & Rws).ClearContents
End Sub
 
Chào mọi người. Mọi người giúp mình bài này với
Mình có 1 cột từ 01 đến 10000 (định dạng text). Trong đó có các số bị thiếu và các số khác bị trùng (có ghi A, B...sau) có cách nào để tìm ra các số bị thiếu và bị trùng nhanh không ạh. Cảm ơn mọi người nhiềuView attachment 253144
Chạy thử code
Mã:
Sub ABC()
  Dim sArr(), Res() As String, sRow&, i&, k&, k2&, soHS&, tmp&
 
  sArr = Range("A2", Range("A2").End(xlDown)).Value
  sRow = UBound(sArr)
  ReDim Res(1 To sRow, 1 To 2)
 
  tmp = cNum(sArr(1, 1))
  For i = 2 To sRow
    soHS = cNum(sArr(i, 1))
    If soHS = tmp Then
      k2 = k2 + 1
      Res(k2, 2) = sArr(i, 1)
    Else
      tmp = tmp + 1
      If soHS > tmp Then
        k = k + 1
        Res(k, 1) = Format(tmp, "00")
        i = i - 1
      End If
    End If
  Next
  Range("D2").Resize(sRow, 2).ClearContents
  If k < k2 Then k = k2
  If k > 0 Then Range("D2").Resize(k, 2) = Res
End Sub

Private Function cNum(ByVal iD) As Long
  If IsNumeric(iD) Then cNum = CLng(iD) Else cNum = CLng(Mid(iD, 1, Len(iD) - 1))
End Function
 
Làm thử với PowerQuery
 

File đính kèm

  • PowerQuerryGPE.xlsx
    70.1 KB · Đọc: 9
Web KT
Back
Top Bottom