Xin hướng dẫn chấm công bằng Excel trong trường hợp sau (5 người xem)

Liên hệ QC

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

drtiendiep

Thành viên mới
Tham gia
18/12/07
Bài viết
10
Được thích
2
Các bác giúp gấp trường hợp sau: Em muốn chấm công cho công nhân trong 1 tháng bất kỳ biết rằng ngày thường (thứ 2 đến thứ 6) là 1 công thứ 7 là 1/2 công chủ nhật là 2 công. Mỗi công nhân là 1 dòng cột cuối cần tính tổng công trong tháng của công nhân đó. Bác nào chỉ giúp với! Thanks
P/S: Mọi người gợi ý dùng hàm countif
 
Đây bác xem giúp em em muốn chấm cho đồng chí "Cao Tiến Trung" (Đã bôi vàng) Phòng cơ giới! THanks bác
 

File đính kèm

Đây bác xem giúp em em muốn chấm cho đồng chí "Cao Tiến Trung" (Đã bôi vàng) Phòng cơ giới! THanks bác
Cách đơn giản như vầy (cách chấm công theo kiểu X, 2X, X/2)
Bạn tham khảo thêm trên diễn đàn có rất nhiều mẫu tự động rất hay, bạn phải tự bôi màu ngày chủ nhật (có thể dùng Conditional Formatting). Nếu theo màu như bạn và chỉ dùng X cho tất cả các ngày phải dùng VBA thôi.
Thân
 

File đính kèm

Đồng chí hơi thiếu lịch sự khi xài chữ 'Gấp" đó nha

Các bác giúp gấp trường hợp sau: Em muốn chấm công cho công nhân trong 1 tháng bất kỳ biết rằng ngày thường (thứ 2 đến thứ 6) là 1 công thứ 7 là 1/2 công chủ nhật là 2 công. Mỗi công nhân là 1 dòng cột cuối cần tính tổng công trong tháng của công nhân đó. Bác nào chỉ giúp với! Thanks
P/S: Mọi người gợi ý dùng hàm countif
Ở đây bạn không thể buộc ai fải gấp vì bạn cả; vì họ giúp bạn là họ fải hao fí thời gian dù là chút đĩnh của họ!

Cũng lẻ vậy, mình cũng cho fép khiếm nhã với bạn 1 tẹo, rằng là:
Bạn sẽ fải tới đây: http://www.giaiphapexcel.com/forum/showthread.php?34560-Gi%E1%BA%A3i-c%C3%A1c-b%C3%A0i-t%E1%BA%ADp-v%E1%BB%81-nh%C3%A2n-s%E1%BB%B1-t%E1%BB%AB-%C4%91%C6%A1n-gi%E1%BA%A3n-%C4%91%E1%BA%BFn-f%E1%BB%A9c-t%E1%BA%A1p/page2 (#18) để tải file về & chép macro dưới đây vô nớ mà thử xài.
PHP:
Option Explicit
Sub ChamCong()
 Dim Rng As Range, Clls As Range
 Dim sRw As Long, Cong As Double
 
 If Selection.Value = "" Then Exit Sub
 sRw = Selection.Row
 Set Rng = Range(Cells(sRw, "F"), Cells(sRw, "AJ"))
 For Each Clls In Rng
   If Month(Cells(5, Clls.Column).Value) > Month([C1].Value) Then Exit For
   If Weekday(Cells(5, Clls.Column).Value) = 7 Then
      Clls.Value = "/2":         Cong = Cong + 0.5
   ElseIf Weekday(Cells(5, Clls.Column).Value) = 1 Then
      Clls.Value = "XX":         Cong = Cong + 2
   Else
      Clls.Value = "X":          Cong = Cong + 1
   End If
 Next Clls
 MsgBox Cong, , Clls.Address
End Sub
Chỉ dẫn cần thiết trước khi chạy macro:

(*) Tại trang tính "S00" bạn nhấn trỏ chuột vào 1 ô duy nhất trong vùng "A3:E11"
(*) Hiện tại công đã được macro tính theo các thứ trong tuần; Chưa đếm xĩa đến ngày lễ (Do bạn chưa đề cập đến ngày lễ)
(*) Macro cũng chưa biết chép công tổng hợp được vô đâu cả, do mỗi CSDL một khác.
Ví như bạn muốn nó chép tại cột "AK" của dòng mà bạn đang chọn đó, thì thêm lệnh
cells(sRw,"AK").value = Cong vô trên hay dưới dòng lệnh áp chót cùa macro

Những mong bạn thành công trong việc này!
 
Sao lại phải tải cái file GPE.rar ở bài 18 về bác nhỉ? Nếu là tháng bất kỳ thì có hàm nào chuyển từ ngày sang thứ một loạt bác nhỉ?
 
Lần chỉnh sửa cuối:
Ý em là nếu hôm nay là ngày 15/4/2010 thì nó tự suy ra là "thứ năm" trong dòng đầu của bảng chấm công đính kèm ấy!
 
(1)Sao lại phải tải cái file GPE.rar ở bài 18 về bác nhỉ? (2)Nếu là tháng bất kỳ thì có hàm nào chuyển từ ngày sang thứ một loạt bác nhỉ?

(1) Ở file của bạn do dòng đầu là kiểu số, chưa fải kiểu ngày tháng. Tất nhiên là chuyển sang để tính đó ứng với thứ nào trong tuần cũng được. nhưng cực hơn file mà mình đề nghị bạn tải về tham khảo. Hãy xem 1 cách khác người ta đã làm điều đó như thế nào.

Ở đó người ta trưng dụng ô, hình như là [C1] để biến dòng đầu tiên trong bảng chấm công (Như cách gọi của bạn) thành dạng ngày tháng. Nhưng hiển thị thì khác. Ta chỉ thấy các ngày trong tháng mà thôi.

(2) Trong macro trên người ta đã đưa ra hàm WEEKDAY() đó còn gì, Nó í chang trong excel mà.
Mà bạn đã thử chạy macro chưa. Hay bạn chỉ ăn xổi ở thì?

Nếu bạn làm như #18 thì tận dụng được sức mạnh của CF trong menu format của excel khi trình bày bảng chấm công của bạn.

(Kể cũng lạ, chắc tại nơi bạn công xá không đổi bao nhiêu, mới chấm tự động bằng cách đó. Nhưng dù sao cách xài macro như mình thấy viết trên cũng đạt iêu cầu của bạn)

Vài lời cùng bạn & chúc vui!
 
Lần chỉnh sửa cuối:
cách đơn giản như vầy (cách chấm công theo kiểu x, 2x, x/2)
bạn tham khảo thêm trên diễn đàn có rất nhiều mẫu tự động rất hay, bạn phải tự bôi màu ngày chủ nhật (có thể dùng conditional formatting). Nếu theo màu như bạn và chỉ dùng x cho tất cả các ngày phải dùng vba thôi.
Thân
thử cái này coi không cần vba cũng chạy tuốt
 

File đính kèm

Tiên thể cho tôi hỏi định dang

Với đinh dạng kiểu này là định dạng gì ?
Dinh dang.jpg
Nhờ chỉ giúp
 
Ồ hay nhỉ!

Mình gỏ vô 1 ô trống dữ liệu dạng ngày; Sau đó nhập định dạng mà bạn đưa ra, thì nó hiện thứ của ngày đó, như

=TODAY() tì sau khi {ENTER} nó hiện tại ô đó 'chủ nhật'

(Xài UNICode)
 
Web KT

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

Back
Top Bottom