Giúp mình đếm số ngày ca đêm

Liên hệ QC

kitty_dw

Thành viên mới
Tham gia
9/12/08
Bài viết
5
Được thích
0
Minh có file chấm công của công nhân mà khổ nỗi tháng nào minh cũng ngồi đếm từng người làm ca 3! trong bảng chấm công mỗi ô thể hiện ngày công và tiếng tăng ca của từng ngày, từng người, những người làm ca 3 được tô màu xám. Ai Có cách nào đếm những ô màu xám trong tháng xin giúp mình với! minh có gởi file đính kèm! xin cám ơn.
 

File đính kèm

Lần chỉnh sửa cuối:
Minh có file chấm công của công nhân mà khổ nỗi tháng nào minh cũng ngồi đếm từng người làm ca 3! trong bảng chấm công mỗi ô thể hiện ngày công và tiếng tăng ca của từng ngày, từng người, những người làm ca 3 được tô màu xám. Ai Có cách nào đếm những ô màu xám trong tháng xin giúp mình với! minh có gởi file đính kèm! xin cám ơn.
Góp ý về bảng chấm công của bạn:
- Không nên dùng cách tô màu để phân biệt ca đêm, có thể phân biệt bằng ký tự; Ví dụ: C3...
- Đếm ô tô màu có lẽ phải dùng đền code, bạn tham khảo ở đây. Thân!
 
Bạn xài đỡ hàm tự tạo sau

PHP:
Option Explicit
Function CongDem(LookUpRange As Range, Optional CaDem As Boolean = True) As Double
 Dim Clls As Range, QDoi As Variant
 For Each Clls In LookUpRange
   If IsNumeric(Clls.Value) Then
      QDoi = Clls.Value
      With Clls.Interior
         If CaDem Then
            If .ColorIndex = 16 Or .ColorIndex = 48 Then
               CongDem = CongDem + Switch(QDoi = 2, 0.25, QDoi = 4, 0.5, _
                  QDoi = 6, 0.75, QDoi = 8, 1, QDoi = 10, 1.25, QDoi = 12, 1.5)
            End If
         Else
         End If
      End With
   End If
 Next Clls
End Function

Cú pháp tại [Al4] là =CongDem(E4:AG4)

Mà sao bạn lại xài đến 2 chỉ số màu cho loại công ca 3 làm vậy?
 
hàm trong xls.

Em muốn lấy thời gian làm việc của từng công nhân trong bảng: Kiểm tra dập thẻ hàng ngày sang Bảng theo dõi hiệu suất từng công nhân. Mà không biết cách đặt công thức thế nào cho nhanh. Hiện tại em đang làm thủ công dò tìm từng người một, Anh, Chị nào có cách nhanh hơn giúp em với.
Em xin cảm ơn trước nhé!
 
Lần chỉnh sửa cuối:
cám ơn bạn nhiều lắm, mấy tháng vừa qua mình vất vả ngồi đếm từng người vừa mất thời gian mà không chính xác nữa.hehee
 
Lần chỉnh sửa cuối:
Nếu cơ quan bạn trên 500 người, mình có lời khuyên:

cám ơn bạn nhiều lắm, mấy tháng vừa qua mình vất vả ngồi đếm từng người vừa mất thời gian mà không chính xác nữa.hehee

Dùng hàm tự tạo đó với 1 vài cải biên nho nhỏ nữa để tính công làm việc (cột 'AI') luôn để file bạn chạy nhẹ nhàng & linh hoạt.

Thân ái! --=0 :-=
 
Em muốn lấy thời gian làm việc của từng công nhân trong bảng: Kiểm tra dập thẻ hàng ngày sang Bảng theo dõi hiệu suất từng công nhân. Mà không biết cách đặt công thức thế nào cho nhanh. Hiện tại em đang làm thủ công dò tìm từng người một, Anh, Chị nào có cách nhanh hơn giúp em với.
Em xin cảm ơn trước nhé!
Gửi bạn file chấm công xem tham khảo .File nay áp dụng cho công nhân làm 3 ca ,cứ 3 ngày thì đổi ca một lần.Tuỳ theo công ty bạn mà chỉnh lại công thức cho phù hợp.OK
 

File đính kèm

PHP:
Option Explicit
Function CongDem(LookUpRange As Range, Optional CaDem As Boolean = True) As Double
 Dim Clls As Range, QDoi As Variant
 For Each Clls In LookUpRange
   If IsNumeric(Clls.Value) Then
      QDoi = Clls.Value
      With Clls.Interior
         If CaDem Then
            If .ColorIndex = 16 Or .ColorIndex = 48 Then
               CongDem = CongDem + Switch(QDoi = 2, 0.25, QDoi = 4, 0.5, _
                  QDoi = 6, 0.75, QDoi = 8, 1, QDoi = 10, 1.25, QDoi = 12, 1.5)
            End If
         Else
         End If
      End With
   End If
 Next Clls
End Function
Cú pháp tại [Al4] là =CongDem(E4:AG4)

Mà sao bạn lại xài đến 2 chỉ số màu cho loại công ca 3 làm vậy?
Bác SA-DQ ơi ! cho em hỏi chút nữa,bảng chấm công của em khi đếm ca đêm bằng VBA của Bác thì ok rồi, nhưng khi công nhân của em đi trể 1 tiếng sẽ bị trừ thì trong ô kg còn là 8 tiếng nữa mà là 7 tiếng hoặc ít hơn nữa thì công thức sẽ kg hiểu. Nhờ Bác nghiên cứu thêm giúp em ạh!
Còn chỉ số màu em sẽ thống nhất chỉ dùng 1 loại màu duy nhất thôi.
Cám ơn Bác nhiều lắm.
 
Bác cho hỏi chút nữa,bảng chấm công của em khi đếm ca đêm bằng VBA của Bác thì ok rồi, nhưng khi công nhân của em đi trể 1 tiếng sẽ bị trừ thì trong ô kg còn là 8 tiếng nữa mà là 7 tiếng hoặc ít hơn nữa thì công thức sẽ kg hiểu. Nhờ Bác nghiên cứu thêm giúp em ạh!
Còn chỉ số màu em sẽ thống nhất chỉ dùng 1 loại màu duy nhất thôi.
Cám ơn Bác nhiều lắm.

(1)
Với dòng lệnh này:
PHP:
  CongDem = CongDem + Switch(QDoi = 2, 0.25, QDoi = 4, 0.5, _
                  QDoi = 6, 0.75, QDoi = 8, 1, QDoi = 10, 1.25, QDoi = 12, 1.5)
Nó chỉ hiểu khi bạn nhập các số chẵn của giờ mà thôi
Chứ còn 1, 3, 5, . . . . 11, 13, . . . thì nó không hiểu để quy đổi cho bạn được;

Tất nhiên sửa lại thì là sửa dòng này; Nhưng bạn cho biết trễ 1 h thì trừ đi bao nhiêu fần của 1 công mới tiếp tục được.

(2) Bạn đã chọn 1 màu, nhưng là màu nền nào; Để biết đó là chỉ số màu 48 hay 16 thì ta có thể kiểm tại thực địa trên trang tính
thông qua câu lệnh
PHP:
If .ColorIndex = 16 Or .ColorIndex = 48 Then

Bạn thử thay phiên bỏ 1 trong 2 cụm từ xem kết quả có như ý là OK thôi;
Mà để luôn vậy cũng đỡ nhầm lẫn!

Thân ái!
 
Web KT

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

Back
Top Bottom