Hỏi về cách tổng hợp số liệu

  • Thread starter Thread starter TT8571
  • Ngày gửi Ngày gửi
Liên hệ QC

TT8571

Thành viên mới
Tham gia
19/8/10
Bài viết
3
Được thích
0
Em muốn nhờ mọi người giúp đỡ:
Em có sheet 1: chi tiết máy làm theo ngày trong tháng tại từng vị trí.
sheet 2: em muốn tổng hợp theo từng vị trí trong tháng bao nhiêu giờ,phút: chẳng hạn xe A làm tại vị trí #4 trong tháng 7 tổng cộng là 30 giờ 50 phút
Em đã thử dùng hàm Sumif va Data Consolidate nhưng không được.
Em gửi theo file đính kèm nhờ mọi người giúp đỡ.
Cảm ơn mọi người.
 

File đính kèm

  • 2.xls
    2.xls
    32.5 KB · Đọc: 11
Trang tính 1, số liệu nhập vô cột 'F' có vấn đề!

Bạn kiểm tra lại có 2 nơi dư khoảng trắng.

Nhưng mình đề xuất bạn ta nên tổng hợp bằng 1 macro hay hàm người dùng? Ý kiến bạn thế nào?
 
Sheet 1 em tổng hợp theo ngày nên mấy khoảng trắng là máy không làm ngày đó.
Anh/chị có thể nói cách làm cụ thể hơn được không, em mới được giao làm việc này, em không rành về excel lắm, chỉ đọc trên diễn đàn và tìm cách làm thử thôi.
 
(2) Sheet 1 em tổng hợp theo ngày nên mấy khoảng trắng là máy không làm ngày đó.
(1) Anh/chị có thể nói cách làm cụ thể hơn được không, em mới được giao làm việc này, em không rành về excel lắm, chỉ đọc trên diễn đàn và tìm cách làm thử thôi.

(1) Bạn xem trong file đính kèm nha
Tại trang Sheet1 mình có thử tính theo hàm SUMIF() cho 1 số trường hợp; Bạn kiểm lại nha
Tại trang tính Sheet2 mình có tính theo hàm tự tạo

(2) Tại mã vị trí bạn nhập thừa khoảng trắng ở 2 dòng; Ví dụ thay vì "CH" bạn nhập là "CH "

Ví dụ thứ hai; Khi xài hàm tự tạo tại ô [B12] mình fải dùng công thức =Sheet1!F5 mới ra đúng kết quả; điều đó chứng tỏ trị tại =Sheet1!F5 & [B12] trước đó là khác nhau

Mã:
Option Explicit
[B]Function TThoiGian(ViTri, MaXe As String, Optional Fut As Boolean = True)[/B]
 Dim Sh, Rng As Range, Cls As Range
 Dim eRw As Long, Gio As Integer, SoFut As Long
 
 
 Set Sh = Sheet1:             eRw = Sh.[B65500].End(xlUp).Row
              
 Set Rng = Switch(MaXe = "A", Sh.[C3], MaXe = "B", Sh.[f3], MaXe = "C", Sh.[i3], _
   MaXe = "D", Sh.[L3], MaXe = "E", Sh.[o3])
 Set Rng = Rng.Resize(eRw)
 For Each Cls In Rng
   If Cls.Value = ViTri Then
      Gio = Gio + Cls.Offset(, 1).Value
      SoFut = SoFut + Cls.Offset(, 2).Value
   End If
 Next Cls
 If Fut Then
   TThoiGian = SoFut Mod 60
 Else
   TThoiGian = Gio + SoFut \ 60
 End If
[B]End Function[/B]
 

File đính kèm

Hỏi về cách tổng hợp dữ liệu

Nhờ anh HYen17 cho em code nên em đã làm được bảng tính, em muốn hỏi thêm một số vấn đề:
1. Em muốn cho code này chạy trên các bảng tính ca máy tương tự mà ko cần phải copy đoạn code vào rồi lưu lại theo tên bảng tính.
2. Ở sheet 1 khi em thay đổi dữ liệu thì sheet 2 sẽ tự cập nhật, bây giờ sau khi nhập số liệu em phải kéo công thức lại hết nên hơi bất tiện.
Em gửi kèm file Form.xlsx.
Mong anh chỉ giáo.
Cảm ơn anh.
 

File đính kèm

Lần chỉnh sửa cuối:
Web KT

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

Back
Top Bottom