Kết quả 1 đến 7 của 7

Chủ đề: Macro lọc dữ liệu và tính tổng!

  1. #1
    Ngày tham gia
    Aug 2015
    Bài viết
    0

    Macro lọc dữ liệu và tính tổng!

    File gồm các cột: A,B,C,D,E.
    Cần lọc ra các giá trị của 1 giờ (ở cột C)của tất cả các ngày rồi tính tổng giá trị tương ứng của giờ đó( ở cột D). Các bạn để ý là các giá trị giờ hơn nhau 30 phút. Vậy trong 1 ngay sẽ có 48 thời điểm. Như vậy cần lọc và tính tổng của 48 thơì điểm với các giá trị tương ứng của chúng. Ví dụ thời điểm 11h30 cúa tất cả các ngày có trong cột C thì tổng giá trị của chúng là bao nhiêu? Yêu cầu kết quả chứa trong cột G: từ hàng 1 đến hàng 48 tương ứng với 48 thời điểm: giá trị tổng của một thời điêm trong tất cả các ngày.
    File đính kèm mô tả đây các bạn nhé!
    F1.xls

  2. #2
    nhatlun3030 Guest
    Bạn có thể thêm 1 cột như cột màu xanh rồi dùng hàm chuyển đổi ngày thành giờ. Sau đó dùng hàm sumif() cộng lại.
    Nếu dung VBA thì cột màu đỏ là kết quả của hàm dưới đây (Khong can cot mau xanh)


    Mã nguồn PHP:
    Option ExplicitFunction SumDK(Ng As Range, tg As Date, Ct As Integer)Dim Cl As RangeFor Each Cl In Ng.CellsIf TimeSerial(Hour(Cl.Value), Minute(Cl.Value), 0) = tg ThenSumDK = SumDK + Cl.Offset(, Ct)End IfNextEnd Function  
    Cú pháp = SumDK(Vung ngay gio, Gio tinh ,<font color="DarkRed">Cong o cot thu may ben phai tu cot ngay)

    Ví dụ: =sumdk($C$1:$C$400,F1,1)
    </font>

  3. #3
    mailong90 Guest
    Trích dẫn Gửi bởi tranviethung
    File gồm các cột: A,B,C,D,E.
    Cần lọc ra các giá trị của 1 giờ (ở cột C)của tất cả các ngày rồi tính tổng giá trị tương ứng của giờ đó( ở cột D). Các bạn để ý là các giá trị giờ hơn nhau 30 phút. Vậy trong 1 ngay sẽ có 48 thời điểm. Như vậy cần lọc và tính tổng của 48 thơì điểm với các giá trị tương ứng của chúng. Ví dụ thời điểm 11h30 cúa tất cả các ngày có trong cột C thì tổng giá trị của chúng là bao nhiêu? Yêu cầu kết quả chứa trong cột G: từ hàng 1 đến hàng 48 tương ứng với 48 thời điểm: giá trị tổng của một thời điêm trong tất cả các ngày.
    File đính kèm mô tả đây các bạn nhé!
    F1.xls
    Bạn thử code này xem (nhấn tổ hợp phím Ctrl + Shift + R để chạy code)
    Để cộng các file khác bạn chép Module này sang để chạy hoặc chuyển Sheet muốn cộng vào file này và chạy code.

  4. #4
    Ngày tham gia
    Aug 2015
    Bài viết
    0
    Bạn chép hàm này vào 1 file trắng cho nhẹ roi lưu lại với tên Sumdk.xla (Lưu dạng add-In).Sau đó bạn bổ xung vào Add-In. Như vậy không riêng 300 file mà tất cả các file mở ở máy của bạn đều sử dụng được hàm SumDK()

  5. #5
    Thanks Sealand, nhưng Vấn đề là mình có khoảng 300 file kiểu như vậy, nên muốn viết 1 macro để nó chạy tự động khi mở file đó ra là cho kết quả trong 2 cột: F và G, F chứa mốc thời gian, G chứa tổng giá trị ứng với mỗi mốc thời gian ấy!

  6. #6
    leotran Guest
    Cảm ơn các thành viên của diễn đàn đã chia sẻ những kiến thức bổ ích, mình đang muốn học về các lệnh macro, các bạn có thể hướng dẫn và gửi tài liệu cho mình được không? Chân thành cảm ơn các bạn.
    Các bạn có thể gửi tài liệu như các câu lệnh và ý nghĩa theo địa chỉ: dotruonggiang18@gmail.com

  7. #7
    bigrat96 Guest
    Hi mọi người
    Mình là người mới và đã lâu không sử dụng Excel nên giờ thành mù tịt.Mong mọi người giúp đỡ
    Vừa qua mình có 1 bài tập về Chương trình thưởng doanh số: vd cho mốc thời gian 20/6/2011 - 30/10/2011 (thời điểm xét thưởng đợt 1: 30/7/2011, xét thưởng đợt 2: 30//10/2011
    áy 1: 50$/máy, máy 2: 30$/máy, máy 3: 30$/máy
    nếu khách muốn được thưởng tiền mặt thì phải đạt được số lượng tối thiểu lần xét đợt 1 là 50 máy, đợt 2 là 100 máy(các loại). Chỉ được nhận thưởng 1 lần sau 2 đợt
    Mình dùng hàm sumif nhưng kết quả ra không đúng. Có cách nào tối ưu không, mong mọi người giúp đỡ.

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •