Trích lọc dữ liệu tổng hợp

Liên hệ QC

hic1802

Thành viên tiêu biểu
Tham gia
16/2/13
Bài viết
545
Được thích
34
Giới tính
Nam
Xin chào các thành viên GPE,
Nhờ mọi người giúp mình trích lọc dữ liệu tổng hợp như hình ví dụ phía dưới.
Từ bảng dữ liệu 1 trích lọc sang bảng dữ liệu 2
Mình gửi file đính kèm
Cảm ơn mọi người.
Untitled.png
 

File đính kèm

  • Book1.xlsx
    11 KB · Đọc: 13
Xin chào các thành viên GPE,
Nhờ mọi người giúp mình trích lọc dữ liệu tổng hợp như hình ví dụ phía dưới.
Từ bảng dữ liệu 1 trích lọc sang bảng dữ liệu 2
Mình gửi file đính kèm
Cảm ơn mọi người.
Góp ý cho bạn:
1/ Tiêu đề bạn ghi lọc dữ liệu là không đúng và không phù hợp với nội dung yêu cầu trong File bạn, bạn nên sửa Tiêu đề là "Dựa vào công việt (cột B) gộp các cột khác tương ứng với công việc".
2/ Sheet1 nên giữ nguyên và nên có kết quả ở sheet 2.

A_CoVi.GIF
 
Góp ý cho bạn:
1/ Tiêu đề bạn ghi lọc dữ liệu là không đúng và không phù hợp với nội dung yêu cầu trong File bạn, bạn nên sửa Tiêu đề là "Dựa vào công việt (cột B) gộp các cột khác tương ứng với công việc".
2/ Sheet1 nên giữ nguyên và nên có kết quả ở sheet 2.

View attachment 235747
Hình này của Chú không giống với đề bài rồi. Cái này gọi là "sửa đề" :p:p:p
 

File đính kèm

  • Book1.xlsm
    110.5 KB · Đọc: 13
Hình này của Chú không giống với đề bài rồi. Cái này gọi là "sửa đề" :p:p:p
1/ Mới làm thử để góp ý, chứ chưa làm thiệt (vì cái tiêu đề không phù hợp).
2/ Nếu không chỉnh thì sẽ là một tiền lệ, khi có thành viên nào cần lọc cái gì đó mà vào mục tìm kiếm và gõ từ khóa "Trích lọc dữ liệu" tìm đến bài này thấy không đúng ý thì tốn thời gian quá đi.
 
Lần chỉnh sửa cuối:
Bạn chủ bài đăng thử với cái ni:
PHP:
Sub GopTenCongViecCungLoai()
Dim TenCV As String
Dim Arr()
Dim J As Long, W As Integer, Dem As Integer, VTr As Integer, Cot As Integer

Arr() = [B3].CurrentRegion.Offset(2).Value
ReDim dArr(1 To UBound(Arr()), 1 To 6)
For J = 1 To UBound(Arr())
    If Arr(J, 2) = "" Then Exit For
    If InStr(TenCV, Arr(J, 2)) < 1 Then
        W = W + 1:                          dArr(W, 1) = W
        TenCV = TenCV & Arr(J, 2) & "_"
        For Dem = 2 To 6
            dArr(W, Dem) = Arr(J, Dem)
        Next Dem
    Else
        VTr = InStr(TenCV, Arr(J, 2))
        Cot = Switch(VTr = 1, 1, VTr = 5, 2, VTr = 9, 3, VTr = 12, 4, VTr = 16, 5)
        dArr(Cot, 3) = dArr(Cot, 3) & Chr(10) & Arr(J, 3)
        dArr(Cot, 4) = dArr(Cot, 4) + Arr(J, 4)
        dArr(Cot, 5) = dArr(Cot, 5) & Chr(10) & Arr(J, 5)
        dArr(Cot, 6) = dArr(Cot, 6) & Chr(10) & Arr(J, 6)
    End If
Next J
[j3].Resize(W, 6).Value = dArr()
End Sub
 
Lần chỉnh sửa cuối:
Xin chào các thành viên GPE,
Nhờ mọi người giúp mình trích lọc dữ liệu tổng hợp như hình ví dụ phía dưới.
Từ bảng dữ liệu 1 trích lọc sang bảng dữ liệu 2
Mình gửi file đính kèm
Cảm ơn mọi người.
View attachment 235742

Mình ms tập nên nhìn code hơi củ chuối tí mn thông cảm!

Sub sap_xep()
Dim dic As Object
Dim arr(), arrkq()
Set dic = CreateObject("Scripting.dictionary")
arr = Sheet1.Range("A3:F11").Value
ReDim arrkq(1 To UBound(arr, 1), 1 To UBound(arr, 2))
For i = 1 To UBound(arr())
If arr(i, 2) <> "" Then
Pos = arr(i, 2)
If Pos <> "" Then
If Not dic.exists(Pos) Then
W = W + 1
dic.Add Pos, W
arrkq(W, 1) = W
arrkq(W, 2) = Pos
arrkq(W, 3) = arr(i, 3)
arrkq(W, 4) = arr(i, 4)
arrkq(W, 5) = arr(i, 5)
arrkq(W, 6) = arr(i, 6)
Else
arrkq(dic.Item(Pos), 3) = arrkq(dic.Item(Pos), 3) & Chr(10) & arr(i, 3)
arrkq(dic.Item(Pos), 4) = arrkq(dic.Item(Pos), 4) + arr(i, 4)
arrkq(dic.Item(Pos), 5) = arrkq(dic.Item(Pos), 5) & Chr(10) & arr(i, 5)
arrkq(dic.Item(Pos), 6) = arrkq(dic.Item(Pos), 6) & Chr(10) & arr(i, 6)
End If
End If
End If
Next
Sheet1.Range("J3").Resize(UBound(arrkq, 1), UBound(arrkq, 2)) = arrkq
End Sub
 
Web KT
Back
Top Bottom