Theo dõi và cập nhật ngày nghỉ lễ và giờ làm thêm trong năm (1 người xem)

Liên hệ QC

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

lehoa81

Thành viên mới
Tham gia
2/1/10
Bài viết
46
Được thích
7
Chào các bác.

Em có 2 nội dung nhờ các bác giúp em vụ này với.

1. Em muốn làm công thức automatic Tính ngày nghỉ lễ trong năm với 2 điều kiện:
+ Ngày vào làm trước ngày được hưởng ngày nghỉ lễ.
+ Ngày cập nhật - Date (today()) - phải bằng hoặc lớn hơn ngày nghỉ lễ thì mới được hưởng ngày đó.
chu kỳ tính của bên em là 26/12/2011 đến 25/12/2012, hoặc 26/12/2012 - 25/12/2013. Mục đích em làm cho năm 2013
Ví dụ: Ngày cập nhật là ngày hôm nay 16/12/2012
- Nếu ngày vào của nhân viên A là 12/4/2011 thì có 5 ngày.
4 ngày nghỉ Tết âm lịch năm 2012, + 1 ngày 10/3 (âm lịch)
- Nếu nhân viên A vào làm ngày 03/3/2012 thì có 1 ngày 10/3 (âm lịch)

2. Theo dõi giờ làm thêm của toàn bộ mọi người trong năm.
Khi làm thêm mọi người cần điền vào 1 form mẫu OT request.
Em đang làm công thức tự động để mỗi khi nhập dữ liệu vào form OT request rồi in ra để ký duyệt thì giá trị đó cộng dồn đổ về 1 file tổng để biết được mỗi năm người này làm bao nhiều giờ làm thêm.

Em đang giả sử mỗi bộ phận làm thêm 15 lần/năm nên em dùng 15 forms trên 1 sheet. Nếu nhiều hơn em chưa biết làm thế nào...

Khi có 15 form, 1 đợt làm tương ứng với 1 form, sau khi dùng form này xong thì ẩn dòng và dùng form tiếp theo (các bác tham khảo trong file đính kèm cho dễ hiểu ạ). Em dùng 15 lần If(iserror(Vlookup..) để tìm dữ liệu trên 15 form đó. trong trường hợp có người chỉ làm có 2 lần (dùng 2 form) thì 13 form còn lại không có dữ liệu của họ thì dữ liệu đổ về là #value!. Nếu 15 form đều có dữ liệu của người này thì dữ liệu đổ về đúng tổng số.

Các bác xem giúp em có giải pháp nảo không ạ?

Em viết dài dòng, không biết có khó hiểu lắm không?
Bác nào giúp được em mà cần thêm thông tin gì thì call giúp em với ạ. Đây là sđt của em: 0167tám 868 sáu24

Cảm ơn các bác nhiều.
 

File đính kèm

Giải fáp cho fần I của bạn

Hàng năm bạn cần lập danh sách 9 ngày nghỉ lại cho sát thực theo sự điều chỉnh của Chính fủ

(Trong file, số ngày được nghỉ lễ của từng cá nhân tính theo macro)
 
Chỉnh sửa lần cuối bởi điều hành viên:
Upvote 0
Cảm ơn HYen17 nhiều nhiều!

Vậy là ngày nghỉ đã được giải quyết, có ai giúp em vụ theo dõi giờ làm thêm trong năm không ạ?

Em xin đa tạ!
 
Upvote 0
(/ới giờ giấc làm thêm này thì chưa được rõ lắm, ở 1 vài chổ & cần được tác giả thuyết minh thêm;

Tại sao fải 15 form; Hay nới bạn có 15 đơn vị fòng ban?
(Cũng 1 fần font không đọc được, nên chưa hiểu)
Lâu nay bạn ghi giờ tăng ca đó vô đâu & như thế nào
Iêu cầu báo cáo của Sếp là sao? Cần thống kê là gì? . . . .
. . . . .
 
Upvote 0
Cảm ơn HYen17 đã giúp đỡ.

Từ xưa đến giờ theo dõi = thủ công và cũng không theo dõi được cả năm ạ.


Em giải thích thế này cho các anh dễ hiểu trong trường hợp lập trình được thì làm theo lập trình.

1 lần làm OT bộ phận đó phải in form Yêu cầu làm thêm và gửi cho giám đốc ký.
Các anh giúp em làm sao để mỗi lần làm form như thế thì bộ phận họ đánh vào 1 cái file nào đó. Rồi từ file đó họ có thể in ra theo form Yêu cầu làm thêm để xin chữ ký sếp. Đồng thời những con số đó được cộng dồn vào 1 file nào đó hoặc 1 cột nào đó để biết được người này làm tổng cộng bao nhiều giờ mỗi năm.
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
Bạn xem trong file

Thêm 1 macro để tính tổng công thêm giờ trong năm
& 1 macro sự kiện để thống kê thêm giờ theo tháng
 

File đính kèm

Upvote 0
Thêm 1 macro để tính tổng công thêm giờ trong năm
& 1 macro sự kiện để thống kê thêm giờ theo tháng

Thêm 1 macro để tính tổng công thêm giờ trong năm
& 1 macro sự kiện để thống kê thêm giờ theo tháng

Dear anh,


Em đọc file và sử dụng file của anh rồi, đúng là file em cần, rất hữu ích ạ.

Em đã áp dụng vào thực tế và phát sinh 1 vài trường hợp như sau:

1. Mỗi tháng có thể có nhiều lần đề nghị như vậy khi chọn tháng để in ra ký thì sẽ xuất hiện cả những ngày ký rồi.

ví dụ: Ngày đề nghị: 2/1/2013 đề nghị 4 bạn làm thêm giờ vào ngày 5/1/2013 và 2 bạn làm thêm giờ vào ngày 6/6/2013.
Lúc này in ra và ký duyệt cho 6 bạn này để tính giờ làm thêm.

Đến ngày 10/1/2013 đề nghị 5 bạn (có thể là 5 bạn cũ hoặc 5 bạn mới) làm thêm giờ vào ngày 15/1/2013. Lúc này chọn tháng 1 để in và trình ký thì sẽ xuất hiện cả 6 bạn cũ nữa.

Vì vậy anh cho em hỏi là thay vì chọn tháng (ở trên form) thì mình chọn theo ngày đề nghị được không ạ?
 

File đính kèm

Upvote 0
File mới nhất của bạn không có gì để xem cả hay sao í (?!)

Thường qui trình là vầy:

Đầu tiên là việc nhập dữ liệu vô trang tính 'Le' - đang là CSDL về làm thêm giờ;

Cách 1: Ta có thể nhập trực tiếp vô trang tính 'Le' này; Nhưng như vậy dễ hư hỏng CSDL bất cứ lúc nào mà người nhập liệu sơ suất;
Khi muốn in ngày nào ở form A (& B nữa) cũng có thể được

Cách hai Có thể dùng fần A "THỎA THUẬN LÀM THÊM GIỜ" của bạn đang có để nhập dữ liệu từ nó vô 'Le'
Tất nhiên ta cũng có thể in ra 1 vài bản sau khi nhập xong;

Việc thứ hai là Fần B muốn hiện giống với fần A để in cùng lúc cũng không là vấn đề gì.

Vậy bạn hãy chọn 1 trong 2 cách nhập liệu nêu trên & cho biết sớm. Dù cách nào thì dữ liệu cũng fải được lưu trữ ở CSDL tại trang 'Le'

Chúc vui!
 
Upvote 0
Dạ.

Em cảm ơn anh nhiều lắm! May quá em có anh giúp.

Em dùng theo cách 2: Dùng Phần A nhập liệu: Có ngày đề nghị: (và sau này có thể chọn lọc ở ngày đề nghị ạ.

Sau đó dữ liệu vào "le" và sẽ chuyển sang Summary.
Mà thực ra "le" chỉ là file trung chuyển dữ liệu từ Phần A sang summary thôi phải không ạ?

File đính kèm đây ạ.



Anh xem lại file này giúp em nhé.
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
(3b) Dạ. Em cảm ơn anh nhiều lắm! May quá em có anh giúp.

(1) Em dùng theo cách 2: Dùng Phần A nhập liệu: Có ngày đề nghị: (và sau này có thể chọn lọc ở ngày đề nghị ạ.
Sau đó dữ liệu vào "le" và sẽ chuyển sang Summary.

(2) Mà thực ra "le" chỉ là file trung chuyển dữ liệu từ Phần A sang summary thôi phải không ạ?

(3a) Anh xem lại file này giúp em nhé.

(1) Xem trong file đính kèm; Nhập thêm số liệu mới & thao tác với các nút nhiều lần để fát hiện ra ~ vấn đề chưa hợp lí hay còn sai để thông báo;

(2) Không! 'Le' là CSDL & cần thấy tầm quan trọng của nó như là "không có nó sẽ không có cái gì cả!"

(3) Không fải chỉ là xem lại, mà fải bắt đầu từ mốc 0+1 luôn í chứ lị;
Mình không làm, thì cũng có nhiều người khác trẻn cộng đồng này giúp mà!
Chỉ có điều nho nhỏ là chuyện này làm mình nhớ đến thời đã qua chút đĩnh!
 

File đính kèm

Upvote 0
Anh HYen oi,

Về nội file và form mẫu cũng như các thông tin cần thiết là RẤT CHUẨN rồi anh ạ.

Em đã làm 1 số test trên file và có 1 vài chi tiết sau:

1. Về OT: Thông tin đã nhập trên OT request không thay cập nhật mới lại được:

VD (tuy rất ít nhưng cũng có xảy ra):

Khi đề nghị NV A làm thêm 4 giờ, thực tế có thể xảy ra 2 trường hợp:

1. Bạn A chỉ làm 2h (vì giờ làm thực tế phải nhỏ hơn hoặc bằng giờ đã đề nghị).
2. Bạn A có lý do đột xuất nên thay thế bằng bạn B làm.
Khi đó quản lý sẽ phải cập nhật lại thông tin trên form. để giữ liệu lưu được chỉnh xác.

2: Về ngày nghỉ lễ: Vì em đang làm form cho năm 2013 nên em không biết liệu có cần thay đổi lại Macro hay không?
- Ngày 10/30/2013 (âm lịch) là ngày 19/04/2013.
- Ngoài ra Tết Âm lịch trong năm 2013 cũng sẽ thay đổi theo ngày dương.


Nếu được anh hướng giúp em để em làm cho những năm sau luôn.

Em cảm ơn anh nhiều lắm!
 
Lần chỉnh sửa cuối:
Upvote 0
Em đã làm 1 số test trên file và có 1 vài chi tiết sau:
1. Về OT: Thông tin đã nhập trên OT request không thay cập nhật mới lại được:
1.1 Bạn A chỉ làm 2h (vì giờ làm thực tế phải nhỏ hơn hoặc bằng giờ đã đề nghị).
1.2 Bạn A có lý do đột xuất nên thay thế bằng bạn B làm.
Khi đó quản lý sẽ phải cập nhật lại thông tin trên form. để giữ liệu lưu được chỉnh xác.
2: Về ngày nghỉ lễ:

(1) Trên trang tính đó mới có 2 nút để đáp ứng 2 tính năng Nhập & tìm;
Bạn cần có thêm 1 nút nữa để
(1.1) Sửa lại 1 record
(1.2) Xóa record 'A' (Bổ sung 'B' bằng nút 'Nhập'

(2) Bài trên mình đã nói: Hàng năm bạn fải cập nhật ngày nghỉ lễ theo quyết định của Thủ tướng CF
Vô menu Edit => Goto => . . . để hiện vùng đã gán tên này & chỉnh /sửa lại (nhất là các ngày tính theo âm lịch)
 
Upvote 0
(1) Trên trang tính đó mới có 2 nút để đáp ứng 2 tính năng Nhập & tìm;
Bạn cần có thêm 1 nút nữa để
(1.1) Sửa lại 1 record
(1.2) Xóa record 'A' (Bổ sung 'B' bằng nút 'Nhập'

(2) Bài trên mình đã nói: Hàng năm bạn fải cập nhật ngày nghỉ lễ theo quyết định của Thủ tướng CF
Vô menu Edit => Goto => . . . để hiện vùng đã gán tên này & chỉnh /sửa lại (nhất là các ngày tính theo âm lịch)

Cho em hỏi chút ạ:

1. Làm thế nào để có nút cập nhật đó ạ?
2. Đã vào menu, goto và chỉnh sửa lại theo năm 2013. Nhưng kết quả ra tất cả những người có ngày vào làm trước ngày 1/1/2013 đều tính ra có 9 ngày nghỉ lễ.

Điều này có nghĩa là chưa được so sánh được với hàm today() phải không ạ?

VD 1:
Nếu vào làm ngày 12/12/2012 mà:
- Nếu today()<1/1/2013 thì số ngày nghỉ lễ = 0.
- Nếu today()>=1/1/2013 thì số ngày nghỉ lễ = 1
- Nếu today()>=1/5/2013 thì số ngày nghỉ lễ = 8 (1 tết dương, 4 tết âm, 1 giỗ Tổ, 1 giải phóng MN và 1 QT LĐ)
- Nếu today()>=2/9/2013 thì số ngày nghỉ lễ = 9

VD 2:
Nếu vào làm ngày 12/5/2013 mà:
- Nếu today()<2/9/2013 thì số ngày nghỉ lễ = 0.
- Nếu today()>=2/9/2013 thì số ngày nghỉ lễ = 1

Các anh xem giúp em nhé!
 
Upvote 0
1. Làm thế nào để có nút cập nhật đó ạ?
2. Đã vào menu, goto và chỉnh sửa lại theo năm 2013. Nhưng kết quả ra tất cả những người có ngày vào làm trước ngày 1/1/2013 đều tính ra có 9 ngày nghỉ lễ.

(1) Có người đang viết cho bạn; trong khi chờ đợi bạn có thể qua trang 'Le' tìm & xóa hay thay trực tiếp lên CSDL. (Nhưng về lâu dài là không nên chút nào)

(2) Lẻ hiễn nhiên vô làm trước 2013 thì có đủ 9 ngày lễ trong 2013 chứ (!?) ;

Tại trang 'S...' bạn thử sửa lại trị số thành năm 2013 (tháng & ngày không cần đổi) tất tần tật & chạy thử lại macro
 
Upvote 0
Thêm 1 nút nữa cho bạn đây:

Lưu í khi sử dụng:

Muốn sửa ta nhập 'S' hay 's' vô cột 'C' của dòng cần sửa; Chỉ sửa được số liệu về thời gian; Ngày & mã cũng như tên NV không thể sửa;

Muốn xóa ta nhập 'X' hay 'x' vô cột 'C' của dòng cần xóa;

Sau đó bấm vô nút 'Sửa/Xóa' để macro làm việc;

Thử kiểm tra bằng nút 'Tìm'
 
Lần chỉnh sửa cuối:
Upvote 0
Lưu í khi sử dụng:

Muốn sửa ta nhập 'S' hay 's' vô cột 'C' của dòng cần sửa; Chỉ sửa được số liệu về thời gian; Ngày & mã cũng như tên NV không thể sửa;

Muốn xóa ta nhập 'X' hay 'x' vô cột 'C' của dòng cần xóa;

Sau đó bấm vô nút 'Sửa/Xóa' để macro làm việc;

Thử kiểm tra bằng nút 'Tìm'

Em cảm ơn các anh! Em xin phép được nói là "Tuyệt vời" ạ.

Riêng chỗ ngày nghỉ lễ vì em chưa biết diễn tả thể nào để các anh hiểu nên em đã dùng công thức excell:
MAX(CHOOSE(IF(TODAY()>$T$11,6,IF(TODAY()>$T$10,5,IF(TODAY()>$T$8,4,IF(TODAY()>$T$7,3,IF(TODAY()>$T$3,2,1))))),0,1,5,6,8,9),0)

với các cột T theo thứ tự: [TABLE="width: 213"]
[TR]
[TD="align: right"]T3: 1-Jan-13[/TD]
[TD]Tết dương lịch[/TD]
[/TR]
[TR]
[TD="align: right"]9-Feb-13[/TD]
[TD]Tết âm lịch[/TD]
[/TR]
[TR]
[TD="align: right"]10-Feb-13[/TD]
[TD]Tết âm lịch[/TD]
[/TR]
[TR]
[TD="align: right"] 11-Feb-13[/TD]
[TD]Tết âm lịch[/TD]
[/TR]
[TR]
[TD="align: right"]T7: 12-Feb-13[/TD]
[TD]Tết âm lịch[/TD]
[/TR]
[TR]
[TD="align: right"]T8: 19-Apr-13[/TD]
[TD]giỗ tổ[/TD]
[/TR]
[TR]
[TD="align: right"]30-Apr-13[/TD]
[TD]giải phóng MN[/TD]
[/TR]
[TR]
[TD="align: right"]T10: 1-May-13[/TD]
[TD]Quốc tế lao động[/TD]
[/TR]
[TR]
[TD="align: right"]T11: 2-Sep-13[/TD]
[TD]Quốc khánh[/TD]
[/TR]
[/TABLE]


Hạn chế của Công thức này là không so sánh được với ngày vào làm của nhân viên.

Cảm ơn các anh nhiều lắm! Chúc các anh Giáng Sinh vui vẻ, hạnh phúc!
 
Lần chỉnh sửa cuối:
Upvote 0
Công thức dùng hàm trong excel thì mình kém lắm, chắc không hơn bạn!

Riêng chỗ ngày nghỉ lễ vì em chưa biết diễn tả thể nào để các anh hiểu nên em đã dùng công thức excell:

Mình đã viết hàm người dùng thay cho cách dùng macro & đưa file lên để bạn tham khảo
(Cột bên trái liền kề với cột tính ngày nghỉ lễ đang có)
Cú fáp hàm cũng dễ sử dụng; Tuy nhiên vẫn fải làm cái chuyện cập nhật ngày nghỉ hàng năm vô Name 'NgayNghi"

Hãy dùng cái nào thấy là tiện nhất cho bạn & chúc vui!
 

File đính kèm

Chỉnh sửa lần cuối bởi điều hành viên:
Upvote 0
Web KT

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

Back
Top Bottom