Giúp mình tìm dữ liệu lặp nhiều lần

Liên hệ QC

duythuong2012

Thành viên mới
Tham gia
29/10/14
Bài viết
19
Được thích
0
Mình có 2 cột dữ liệu các mã ký hiệu lô hàng, có 1 lô gốc có thể được chia thành nhiều lô con và các lô con lại có thể phân chia tiếp, vậy cần tìm lô gốc của các lô con đã phân chia. Cụ thể nhờ mọi người xem file giúp mình với, gà mờ về excel quá chẳng biết làm sao ạ. Mình xin cám ơn nhiều ạ!
 

File đính kèm

  • test1.xlsx
    8.7 KB · Đọc: 13
Mình có 2 cột dữ liệu các mã ký hiệu lô hàng, có 1 lô gốc có thể được chia thành nhiều lô con và các lô con lại có thể phân chia tiếp, vậy cần tìm lô gốc của các lô con đã phân chia. Cụ thể nhờ mọi người xem file giúp mình với, gà mờ về excel quá chẳng biết làm sao ạ. Mình xin cám ơn nhiều ạ!
Nên bố trí lại số liệu , để thế này thì thêm rối, làm khó cho lập công thức, cũng thiếu tính logic cho chính ta xử lý
(có thể bạn nên đưa ví dụ thật , có thể dữ liệu bố trí kiểu khác)
 
Upvote 0
Nên bố trí lại số liệu , để thế này thì thêm rối, làm khó cho lập công thức, cũng thiếu tính logic cho chính ta xử lý
(có thể bạn nên đưa ví dụ thật , có thể dữ liệu bố trí kiểu khác)
Dạ dữ liệu thật của bên mình như vậy ạ. Đây là dạng dữ liệu xuất ra từ phần mềm bên mình nên ko sắp xếp cách nào được ạ.
 
Upvote 0
Mình có 2 cột dữ liệu các mã ký hiệu lô hàng, có 1 lô gốc có thể được chia thành nhiều lô con và các lô con lại có thể phân chia tiếp, vậy cần tìm lô gốc của các lô con đã phân chia. Cụ thể nhờ mọi người xem file giúp mình với, gà mờ về excel quá chẳng biết làm sao ạ. Mình xin cám ơn nhiều ạ!
Chạy code . . .
Mã:
Sub ABC()
  Dim sArr(), res(), dic As Object, tmp$, sRow&, i&
 
  Set dic = CreateObject("scripting.dictionary")
  sArr = Range("A2", Range("B" & Rows.Count).End(xlUp)).Value
  sRow = UBound(sArr)
  ReDim res(1 To sRow, 1 To 1)
  For i = 1 To sRow
    dic.Item(sArr(i, 2)) = sArr(i, 1)
  Next i
  For i = 1 To UBound(sArr)
    Do
      tmp = dic.Item(sArr(i, 2))
      If dic.exists(tmp) = False Then res(i, 1) = tmp
      sArr(i, 2) = tmp
    Loop Until res(i, 1) <> Empty
  Next i
  Range("D2").Resize(sRow) = res
End Sub
 
Upvote 0
Mình có 2 cột dữ liệu các mã ký hiệu lô hàng, có 1 lô gốc có thể được chia thành nhiều lô con và các lô con lại có thể phân chia tiếp, vậy cần tìm lô gốc của các lô con đã phân chia. Cụ thể nhờ mọi người xem file giúp mình với, gà mờ về excel quá chẳng biết làm sao ạ. Mình xin cám ơn nhiều ạ!
Cái này là con, cháu,chắt rồi, thử hàm này:
Mã:
Public Function TimCha(ByVal Con As String, ByVal rngCha As Range, ByVal rngCon As Range) As String
Dim arrCha As Variant, arrCon As Variant
Dim i As Long, u As Long
arrCha = rngCha.Value
arrCon = rngCon.Value
u = UBound(arrCha)
Do
        For i = 1 To u
            If arrCon(i, 1) = Con Then
                Con = arrCha(i, 1)
                Exit For
            End If
        Next i
Loop While i <= u
TimCha = Con
End Function
Cách dùng:

=TimCha(B2,$A$2:$A$13,$B$2:$B$13)

.
 
Upvote 0
Web KT

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

Back
Top Bottom