THỐNG KÊ DỮ LIỆU DỰA VÀO NHIỀU ĐIỀU KIỆN. (2 người xem)

Liên hệ QC

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

huonglien1901

GPE là ngôi nhà thứ 2 của tôi!!!
Tham gia
17/4/16
Bài viết
2,701
Được thích
2,434
Giới tính
Nam
Nghề nghiệp
Nhân viên kỹ thuật in ấn
Chào mọi người!

Em có file này có những vấn đề nhờ mọi người hỗ trợ.
Sheet NEGATIVE STOCK: Lọc Cột SKU QUANLITY ở sheet GPE nhỏ hơn 0(<0) rồi copy hết dữ liệu qua sheet NEGATIVE.
Lọc cột WEIGH/SKU giá trị nhỏ hơn 0, Chọn cột ARTICLE STATUS là số 3 và số 5, Chọn cột CEXTdùng hàm MID(CEXT,3,2) để lấy ra mã quầy 05 rồi copy dữ liệu qua sheet NEGATIVE ở ví trí kế tiếp.(Lấy cả tên tiêu đê)
Sheet F3,F5 H.STOCK: Lọc cột SKU QUANLITY ở sheet GPE giá trị lớn hơn 0(>0),Chọn cột ARTICLE STATUS là số 3 và 5,Chọn cột CEXT dùng hàm MID(CEXT,3,2) để lấy ra mã quầy 04 rồi copy dữ liệu qua sheet F3,F5 H.STOCK (kể cả tên tiêu đề
Sheet HIGH STOCK: Lọc SKU QUANLITY các giá trị từ cao đến thấp.
Ở tiêu đề TOP 100 CHẠY THEO SỐ LƯỢNG.
DÙNG HÀM MID(CEXT,3,2) bỏ mã quầy 03,05, rồi copy 100 dòng rồi dán vào ô D3 ở sheet HIGH STOCK.
ở tiêu đề TOP 100 CHẠY THEO GIÁ TRỊ
Lọc cột STock Cost Value các giá trị từ cao đến thấp, dùng hàm mid(CEXT,3,2) bỏ mã quầy 03,05, rồi copy 100 dòng dán vào ô d106 của sheet HIGH STOCK.
Sheet SAOA: cột K(SUPPLIER CODE): dò kết quả bên sheet Oderdass dựa vào điều kiện cột BARCODE., Nếu dữ liệu không tìm thấy vần giữ định dạng lỗi #NA.
Cột L(SUPPLIER NAME): dò kết quả bên sheet Oderdass dựa vào điều kiện cột BARCODE., Nếu dữ liệu không tìm thấy vần giữ định dạng lỗi #NA.
Cột M(STOCK): dựa vào kết quả ơt cột SKU QUANLITY dựa vào điều kiện Cột BARCODE.(ở sheet GPE)
Nếu không tìm thấy thì tìm dựa vào Cột CODE(ở sheet GPE) để tìm.
Nếu không tìm thấy thì vẫn giữ định dạng lỗi #NA.
Cột N(Awating): dựa vào kết quả bên sheet Awating dùng hàm sumif để tính dựa vào điều kiện cột BARCODE.
Sheet SAOA STOCK AVAILBLE: Chọn cột STOCK bên Sheet SAOA các giá trị lớn hơn 0. rồi copy tất cả dữ rồi dán vào sheet SAOA STOCK AVAILBLE ở ô A2.
Sheet SAOA NON STOCK: Chọn cột STOCK bên Sheet SAOA các giá trị bằng 0 rồi copy tất cả dữliệu rồi dán vào sheet SAOA NON STOCK ở ô A2.
Chọn cột STOCK (ở sheet SAOA) là các giá trị lỗi #NA, rồi copy dán vào sheet SAOA NON STOCKở dòng kế tiếp.
Sheet Ruptute: dùng công thức dò bên sheet SAOA kết hợp Sheet GPE :(Vlookup(Cột BARCODE,(ở sheet GPE),bảng dò (kết quả ở cột E(FGR),3,0) rôi lọc lấy những giá trị là số rồi copy tất cả dữ liệu thảo mãn vào sheet RUPTURE(lấy cả tên tiêu đề)
Em cảm ơn mọi người nhiều|~!
 
Lần chỉnh sửa cuối:
Upvote 0
Dạ, cột A: Mid(E2,3,2)
Cột B: mid(e2,7,3)
Cột C: mid(e2,15,2)
Ở sheet Rupture đó Bác.
Format các cột Text trước nhé.
PHP:
Public Sub S_Rupture()
Dim Dic As Object, sArr(), dArr(), I As Long, J As Long, K As Long, R As Long
Set Dic = CreateObject("Scripting.Dictionary")
With Sheets("SAOA")
    sArr = .Range("A2", .Range("A2").End(xlDown)).Resize(, 14).Value2
    R = UBound(sArr)
    For I = 1 To R
        If Not Dic.Exists(sArr(I, 2)) Then Dic.Item(sArr(I, 2)) = I
    Next I
End With
With Sheets("GPE")
    sArr = .Range("A3", .Range("A1000000").End(xlUp)).Resize(, 18).Value2
    R = UBound(sArr): ReDim dArr(1 To R, 1 To 21)
    For I = 1 To R
        If Dic.Exists(sArr(I, 4)) Then
            K = K + 1
            For J = 1 To 18
                dArr(K, J + 3) = sArr(I, J)
            Next J
            dArr(K, 1) = Mid(dArr(K, 5), 3, 2)
            dArr(K, 2) = Mid(dArr(K, 5), 7, 3)
            dArr(K, 3) = Mid(dArr(K, 5), 15, 2)
        End If
    Next I
End With
With Sheets("RUPTURE")
    .Range("A2:A100000").Resize(, 21).ClearContents
    .Range("A2").Resize(K, 21) = dArr
End With
Set Dic = Nothing
End Sub
 
Upvote 0
Địa chỉ "chành ành" ở đây nè em trai, làm khó chi?
Địa điểm: Nhà hàng “241”, 45 Phạm Viết Chánh, Nguyễn Cư Trinh, Quận 1, Hồ Chí Minh.


Đọc hiểu chết liền.
Em diễn đạt lại sheet Negatif Margin:
- Lọc cột K(Margin %) ở sheet SALE DETAIL giá trị nhỏ hơn 0, sau đó copy những dòng vừa lọc xong sang sheet Negatif Margin dán vào ô A2.
- dữ liệu vừa dán vào sheet Negatif Margin ở ô A2, tiếp đến sắp xếp cột K từ nhỏ đến lớn.
- định dạng 10 giá trị thấp nhất(BOTTOM 10) là màu đỏ.

Em cảm ơn Bác nhiều!
 
Upvote 0
Em diễn đạt lại sheet Negatif Margin:
- Lọc cột K(Margin %) ở sheet SALE DETAIL giá trị nhỏ hơn 0, sau đó copy những dòng vừa lọc xong sang sheet Negatif Margin dán vào ô A2.
- dữ liệu vừa dán vào sheet Negatif Margin ở ô A2, tiếp đến sắp xếp cột K từ nhỏ đến lớn.
- định dạng 10 giá trị thấp nhất(BOTTOM 10) là màu đỏ.

Em cảm ơn Bác nhiều!
Có lẽ sẽ kết thúc topic với bài #67.
PHP:
Public Sub S_TOP30()
Dim Rng As Range, Rws As Long
With Sheets("SALE DETAIL")
    Rws = .Range("A2").End(xlDown).Row
    .Range("L2:L" & Rws).Value = "=Row()"
    Set Rng = .Range("A2").Resize(Rws, 12)
    Rng.Sort Key1:=.Range("E2"), Order1:=xlDescending
    Sheets("TOP 30").Range("A3:K32").Value = .Range("A2:K31").Value
    '------------------------------------------------------'
    Rng.Sort Key1:=.Range("F2"), Order1:=xlDescending
    Sheets("TOP 30").Range("A35:K64").Value = .Range("A2:K31").Value
    '------------------------------------------------------'
    Rng.Sort Key1:=.Range("L2"), Order1:=xlAscending
    .Range("L2:L" & Rws).ClearContents
End With
End Sub
'------------------------------------------------------------------------------------------------------------'
Public Sub KetThuc()
Dim sArr(), dArr(), I As Long, J As Long, K As Long, R As Long
With Sheets("SALE DETAIL")
    sArr = .Range("A2", .Range("A2").End(xlDown)).Resize(, 11).Value
    R = UBound(sArr): ReDim dArr(1 To R, 1 To 11)
End With
For I = 1 To R
    If sArr(I, 11) < 0 Then
        K = K + 1
        For J = 1 To 11
            dArr(K, J) = sArr(I, J)
        Next J
    End If
Next I
With Sheets("Negatif Margin")
    .Range("A2:K11").Font.ColorIndex = 0
    .Range("A2:K100000").ClearContents
    .Range("A2:K2").Resize(K) = dArr
    .Range("A2:K2").Resize(K).Sort Key1:=.Range("K2"), Order1:=xlAscending
    .Range("A2:K11").Font.ColorIndex = 3
End With
End Sub
 
Upvote 0
Có lẽ sẽ kết thúc topic với bài #67.
PHP:
Public Sub S_TOP30()
Dim Rng As Range, Rws As Long
With Sheets("SALE DETAIL")
    Rws = .Range("A2").End(xlDown).Row
    .Range("L2:L" & Rws).Value = "=Row()"
    Set Rng = .Range("A2").Resize(Rws, 12)
    Rng.Sort Key1:=.Range("E2"), Order1:=xlDescending
    Sheets("TOP 30").Range("A3:K32").Value = .Range("A2:K31").Value
    '------------------------------------------------------'
    Rng.Sort Key1:=.Range("F2"), Order1:=xlDescending
    Sheets("TOP 30").Range("A35:K64").Value = .Range("A2:K31").Value
    '------------------------------------------------------'
    Rng.Sort Key1:=.Range("L2"), Order1:=xlAscending
    .Range("L2:L" & Rws).ClearContents
End With
End Sub
'------------------------------------------------------------------------------------------------------------'
Public Sub KetThuc()
Dim sArr(), dArr(), I As Long, J As Long, K As Long, R As Long
With Sheets("SALE DETAIL")
    sArr = .Range("A2", .Range("A2").End(xlDown)).Resize(, 11).Value
    R = UBound(sArr): ReDim dArr(1 To R, 1 To 11)
End With
For I = 1 To R
    If sArr(I, 11) < 0 Then
        K = K + 1
        For J = 1 To 11
            dArr(K, J) = sArr(I, J)
        Next J
    End If
Next I
With Sheets("Negatif Margin")
    .Range("A2:K11").Font.ColorIndex = 0
    .Range("A2:K100000").ClearContents
    .Range("A2:K2").Resize(K) = dArr
    .Range("A2:K2").Resize(K).Sort Key1:=.Range("K2"), Order1:=xlAscending
    .Range("A2:K11").Font.ColorIndex = 3
End With
End Sub
Đối với sheet Negatif Margin thì bị lỗi này Bác ơi.
upload_2017-6-22_10-52-4.png
 
Upvote 0
Web KT

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

Back
Top Bottom