Hỏi về hàm đếm, hàm ngày tháng....

Liên hệ QC
Mình không để ý chỗ đó nên mới đặt lại công thức như thế này tại cột D9 =IF(AND(OR(MONTH(A19)=7;MONTH(A19)=1);A19<>0;YEAR(A19)<2010);1;"") là Ok mà, mình chỉ muốn mọi người rút gọn sao mình không phải dùng cột phụ thôi bác ạ!

Nếu Year(A9)<2010 (bỏ dấu bằng so với công thức cũ), thì trường hợp vào tháng 01/2010 có được cộng thêm 50.000 không?

Nếu bạn nói là có, thì nên dùng công thức khác
Nếu bạn nói không, thì câu "Nếu tháng vào công ty rơi vào tháng 1 và tháng 7 thì sẽ được cộng thêm 50.000đ nữa." sẽ vẫn sai.

Với suy luận và phát biểu không chặt chẽ như vậy thì sẽ khiến người trả lời hết rơi vào bẫy này đến rơi vào bẫy khác.
 
Tất nhiến nếu đặt công thức như vậy thì tháng 1/2010 sẽ không được 50.000đ nữa. Cái điều kiện trước ngày 30/6/2010 mới được hưởng tiền thâm niên đã nói rõ rồi mà, tức là tháng công ty rơi vào tháng 1 hoặc tháng 7 cũng phải thoả mãn điều kiện trên. Tại mọi người cứ tự suy luận đó chứ!
 
Tất nhiến nếu đặt công thức như vậy thì tháng 1/2010 sẽ không được 50.000đ nữa. Cái điều kiện trước ngày 30/6/2010 mới được hưởng tiền thâm niên đã nói rõ rồi mà,...

Tháng 1/2010 trước hay sau 30/06/2010 hả bạn?

Tại mọi người cứ tự suy luận đó chứ!
Mọi người tự suy luận, đó là đang muốn giúp bạn giải quyết rốt ráo đấy. Nếu bạn không muốn thì thôi nhé.
 
Lần chỉnh sửa cuối:
Tại mọi người chưa hiểu rõ vấn đề mình đặt ra thôi, hình như chúng ta không hiểu ý nhau mà diễn đàn là nơi mọi người ta thảo luận chứ đâu phải vặn vẹo nhau vậy, bạn không nhìn công thức mình đã tạo sao? Nhìn thì sẽ hiểu "sau","trước" mà mình dùng là ý gì.
 

File đính kèm

  • Tien thuong.xls
    19 KB · Đọc: 15
Tại mọi người chưa hiểu rõ vấn đề mình đặt ra thôi, hình như chúng ta không hiểu ý nhau mà diễn đàn là nơi mọi người ta thảo luận chứ đâu phải vặn vẹo nhau vậy, bạn không nhìn công thức mình đã tạo sao? Nhìn thì sẽ hiểu "sau","trước" mà mình dùng là ý gì.
Bạn diễn đạt mà mọi người chưa hiểu vấn đề thì chính bạn phải xem lại cách diễn đạt của mình. Không phải một người mà tất cả, sau hơn 20 bài viết mà vẫn chưa ai biết chính xác bạn muốn cái gì. Mọi người tham gia trả lời trong topic này mỗi người hiểu mỗi kiểu nhưng nếu căn cứ vào những gì bạn diễn đạt thì không thể nói ai sai được hết.
Cũng chẳng có ai vặn vẹo bạn mà mọi người chỉ muốn hiểu bạn muốn gì để giúp bạn giải quyết một cách triệt để thôi. Tôi thấy mọi người như vậy là quá nhiệt tình rồi, nếu là tôi thì lằn nhằn khó hiểu như thế này tôi đã bỏ cuộc lâu rồi.
 
Đôi lời ...

Tôi thì không viết công thức tinh tế được như anh ndu hay anh ptm0412, cũng đang học để viết công thức gọn như anh dat_butmuc.
Nhưng tôi thử tách ra từng phần công thức của bạn hoamattroi để xem thì hiểu đại khái như vầy:

1. Đối với quy định chỉ vào làm trước 30/06/2010 mới được tính thâm niên được tính như sau:

- Tính từ ngày bắt đầu vào làm đến ngày 30/06/2010 xem có bao nhiêu tháng, chia cho 6 để lấy 1 số lần nguyên, số lần nguyên này nhân với 50.000
- Số tháng còn dư dù là 5 tháng cũng không được tính, vì hàm Int nó lấy số nguyên, số ngày lẻ dù là 29 ngày cũng không tính, vì dùng hàm Datedif.

2. Đối với quy định nếu vào làm tháng 1 hoặc tháng 7 (dĩ nhiên là trước 30/06/2010 cho khỏi phạm vào quy định 1) sẽ được cộng 50.000 được hiểu là:

- Nếu sau khi lấy phần nguyên (6 tháng tính 1) xong, nếu dư 5 tháng và 0 ngày trở xuống, thì bỏ
- Nếu sau khi lấy phần nguyên (6 tháng tính 1) xong, nếu dư 5 tháng và 1 ngày trở lên, thì tính tròn 6 tháng, thêm 1 lần nguyên cho người ta (1 lần 50.000 nữa). Cái này tôi đã kiểm chứng bằng cách tách 1 công thức ra nhiều cột.

Vậy đối với trường hợp dòng 14 và 15 trong file cuối cùng bài 24, thời gian làm việc tính đến 30/06/2010 là 5 tháng 25 ngày và 5 tháng 29 ngày. Cả 2 do bị ép Year(ngày vào)<2010 nên không có thâm niên (dù vào làm tháng 1 như quy định 2)

Trong khi đó tại dòng 19, thời gian làm việc tính đến 30/06/2010 là 59 tháng 28 ngày, sau khi lấy 9 lần nguyên 6 tháng, còn lại 5 tháng 28 ngày. Nhưng dòng này lại được cộng thêm 50.000 vì vào làm tháng 7.

Vấn đề là: Tại sao 5 tháng 29 ngày ở dòng 15 không được tính, mà con số 5 tháng 28 ngày ít hơn lại được tính?

Tôi không vặn vẹo, và tôi nghĩ không ai vặn vẹo. Nhưng nếu bạn hoamattroi trả lời được câu hỏi này, và câu hỏi của anh ptm bài 23:

Tháng 1/2010 trước hay sau 30/06/2010 hả bạn?

thì khi 2 người ở dòng 14 và 15 kiện cáo, bạn mới trả lời được. Họ sẽ kiện là họ đủ tiêu chuẩn cho cả 2 quy định:
1. Vào làm trước 30/06/2010
2. Vào làm tháng 1.

Vậy giả sử là mọi người đang vặn vẹo (kể cả tôi nữa), nghĩa là đang không muốn cho bạn bị vặn vẹo bởi công nhân, và khi bị kiện cáo, đến lượt bị vặn vẹo bởi ông/ bà sếp bạn: Tính toán thế nào để cho CN lên kiện cáo um sùm.

Xem nick của bạn thì tôi đoán, nếu sai thì bạn bỏ qua, bạn mới đi làm 1 năm, và tính tiền thưởng lần đầu tiên, chưa phải đối mặt với những kiện cáo chất vấn hợp lý và vô lý của công nhân.
 
Mình cảm ơn tất cả bài thảo luận của các bạn!
Đọc các bài thảo luận mình mới vỡ ra rất nhiều điều cần phải giải quyết trong ngay bài toán mà mình đặt ra để giải quyết,yêu cầu của mình viết chưa rõ. Công thức mình tạo vẫn chưa đúng với yêu cầu mà mình đặt ra.
- Về phần mức chung thì không có gì cần bàn cãi.
- Riêng tiền thâm niên mình có 3 vấn đề cần giải quyết:
1. Phải vào trước ngày 30/6/2010 mới được tính thâm niên
2. Cứ 6 tháng được xét thâm niên 1 lần (mỗi 6 tháng được 50.000đ)
3. Trường hợp những người có 5 tháng dư thì được xét vớt thêm 50.000đ nữa.
Có khi phải lần theo yêu cầu này để đặt lại công thức của chính mình thôi
 
Lần chỉnh sửa cuối:
Mình cảm ơn tất cả bài thảo luận của các bạn!
Đọc các bài thảo luận mình mới vỡ ra rất nhiều điều cần phải giải quyết trong ngay bài toán mà mình đặt ra để giải quyết,yêu cầu của mình viết chưa rõ. Công thức mình tạo vẫn chưa đúng với yêu cầu mà mình đặt ra.
- Về phần mức chung thì không có gì cần bàn cãi.
- Riêng tiền thâm niên mình có 3 vấn đề cần giải quyết:
1. Phải vào trước ngày 30/6/2010 mới được tính thâm niên
2. Cứ 6 tháng được xét thâm niên 1 lần (mỗi 6 tháng được 50.000đ)
3. Trường hợp những người có 5 tháng dư thì được xét vớt thêm 50.000đ nữa.
Có khi phải lần theo yêu cầu này để đặt lại công thức của chính mình thôi
Bó tay. Bài của mình mà người khác phân tích còn rõ hơn mình nhiều. Bạn cứ nói thẳng ra là dư 5 tháng thì được tính thêm 50.000 việc gì phải quy ra tháng 1 với tháng 7 cho nó phức tạp hơn. Bài học bạn cần rút ra ở đây là: Cần trình bày yêu cầu rõ ràng chứ không nên bắt người khác thực hiện theo thuật toán của mình.
Bạn nói mức chung không có gì bàn cãi nữa nên tôi cũng không có ý kiến nữa. Tôi đề xuất công thức cho yêu cầu mới nhất của bạn về tiền thưởng thâm niên:
Mã:
=MAX(INT(DATEDIF(A9,DATE(2020,7,31),"m")/6)-20,0)*50000
Hoặc công thức mảng:
Mã:
=SUM((EDATE(A9,ROW($1:$99)*6)<DATE(2010,8,1))*50000)
 
Web KT
Back
Top Bottom