Làm sao để xác định đang thiếu số hóa đơn nào trong chuỗi hóa đơn theo cột

Liên hệ QC

Khuất Thị Chi Hoa

Thành viên mới
Tham gia
21/9/17
Bài viết
29
Được thích
7
Giới tính
Nữ
Mình có 1 chuỗi số hóa đơn được nhập theo cột. Trong quý xuất nhiều nên có hóa đơn bị hủy do xuất sai. Trong file quản lý chỉ nhập những hóa đơn đúng đã gửi cho khách hàng. Đến khi cần tổng hợp, sort theo thứ tự. Mình muốn xác định được thiếu số hóa đơn nào thì phải làm cách nào? Nhờ các bạn hỗ trợ mình nhé. Mình đã thử dùng công thức nhưng không may chuỗi đang định dạng không phải số, nên công thức không dùng được. Cảm ơn các bạn nhiều.
 

File đính kèm

  • Bang-ke-mua-vao.xls
    130.5 KB · Đọc: 12
Mình có 1 chuỗi số hóa đơn được nhập theo cột. Trong quý xuất nhiều nên có hóa đơn bị hủy do xuất sai. Trong file quản lý chỉ nhập những hóa đơn đúng đã gửi cho khách hàng. Đến khi cần tổng hợp, sort theo thứ tự. Mình muốn xác định được thiếu số hóa đơn nào thì phải làm cách nào? Nhờ các bạn hỗ trợ mình nhé. Mình đã thử dùng công thức nhưng không may chuỗi đang định dạng không phải số, nên công thức không dùng được. Cảm ơn các bạn nhiều.
https://www.giaiphapexcel.com/diendan/threads/tìm-số-không-liên-tục-trong-dãy-số-liên-tục.17466/
 
@ Dear AnhThu-1976,

Mình làm rồi nhưng ra kết quả như file đình kèm. Vẫn không được. Bạn có cách nào khác không?
 

File đính kèm

  • Bang-ke-mua-vao.xls
    132 KB · Đọc: 6
Cách xài VBA, chịu không:
PHP:
Sub TimCacHoaDonThieuVang()
 Dim Max_ As Long, J As Long, Tmp As Long, W As Integer, Min_ As Long
 Dim Rng As Range, sRng As Range
 Const K0 As String = "000000"
 Min_ = 10 ^ 7
 For J = 3 To [A3].End(xlDown).Row
    Tmp = CLng(Cells(J, "A").Value)
    If Tmp > Max_ Then Max_ = Tmp
    If Tmp < Min_ Then Min_ = Tmp
 Next J
 Set Rng = Range([A2], [A2].End(xlDown))
 ReDim Arr(1 To Max_, 1 To 1) As String
 On Error GoTo LoiCT
 For J = Min_ To Max_
    Set sRng = Rng.Find(Right(K0 & CStr(J), 7), , xlFormulas, xlWhole)
    If sRng Is Nothing Then
        W = W + 1:                      Arr(W, 1) = Right(K0 & CStr(J), 7)
    End If
 Next J
 If W Then
    [C6].Resize(W).Value = Arr()
 End If
Err_:        Exit Sub
LoiCT:
    MsgBox Err, , J:                    Resume Next
End Sub
 
Web KT
Back
Top Bottom