Bảng chấm công Excel. Nghỉ lễ có điều kiện với điều kiện chính xác được đáp ứng


1

Tôi đang cố gắng tạo một bảng thời gian Excel thực hiện một số chức năng khá đặc biệt.

1) Nếu chúng tôi nói Thứ Tư là ngày nghỉ lễ, nếu nhân viên làm việc vào Thứ Ba VÀ Thứ Năm (ngày ở hai bên của ngày nghỉ lễ) NHƯNG KHÔNG vào Thứ Tư (ngày nghỉ lễ), anh ta sẽ được hưởng lương ngày tiêu chuẩn (8 giờ ở mức bình thường), vd, nếu mức lương bình thường hàng giờ của anh ấy là 4 đô la một giờ, anh ấy sẽ được trả 32 đô la cho thứ tư mặc dù anh ấy đã không làm việc với nó.

2) Nếu nhân viên làm việc vào Thứ Ba VÀ Thứ Năm (ngày ở hai bên của ngày nghỉ lễ) VÀ CSONG vào Thứ Tư (ngày nghỉ lễ), anh ta sẽ được hưởng một ngày lương tiêu chuẩn (8 giờ với mức bình thường) cộng với số Số giờ anh làm việc vào thứ Tư với mức 1,5 lần so với bình thường. ví dụ: nếu mức lương bình thường mỗi giờ của anh ấy là 4 đô la một giờ, anh ấy sẽ được trả 32 đô la cho ngày nghỉ lễ PLUS nếu anh ấy làm việc 5 giờ vào ngày nghỉ lễ, anh ấy sẽ nhận được 5 giờ ở mức 6 đô la một giờ (gấp 1,5 lần mức bình thường của anh ấy) ... tiền lương trong ngày của anh ấy sẽ là 8 giờ tiêu chuẩn ở mức 4 đô la một giờ = 32 đô la PLUS 5 giờ nghỉ lễ ở mức 6 đô la một giờ = 30 đô la.

Vậy tổng cộng là $ 62.

3) Nếu nhân viên DID KHÔNG làm việc vào Thứ Ba NHƯNG làm việc vào Thứ Tư (ngày nghỉ lễ) VÀ Thứ Năm, anh ta sẽ chỉ được trả mức lương theo giờ tiêu chuẩn cho số giờ làm việc. Vì vậy, nếu anh ta làm việc 5 giờ vào ngày nghỉ lễ, anh ta sẽ nhận được 5 giờ tiêu chuẩn ở mức 4 đô la một giờ = 20 đô la.

4) Nếu nhân viên DID KHÔNG làm việc vào Thứ Năm NHƯNG DID làm việc vào Thứ Ba VÀ Thứ Tư (ngày nghỉ lễ), anh ta sẽ chỉ được trả mức lương tiêu chuẩn hàng giờ cho số giờ làm việc. Vì vậy, nếu anh ta làm việc 5 giờ vào ngày nghỉ lễ, anh ta sẽ nhận được 5 giờ tiêu chuẩn ở mức 4 đô la một giờ = 20 đô la.

5) Nếu nhân viên không làm việc vào Thứ Ba HOẶC Thứ Năm và CSONG KHÔNG làm việc vào Thứ Tư (ngày nghỉ lễ), anh ta sẽ không được trả tiền cho bất kỳ ngày nào trong số đó.

Tôi hy vọng tôi đã không nhầm lẫn bạn !!!


Đề nghị viết lại:

Nói thứ tư là một ngày lễ.

1) Nếu một nhân viên làm việc vào cả Thứ Ba VÀ Thứ Năm (ngày ở hai bên của ngày nghỉ lễ), anh ta có quyền được trả lương theo ngày tiêu chuẩn (8 giờ với mức bình thường) cho ngày nghỉ (ví dụ: nếu mức bình thường của anh ta là 4 đô la một giờ, anh ta sẽ được trả $ 32) PLUS trả cho bất kỳ giờ nào anh ta làm việc vào thứ Tư với mức 1,5 lần so với mức bình thường (ví dụ: nếu anh ta làm việc 5 giờ vào ngày lễ, anh ta sẽ nhận được 5 giờ × $ 6 một giờ = $ 30).

2) Nếu nhân viên DID KHÔNG làm việc vào cả Thứ Ba và Thứ Năm, anh ta sẽ chỉ được trả mức lương hàng giờ (bình thường) cho bất kỳ giờ nào anh ta làm việc vào Thứ Tư. Vì vậy, nếu anh ta làm việc 5 giờ vào ngày lễ, anh ta sẽ nhận được 5 giờ × $ 4 một giờ = $ 20. (Và nếu anh ấy không làm việc vào kỳ nghỉ, anh ấy sẽ không nhận được bất kỳ khoản tiền nào cho nó.)

Ví dụ: được hiển thị chuyển đổi, với hàng Hàng> cột và cột -> hàng, cho rõ ràng):

     F13 F14 F15 Trả tiền cho Thứ Tư
 (Giờ Thứ Ba làm việc) (Giờ Thứ Tư làm việc) (Giờ Thứ Năm làm việc)
      0 0 0 0
      0 0 8 0
      0 5 0 5 × $ 4 = $ 20
      0 5 8 5 × $ 4 = $ 20
      8 0 0 0
      8 0 8 8 × $ 4 = $ 32
      8 5 0 5 × $ 4 = $ 20
      8 5 8 8 × $ 4 + 5 × 1,5 × $ 4 = $ 62

Về 8nguyên tắc, các s là tùy tiện, hàng dưới cùng có thể được 1 5 1trả và thứ tư sẽ là như nhau.


Bất kỳ trợ giúp nào cũng sẽ thực sự được đánh giá cao, vì tôi mới sử dụng các công thức trong Excel và tôi dễ nhầm lẫn với chính mình !!

Tôi đã thử sử dụng các câu lệnh IF AND, nhưng không chắc làm thế nào để làm cho chúng đủ phức tạp để làm những gì tôi đang cố gắng đạt được.

Tôi đã thử:

Trong đó ô F13 là Giờ thứ ba làm việc, F14 là Giờ thứ tư làm việc, F15 là Giờ thứ năm làm việc.

= IF (AND (F13> 0, F14> 0, F15> 0), F14, "Tỷ lệ ngày tiêu chuẩn")

Công thức này có thể tính ra số giờ nghỉ lễ PUBLIC phải trả nếu cả 3 ngày đều hoạt động .... nhưng không nhiều.


1
Chào mừng bạn đến với SuperUser! Trong khi chúng tôi ở đây để giúp đỡ, chúng tôi thường không thể làm mọi thứ cho bạn. Vui lòng mở rộng câu trả lời của bạn để cho chúng tôi biết bạn đã thử gì, đã làm gì / không hoạt động hay bạn đang gặp lỗi gì.
techturtle

Vâng, một trong số chúng tôi bối rối. Tôi không thấy nơi bạn đã nói điều gì sẽ xảy ra nếu nhân viên làm việc vào thứ ba hoặc thứ năm nhưng không phải cả hai.
Scott

Scott - Trừ khi tôi thực sự bối rối, điểm 3 và 4 bao gồm điều đó. "Không" của tôi có thể được chuyển đổi cho "hoặc" của bạn !!
dùng193896

Chà, một người trong chúng ta vẫn còn bối rối, không thể thay thế cho nhau. Họ sẽ phục vụ cả burger hay gà trong buổi dã ngoại. Họ sẽ phục vụ cả burger hay gà trong buổi dã ngoại. Tôi sẽ đi dã ngoại đầu tiên! // OK, tôi mới nhận ra rằng tôi đã bỏ qua thực tế là bạn đã nói rằng không phải thứ ba hay thứ năm hay thứ năm. Nhưng điều đó không giúp ích gì cho trò chơi của bạn. Vì vậy, tôi không biết ý của bạn ở đoạn 3 và 4 là gì và tôi không có câu trả lời cho câu hỏi của mình.
Scott

Ngoài ra, tôi sẽ nhắc lại lời chào của @ techturtle: chào mừng bạn đến với Siêu người dùng. Đối với thông tin của bạn, khi bạn trả lời một bình luận (trong một bình luận mới), thông thường phải đề cập đến tên của tác giả, trước đó là bởi @ @ @, như trong trò chơi @Scott. Bằng cách đó, anh ta được thông báo. Bạn có thể đề cập đến nhiều tên, như trong Tiếng @m nhạc, @Scott, nhưng có thể có giới hạn hai hoặc ba tên. Xem trả lời trong ý kiến đoạn của các Comment định dạng phần của trang Trợ giúp Markdown Editing.
Scott

Câu trả lời:


2

Tôi tin rằng về cơ bản, nhạc chuông đã có được nó, ngoại trừ một chút về việc được trả tiền cho kỳ nghỉ (không có việc làm) nếu bạn làm việc vào thứ ba và thứ năm. Vì vậy, thay đổi để sử dụng ID di động được đề xuất của người dùng193896 (nhưng vẫn giữ ý tưởng của nhạc chuông rằng B14 có thể là cờ Boolean để xác định ngày lễ), nên trả tiền cho thứ Tư

=IF(AND(B14, F13>0, F15>0), 8+F14*1.5, F14)

nhân với tỷ lệ hàng giờ bình thường là 4 đô la một giờ.


Bạn hoàn toàn đúng, tôi đã đọc sai một phần của câu hỏi.
nhạc chuông

3

Sẽ rất hữu ích khi xem bố cục của bảng tính của bạn, nhưng tôi sẽ cho rằng câu trả lời này là bạn đang sử dụng lịch từ trên xuống dưới như thế này.

Để đạt được mục tiêu của bạn, chúng tôi sẽ tạo một cột có tên là công thức "Hệ số nhân kỳ nghỉ" sẽ chứa 1 (lương tiêu chuẩn) hoặc 1,5 (lương ngày lễ) dựa trên các điều kiện của bạn. Bạn cũng sẽ cần một cột để (thủ công) cho biết ngày nào là ngày lễ.

1   (A) Date    (B) Holiday?  (C) Hours  (D) Factor      (E) Paid
2   2013-01-30  FALSE         8          1               8 * 1 * $4 = 32
3   2013-02-01  TRUE          4          1.5             4 * 1.5 * $4 = 24
4   2013-02-02  FALSE         8          1               8 * 1 * 4$ = 32

Để giữ cho các công thức đơn giản, chúng tôi cần đơn giản hóa các điều kiện của bạn càng nhiều càng tốt. Nếu tôi hiểu bạn một cách chính xác, nhân viên luôn được trả theo tỷ lệ thường xuyên (yếu tố 1) vào những ngày không nghỉ lễ. Ngoài ra, nhân viên không làm việc vào các ngày lễ không bao giờ được trả tiền cho nó (yếu tố 1 vẫn ổn kể từ 0 giờ * 1 = 0).

Vì vậy, trường hợp duy nhất chúng ta rời khỏi nơi yếu tố phải khác 1 là nếu A) đó là ngày nghỉ và B) một số giờ đã được làm việc trước ngày trước VÀ sau đó, trong trường hợp đó hệ số phải là 1,5. Đủ đơn giản! Bây giờ chúng ta có thể dịch nó thành một công thức với 2 điều kiện đó.

Hãy đặt nó trong D3. Công thức kiểm tra xem đó có phải là ngày nghỉ (B3) không và giờ làm việc ở trên và dưới (C2 và C4) ngày hôm đó.

=IF(B3, IF(AND(C2,C4), 1.5, 1), 1)

Vì vậy, đó là 2 câu lệnh IF, câu lệnh đầu tiên (bên ngoài):

=IF(B3....    

Vì vậy, nếu B3 là FALSE (không phải là ngày lễ), nó sẽ luôn trả về 1, tuy nhiên nếu nó đúng, thì nó sẽ tính điều kiện thứ hai trong IF lồng nhau:

=IF(AND(C2,C4).....   

VÀ kiểm tra số giờ làm việc (cột C) và trả về TRUE nếu cả hai giá trị là TRUE. Lưu ý rằng tôi đang sử dụng một phím tắt bằng cách nói C2 thay vì C2> 0 - nó hoạt động vì 0 luôn là FALSE và bất kỳ số nào khác là TRUE. Nếu cả hai đều ĐÚNG, chúng tôi sẽ nhận được kết quả 1,5. Nhưng nếu một hoặc cả hai ngày không có giờ, nó sẽ trả về 1 thông thường.

Sau đó, bạn có thể sao chép công thức này ở mọi nơi (ngoại trừ hàng đầu tiên vì bạn không có thông tin vào ngày trước) và nó phải luôn là 1 hoặc 1,5 khi thích hợp.

Cuối cùng, khi tính toán Khoản thanh toán của bạn, chỉ cần nhân GIỜ * YẾU TỐ * THANH TOÁN.

Chỉnh sửa: Đây sẽ là một công thức "đơn giản hóa" kết hợp tất cả các công thức trên thành một công thức cột PAID duy nhất, giả sử mức lương 4 đô la ở cuối. Cảm ơn Scott vì bình luận hữu ích của anh ấy về việc không cần 2 câu IF. Để được đưa vào E3 và được sao chép ở mọi nơi sau:

= NẾU (VÀ (B3, C2> 0, C4> 0), C3 * 1.5, C3)) * 4

Chỉnh sửa 2: Tôi đã bỏ lỡ một phần câu hỏi trong đó 8 giờ lương trả thêm sẽ được trao nếu nhân viên làm việc vào ngày hôm trước và sau đó. Scott cung cấp một giải pháp chính xác bao gồm cả vào tài khoản.


Cảm ơn rất nhiều vì những nỗ lực của bạn trong việc cố gắng giúp tôi !!! Tôi đang cố gắng thực hiện giải pháp của bạn bây giờ và xem liệu nó có hoạt động trên tất cả các kịch bản của tôi không. Cảm ơn một lần nữa vì sự cẩn thận, suy nghĩ giải thích của bạn
user193896

1
Làm thế nào =IF(B3, IF(AND(C2>0,C4>0), 1.5, 1), 1)khác với =IF(AND(B3,C2>0,C4>0), 1.5, 1)?
Scott

@ Hủy +1, điều đó cũng sẽ làm việc! Tôi chỉ giữ các điều kiện riêng biệt để phản ánh quá trình suy nghĩ 2 bước của tôi, nhưng cuối cùng đề xuất của bạn dễ đọc hơn.
nhạc chuông

@m tone Bây giờ, tôi nhìn vào nó, ngoài trường thật và sai, giải pháp của bạn không khác gì tôi .... và cũng không hoàn toàn làm những gì tôi cần.
dùng193896
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.