Nhờ các bác hỗ trợ giải thuật và cả code bài toán khó

Chia sẻ bởi:hands
★★★★★
Quảng cáo

Em cũng mới mày mò tự học VBA 1 tháng nay, nay có ý tưởng này muốn làm mà thực sự hơi quá khả năng, mong các bác chỉ dẫn.
Các vị trí 1-4 là những PC cấu thành nên GC
Tương tự 4,1- 4,2 – 4,3 . . . cấu thành nên 4
Bây giờ em cần lọc ra các PC cuối cùng trong mỗi vị trí để lấy ra full các PC cấu thành nên GC
Dưới đây là kết quả e cần lấy ra và bảng biểu ban đầu ạ:

1

2,1,1

2,2,1

2,2,2

3

4,1,1

4,1,2

4,1,3

4,2

4,3,1

4,4

4,4,1,1

4,4,1,2

4,4,1,3

4,4,1,4

4,4,1,5

4,4,1,6,1

4,4,1,6,2

GC
Line
Location
PC
Used

H2508308RV
LBSA
1
2110534R

2

H2508308RV
LBSA
2
2506002X

1

H2508308RV
LBSA
2,1
2506002V

1

H2508308RV
LBSA
2,1,1
21159-1

0.0221

H2508308RV
LBSA
2,2
2507006V

1

H2508308RV
LBSA
2,2,1
25044

0.00059

H2508308RV
LBSA
2,2,2
M00202

0.000032

H2508308RV
LBSA
3
2506028

2

H2508308RV
LBSA
4
2508308BR-1

1

H2508308RV
LBSA
4,1
2112503-1

4

H2508308RV
LBSA
4,1,1
2110503

4

H2508308RV
LBSA
4,1,2
2119088-1

4

H2508308RV
LBSA
4,1,3
2200540

4

H2508308RV
LBSA
4,2
2505555R

2

H2508308RV
LBSA
4,3
2506001GC

1

H2508308RV
LBSA
4,3,1
P0202-1

0.02513

H2508308RV
LBSA
4,4
2506003AR

1

H2508308RV
LBSA
4,4,1
2506004R

1

H2508308RV
LBSA
4,4,1,1
2506003

1

H2508308RV
LBSA
4,4,1,2
2506009

1

H2508308RV
LBSA
4,4,1,3
2506034

1

H2508308RV
LBSA
4,4,1,4
2506035R

1

H2508308RV
LBSA
4,4,1,5
2506039

1

H2508308RV
LBSA
4,4,1,6
2506004V

1

H2508308RV
LBSA
4,4,1,6,1
P0102

0.00277

H2508308RV
LBSA
4,4,1,6,2
P0503

0.00008

Lần sau nên gởi file

Option Explicit
Sub ABC()
  Dim arr(), res$(), tmp$, sRow&, i&, j&, r&, k&

arr = Range("C3", Range("C" & Rows.Count).End(xlUp)).Value
  sRow = UBound(arr, 1)
  ReDim res(1 To sRow, 1 To 1)
  For i = 1 To sRow
    j = InStrRev(arr(i, 1), ",")
    If j > 0 Then
      tmp = Mid(arr(i, 1), 1, j - 1)
      For r = 1 To i - 1
        If arr(r, 1) = tmp Then
          arr(r, 1) = Empty
          Exit For
        End If
      Next r
    Else
      arr(i, 1) = CStr(arr(i, 1))
    End If
  Next i
  For i = 1 To sRow
    If arr(i, 1) <> Empty Then
      k = k + 1
      res(k, 1) = arr(i, 1)
    End If
  Next i
  Range("G3").Resize(sRow) = res
End Sub

www.giaiphapexcel.com/diendan/threads/nh%E1%BB%9D-c%C3%A1c-b%C3%A1c-h%E1%BB%97-tr%E1%BB%A3-gi%E1%BA%A3i-thu%E1%BA%ADt-v%C3%A0-c%E1%BA%A3-code-b%C3%A0i-to%C3%A1n-kh%C3%B3.162224/#post-1082987

Khóa học Power PI – Ứng dung trong Nhân sự
Khóa học SprinGO phù hợp

Khóa học Power PI – Ứng dung trong Nhân sự

TỔNG QUAN KHÓA HỌC: POWER BI CHO NGÀNH NHÂN SỰ Khóa học Power BI cho Nhân sự được thiết kế dành riêng cho các...

Xem khóa học
★★★★★ 5 ★ 1 👤 1 ▥ 0
Quảng cáo

Bạn nên đọc

Bình luận

Quảng cáo

Cũ vẫn chất

Xem thêm