lọc ra những số còn thiếu trong một dãy số (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

minhkhoa90

Thành viên mới
Tham gia
24/2/11
Bài viết
5
Được thích
0
tôi có 2 sheet, một sheet là ghi những số seri đã bán cho khách hàng, một sheet là ghi số seri tôi đã nhập về, cuối tháng tôi muốn đò lại những số seri còn thiếu trong tổng số seri đã nhập về.có hàm nào dò được phần này chỉ tôi với. dò bằng tay từng số lâu và hay lộn quá.
cảm ơn mọi người nhiều.
 

File đính kèm

tôi có 2 sheet, một sheet là ghi những số seri đã bán cho khách hàng, một sheet là ghi số seri tôi đã nhập về, cuối tháng tôi muốn đò lại những số seri còn thiếu trong tổng số seri đã nhập về.có hàm nào dò được phần này chỉ tôi với. dò bằng tay từng số lâu và hay lộn quá.
cảm ơn mọi người nhiều.
Không hiểu từ còn thiếu ở đây nghĩa là thế nào nữa
Hay ý bạn muốn nói là CÒN LẠI?
Mà sao lại nhập liệu kiểu kỳ cục thế hả trời? Chỉ tổ tính toán cực khổ thêm
 
tôi có 2 sheet, một sheet là ghi những số seri đã bán cho khách hàng, một sheet là ghi số seri tôi đã nhập về, cuối tháng tôi muốn đò lại những số seri còn thiếu trong tổng số seri đã nhập về.có hàm nào dò được phần này chỉ tôi với. dò bằng tay từng số lâu và hay lộn quá.
cảm ơn mọi người nhiều.
Nếu mình hiểu đúng thì bài này khó có cửa giải quyết bằng công thức mà phải dùng VBA xử nó
Cái khó là hổng biết mình hiểu có đúng hông nữa, tạm thời cứ thế này, nếu trật thì.....nhờ Thầy Ndu làm. Híc
Mã:
Public Sub SoConLai()
    Dim Vung, VungNhap, Cll, iDau, iCuoi, d, I, K, Mg(), MgKq(), kK, M, Kq(), mM
    Set d = CreateObject("scripting.dictionary")
    Set Vung = Sheets("da ban").Range(Sheets("da ban").[a2], Sheets("da ban").[a10000].End(xlUp))
    Set VungNhap = Sheets("da nhap").Range(Sheets("da nhap").[a2], Sheets("da nhap").[a10000].End(xlUp))
    [a2:c30000].ClearContents
    ReDim Mg(1 To 50000, 1 To 1):    ReDim MgKq(1 To 50000, 1 To 1)
        For Each Cll In Vung
            iDau = Val(Left(Cll, InStr(1, Cll, "-") - 1))
            iCuoi = Val(Right(Cll, Len(Cll) - Len(iDau) - 1))
                For I = iDau To iCuoi
                    If Not d.exists(I) Then
                        K = K + 1
                        d.Add (I), K
                        Mg(K, 1) = I
                    End If
                Next I
        Next Cll
                    For Each Cll In VungNhap
                        iDau = Val(Left(Cll, InStr(1, Cll, " ") - 1))
                        iCuoi = Val(Right(Cll, Len(Cll) - Len(iDau) - 1))
                            For I = iDau To iCuoi
                                If Not d.exists(I) Then
                                    kK = kK + 1
                                    MgKq(kK, 1) = I
                                End If
                            Next I
                    Next Cll
                        [a2].Resize(kK) = MgKq
    ReDim Kq(1 To kK, 1 To 1)
    iDau = MgKq(LBound(MgKq), 1)
        For M = LBound(MgKq) + 1 To UBound(MgKq)
            If M = kK Then
                iCuoi = MgKq(M, 1)
                mM = mM + 1
                Kq(mM, 1) = "Tu " & iDau & " den " & iCuoi
            ElseIf MgKq(M, 1) - MgKq(M - 1, 1) > 1 Then
                iCuoi = MgKq(M - 1, 1)
                mM = mM + 1
                Kq(mM, 1) = "Tu " & iDau & " den " & iCuoi
                iDau = MgKq(M, 1)
            End If
        Next M
    [c2].Resize(mM) = Kq
End Sub
Hôm nay hổng có độ nào, buồn quá nên...làm đại
Thân
 

File đính kèm

Bạn thử nghiên cứu file mà tôi sưu tầm trên GPE, chắc đúng ý bạn
 

File đính kèm

Mình cũng xin góp một cách làm khác cho vui.
Mã:
Option Explicit
Sub Tim_so()
Dim i As Long, j As Long, k As Long, t As Long, a As Long, b As Long
Dim vungban, vungnhap, Kq1(), Kq2(), soban, sonhap
Sheet3.Range("B2").CurrentRegion.Offset(1).ClearContents
vungban = Sheet1.Range("A2").CurrentRegion.Offset(1)
vungnhap = Sheet2.Range("A2").CurrentRegion.Offset(1)
With CreateObject("Scripting.Dictionary")
    For i = 1 To UBound(vungban, 1) - 1
           soban = Split(vungban(i, 1), "-")
                For j = soban(0) To soban(1)
                     .Add j, ""
               Next
    Next
            b = 1: a = 1
    For k = 1 To UBound(vungnhap, 1) - 1
            sonhap = Split(Trim(vungnhap(k, 1)), " ")
                For t = sonhap(0) To sonhap(1)
                      If Not .Exists(t) Then
                           ReDim Preserve Kq1(1 To a + 1)
                            Kq1(a) = t: a = a + 1
                     Else
                         ReDim Preserve Kq2(1 To b + 1)
                         Kq2(b) = t: b = b + 1
                    End If
                Next
    Next
End With
        Sheet3.Range("b2").Resize(UBound(Kq1)) = WorksheetFunction.Transpose(Kq1)
        Sheet3.Range("c2").Resize(UBound(Kq2)) = WorksheetFunction.Transpose(Kq2)
End Sub
 

File đính kèm

cam ơn mọi người đã nhiệt tình giúp đỡ mình. các bạn đã làm tương đối giống yêu câu của tôi rồi, tuy không được my mãn lâm nhưng nhiếu đó cũng là được rồi. nhất là anh concogia đã làm rất sát yêu cầu. bạn có thể làm cho mình môt chút nữa không.
sau khi dò xong những số seri chua bán, trong phần đã bán mình muốn tô chữ xanh những số đã dò rồi, còn những số có trong đó mà nó không khớp với số seri đã nhập thì mình mình tô màu đỏ (kiểm ra coi mình có đánh sai số seri nào không đó mà).
cảm ơn mọi người đã giúp đỡ.
 
Lần chỉnh sửa cuối:
tôi có 2 sheet, một sheet là ghi những số seri đã bán cho khách hàng, một sheet là ghi số seri tôi đã nhập về, cuối tháng tôi muốn đò lại những số seri còn thiếu trong tổng số seri đã nhập về.có hàm nào dò được phần này chỉ tôi với. dò bằng tay từng số lâu và hay lộn quá.
cảm ơn mọi người nhiều.

So sánh giữa 2 danh sách nằm trong 2 sheet khác nhau, một sheet có tên là Nhập kho ghi những số seri đã nhập kho, một sheet có tên là Bán hàng ghi những số seri đã xuất kho bán cho khách hàng. Để so sánh ta thực thực hiện như sau: Mở sheet có tên là Nhập kho ta nhập vào công thức

=IF(VLOOKUP($B2,'Bán hàng'!$C$2:$C$57,1,0),"Đã bán hàng","")

Hướng dẫn cụ thể trong File word, Excel bạn có thể tải File theo Link sau:


http://www.4shared.com/document/pzI-k5Wg/Huong_dan_So_sanh_2_danh_sach_.html
http://www.4shared.com/document/Ue9i6LZs/So_sanh_2_Danh_sach.html


 
Lần chỉnh sửa cuối:
Web KT

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

Back
Top Bottom