Trích xuất dữ liệu excel. Nhờ các cao thủ ra tay giúp đỡ (1 người xem)

Liên hệ QC

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

Phichlich

Thành viên mới
Tham gia
3/10/12
Bài viết
5
Được thích
1
Mình có 1 bảng tính như trong file đính kèm.
Sheet1 - Dữ liệu cần xử lý
Các dữ liệu cần trích được đánh dấu màu vàng. (Các ô vùng trắng cũng có dữ liệu)
Các mảng được khoanh vùng riêng
Dấu # ở ô cuối cùng đánh dấu vị trí kết thúc dữ liệu cần xử lý
Sheet2 - Trích dữ liệu
Mục đích:
1. Lập 1 bảng thống kê như ở sheet2

2. Nếu có thể thì giúp mình sắp lại thứ tự các vùng theo Name1 nữa thì càng tốt. Nếu không chịu khó dùng phương pháp thủ công tạm thời.

Xin cảm ơn!
 

File đính kèm

Mình có 1 bảng tính như trong file đính kèm.
Sheet1 - Dữ liệu cần xử lý
Các dữ liệu cần trích được đánh dấu màu vàng. (Các ô vùng trắng cũng có dữ liệu)
Các mảng được khoanh vùng riêng
Dấu # ở ô cuối cùng đánh dấu vị trí kết thúc dữ liệu cần xử lý
Sheet2 - Trích dữ liệu
Mục đích:
1. Lập 1 bảng thống kê như ở sheet2

2. Nếu có thể thì giúp mình sắp lại thứ tự các vùng theo Name1 nữa thì càng tốt. Nếu không chịu khó dùng phương pháp thủ công tạm thời.

Xin cảm ơn!

Vì đây là box Hàm và công thức Excel nên tôi làm bằng công thức chứ đúng ra dùng Macro sẽ đơn giản hơn. Bạn xem file.
 

File đính kèm

Làm giúp cho mình luôn đoạn code nhé. Cảm ơn
Làm theo công thức của huuthang_bd, thêm Sort cột B.
Cho chạy thử code này xem:
PHP:
Public Sub GPE()
Dim Rng(), Arr(), I As Long, K As Long
With Sheet1
    Rng = .Range(.[A1], .[A65000].End(xlUp)).Resize(, 2).Value
End With
ReDim Arr(1 To UBound(Rng, 1), 1 To 4)
    For I = 1 To UBound(Rng, 1)
        If Rng(I, 1) = "Begin" Then
            K = K + 1: Arr(K, 1) = K
            Arr(K, 2) = Rng(I - 4, 2)
            Arr(K, 3) = Rng(I - 2, 2)
        ElseIf Rng(I, 1) = "End" Then
            Arr(K, 4) = Rng(I - 1, 2)
        End If
    Next I
With Sheet2
    .[A5:D1000].ClearContents
    .[A5].Resize(K, 4).Value = Arr
    .[B5].Resize(K, 3).Sort Key1:=Range("B5")
End With
End Sub
 
Web KT

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

Back
Top Bottom