Xin hãy giúp em bài toán lọc này với (3 người xem)

Liên hệ QC

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

nguyenmanhnam

Thành viên tiêu biểu
Tham gia
24/7/10
Bài viết
434
Được thích
266
Em phải làm báo cáo Sheet! Dau ra từ số liệu Sheet!Dau vao. Tuy nhiên việc lọc thủ công rất lâu, rất mong được các huynh giúp cho em (ví số liệu của em rất lớn), nếu các huynh không dùng name thì càng tốt, vì em e ngại name rất nặng.
 
Thì không có name nào hết đấy nha, xin mời

Xem trong file đính kèm

Chúc nhiều thành công nhân dịp xuân về!
 

File đính kèm

Xem trong file đính kèm

Chúc nhiều thành công nhân dịp xuân về!

Cảm ơn bác nhiều, chúc bác năm mới có nhiều sức khoẻ, niềm vui, hạnh phúc.
Em đang học VBA thì được bác bày cho cách này hay lắm, nhưng em vẫn mong có thêm được giải pháp dùng công thức Excel đơn thuần (kể cả dùng cột phụ) để giải quyết bài toán này. Xin hãy chỉ giúp em với.
 

Chào chú mày nha; Khì, khì,. . .Do file đưa lên đã vậy thì làm vậy chứ bộ.
Còn không thì làm thên động tác xếp nó lại, OK?

PHP:
Option Explicit
Sub Loc()
 Dim Rng As Range, Cls As Range, Sh As Worksheet
 Dim KHoach As Double, THien As Double, eRw As Long, fColor As Long
 Dim Dat1 As Date, Dat2 As Date
 
 Sheets("DauVao").Select:                       Set Sh = Sheets("DauRa")
 Set Rng = Range([A5], [A65500].End(xlUp)):     eRw = Rng.Rows.Count
 Rng.Resize(, 4).Sort Key1:=Range("A5"), Order1:=xlAscending, Header:=xlGuess, OrderCustom:=1
 Set Rng = Rng.Offset(, 1)
 Sh.[b8].Resize(eRw).ClearContents
 Sh.[d8].Resize(eRw, 4).ClearContents '
 For Each Cls In Rng
    If Cls.Offset(, 1).Value > Cls.Value Then
        If KHoach = 0 Then
            Dat1 = Cls.Offset(, -1).Value:      Dat2 = Dat1
            KHoach = Cls.Value:                 THien = Cls.Offset(, 1).Value
            fColor = 1 + fColor
            Cls.Interior.ColorIndex = 34 + fColor Mod 6
        ElseIf Cls.Value = KHoach And THien = Cls.Offset(, 1).Value Then
            Dat2 = Cls.Offset(, -1).Value
            Cls.Interior.ColorIndex = 34 + fColor Mod 6
        ElseIf Cls.Value <> KHoach Or THien <> Cls.Offset(, 1).Value Then
            Cls.Offset(-1).Interior.ColorIndex = 34 + fColor Mod 6
            fColor = 1 + fColor
            Cls.Interior.ColorIndex = 34 + fColor Mod 6
            With Sh.[b65500].End(xlUp).Offset(1)
                .Value = "From " & CStr(Dat1) & " to " & CStr(Dat2)
                .Offset(, 2).Value = THien
                .Offset(, 3).Value = KHoach
                .Offset(, 4).Value = THien - KHoach
                .Offset(, 5).Value = 1 + Dat2 - Dat1
            End With
            Dat1 = Cls.Offset(, -1).Value:      Dat2 = Dat1
            KHoach = Cls.Value:                 THien = Cls.Offset(, 1).Value
        End If
    Else
        KHoach = 0
    End If
 Next Cls
 Sh.Select
End Sub
 
Lần chỉnh sửa cuối:
Sư phụ ơi! Nếu sheet DauVao sắp xếp lộn xộn thì hình như code của sư phụ nó chạy sai thì phải

dữ liệu của em thường được sắp xếp theo thứ tự thày ạh? Động tác ấy em thao tác nhanh thôi, rất mong thày giúp em từ đầu vào kết xuất ra Sheet!Dau ra bằng công thức Excel đơn thuần với ạh, em cảm ơn thày nhiều.
 
Các sư phụ giúp cho em cách làm theo Excel đơn thuần được không ah? Em nghĩ mãi mà không ra vấn đề này, xin cảm tạ.
 
Bạn xem như thế này đã được chưa nhé

dữ liệu của em thường được sắp xếp theo thứ tự thày ạh? Động tác ấy em thao tác nhanh thôi, rất mong thày giúp em từ đầu vào kết xuất ra Sheet!Dau ra bằng công thức Excel đơn thuần với ạh, em cảm ơn thày nhiều.
Theo ý bạn tui có đưa ra một phương pháp, đảm bảo chính xác 100% tuy nhiên có một nhược điểm:
Dùng nhiều cột phụ.
In kết quả phải chọn lọc bỏ cột trống.
Bạn tham khảo mọi người, rồi rút gọn công thức đi nhé
 

File đính kèm

Lọc dữ liệu

Bạn xem file của bạn, không sử dụng Name, cũng không VBA mà sử dụng Pivot Table quất 01 cái là xong luôn, những chữ số màu đỏ là vượt so với với hoạch, còn những chữ số màu đen là không vượt), còn bạn muốn xuất ra danh sách ngày nào thì click đúp chuột vào Total của ngáy đó, bạn tải File theo đường link sau:
http://www.4shared.com/document/xhB44OQd/Filter.html
 
Lần chỉnh sửa cuối:
Web KT

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

Back
Top Bottom