Tính bù lương tối thiểu vùng dùng hàm IF nhiều điều kiện

Liên hệ QC

haithanhnga

Thành viên mới
Tham gia
16/8/17
Bài viết
42
Được thích
2
Giới tính
Nam
hân gửi các bạn,

Mình có 1 File Exel dùng để tính bù lương tối thiểu vùng theo nhiều điều kiện mình có ghi chú trong File đính kèm. Nhờ các bạn giúp đỡ.
Chân thành cảm ơn !
Thanh
 

File đính kèm

  • Copy of bu luong toi thieu vung.xlsx
    454.5 KB · Đọc: 21
hân gửi các bạn,

Mình có 1 File Exel dùng để tính bù lương tối thiểu vùng theo nhiều điều kiện mình có ghi chú trong File đính kèm. Nhờ các bạn giúp đỡ.
Chân thành cảm ơn !
Thanh
Mã:
P2 =IFERROR(INDEX({0;1.3;1.5;1.8},MATCH(INDEX({6;4;0},MATCH(DATEDIF(E2-1,TODAY(),"m"),{0,2.999,7},1),)+INDEX({0;1;3;4},MATCH(N2/10^6,{0,2,2.5,2.7},1),),{0,4,5,6,7},1),)*10^6,O2)
 

File đính kèm

  • Copy of bu luong toi thieu vung.xlsx
    448.7 KB · Đọc: 15
Mã:
P2 =IFERROR(INDEX({0;1.3;1.5;1.8},MATCH(INDEX({6;4;0},MATCH(DATEDIF(E2-1,TODAY(),"m"),{0,2.999,7},1),)+INDEX({0;1;3;4},MATCH(N2/10^6,{0,2,2.5,2.7},1),),{0,4,5,6,7},1),)*10^6,O2)
Trước tiên chân thành cảm ơn bạn,
Kết quả ô P2 rơi vào trường hợp : + Nếu E2 >=7 tháng so với tháng hiện hành và N2>=2,750,000 thì số tiền thực bù Là O2. Bạn kiểm tra lại giúp mình.
Có nghĩa số tiền bù là 70.818.
Các trường hợp khác như sau :
+Nếu E2 <= 3 tháng so so với tháng hiện hành và N2>=2 triệu thì số tiền thực bù = O2
+Nếu E2 <= 3 tháng so so với tháng hiện hành và N2<2 triệu thì số tiền thực bù là 1,800,000.
+ Nếu E2 > 3 tháng và <7 tháng so với tháng hiện hành và N2>=2,500000 thì số tiền thực bù = O2
+ Nếu E2 > 3 tháng và <7 tháng so với tháng hiện hành và 2,000000=<N2<2,500000 thì số tiền thực bù Là 1,500,000,
+ Nếu E2 > 3 tháng và <7 tháng so với tháng hiện hành và N2<2,00,000 thì số tiền thực bù Là 1,300,000
+ Nếu E2 >=7 tháng so với tháng hiện hành và N2>=2,750,000 thì số tiền thực bù Là O2.
+ Nếu E2 >=7 tháng so với tháng hiện hành và N2<2,750,000 thì số tiền thực bù Là bằng 0.
Bạn cố gắng giúp mình lần nữa nhé

Chân thành cảm ơn
 

File đính kèm

  • Copy of bu luong toi thieu vung.xlsx
    454.5 KB · Đọc: 13
Trước tiên chân thành cảm ơn bạn,
Kết quả ô P2 rơi vào trường hợp : + Nếu E2 >=7 tháng so với tháng hiện hành và N2>=2,750,000 thì số tiền thực bù Là O2. Bạn kiểm tra lại giúp mình.
Có nghĩa số tiền bù là 70.818.
Các trường hợp khác như sau :
+Nếu E2 <= 3 tháng so so với tháng hiện hành và N2>=2 triệu thì số tiền thực bù = O2
+Nếu E2 <= 3 tháng so so với tháng hiện hành và N2<2 triệu thì số tiền thực bù là 1,800,000.
+ Nếu E2 > 3 tháng và <7 tháng so với tháng hiện hành và N2>=2,500000 thì số tiền thực bù = O2
+ Nếu E2 > 3 tháng và <7 tháng so với tháng hiện hành và 2,000000=<N2<2,500000 thì số tiền thực bù Là 1,500,000,
+ Nếu E2 > 3 tháng và <7 tháng so với tháng hiện hành và N2<2,00,000 thì số tiền thực bù Là 1,300,000
+ Nếu E2 >=7 tháng so với tháng hiện hành và N2>=2,750,000 thì số tiền thực bù Là O2.
+ Nếu E2 >=7 tháng so với tháng hiện hành và N2<2,750,000 thì số tiền thực bù Là bằng 0.
Bạn cố gắng giúp mình lần nữa nhé

Chân thành cảm ơn
Mình nhầm 1 số
Mã:
=IFERROR(INDEX({0;1.3;1.5;1.8},MATCH(INDEX({6;4;0},MATCH(DATEDIF(E2-1,TODAY(),"m"),{0,2.999,7},1),)+INDEX({0;1;3;7},MATCH(N2/10^6,{0,2,2.5,2.7},1),),{0,4,5,6,7},1),)*10^6,O2)
bạn kiểm tra lại
 
Mình nhầm 1 số
Mã:
=IFERROR(INDEX({0;1.3;1.5;1.8},MATCH(INDEX({6;4;0},MATCH(DATEDIF(E2-1,TODAY(),"m"),{0,2.999,7},1),)+INDEX({0;1;3;7},MATCH(N2/10^6,{0,2,2.5,2.7},1),),{0,4,5,6,7},1),)*10^6,O2)
bạn kiểm tra lại
Thân gửi bạn,
Rất cảm ơn vì sự giúp đỡ nhiệt tình của bạn. Nhưng khi mình copy công thức vào File nó báo lỗi. Nếu có thể được bạn thử giúp mình điền thẳng công thức vào File và xem lỗi như thế nào.
Bạn cố gắng giúp mình nhé
Chân thành cảm ơn
Thanh
 

File đính kèm

  • Copy of bu luong toi thieu vung.xlsx
    454.5 KB · Đọc: 2
Thân gửi bạn,
Rất cảm ơn vì sự giúp đỡ nhiệt tình của bạn. Nhưng khi mình copy công thức vào File nó báo lỗi. Nếu có thể được bạn thử giúp mình điền thẳng công thức vào File và xem lỗi như thế nào.
Bạn cố gắng giúp mình nhé
Chân thành cảm ơn
Thanh
Xem file
 

File đính kèm

  • Copy of bu luong toi thieu vung (2).xlsx
    456.1 KB · Đọc: 7
Cám ơn bạn rất nhiều,
Mình làm được rồi
Chào bạn,
File bạn gửi mình đã kiểm tra các trường hợp khác nhau chạy chính xác. Chỉ có một điều kiện cuối chưa chạy được. Bạn giúp mình bổ sung nhé. Cụ thể:
+ Nếu E2 >=7 tháng so với tháng hiện hành và N2<2,750,000 thì số tiền thực bù Là bằng 0. Có nghĩa là từ tháng thứ 7 trở đi nêu N2 không đủ 2.750.000 thì không được bù.
Bạn cố gắng giúp mình nhé
Chân thành cảm ơn
Thanh
 

File đính kèm

  • Copy of bu luong toi thieu vung (2) (1).xlsx
    458.3 KB · Đọc: 3
Chào bạn,
File bạn gửi mình đã kiểm tra các trường hợp khác nhau chạy chính xác. Chỉ có một điều kiện cuối chưa chạy được. Bạn giúp mình bổ sung nhé. Cụ thể:
+ Nếu E2 >=7 tháng so với tháng hiện hành và N2<2,750,000 thì số tiền thực bù Là bằng 0. Có nghĩa là từ tháng thứ 7 trở đi nêu N2 không đủ 2.750.000 thì không được bù.
Bạn cố gắng giúp mình nhé
Chân thành cảm ơn
Thanh
Dòng nào chưa đúng?
Tạo cột U để bạn dể kiểm tra
 

File đính kèm

  • Copy of bu luong toi thieu vung (2) (1).xlsx
    457.7 KB · Đọc: 8
Vấn đề mấu chốt là hiểu các câu:

- Nếu E2 <= 3 tháng so so với tháng hiện hành
- Nếu E2 <= 3 tháng so so với tháng hiện hành
- Nếu E2 > 3 tháng và <7 tháng so với tháng hiện hành
- Nếu E2 > 3 tháng và <7 tháng so với tháng hiện hành
- Nếu E2 > 3 tháng và <7 tháng so với tháng hiện hành
- Nếu E2 >=7 tháng so với tháng hiện hành
- Nếu E2 >=7 tháng so với tháng hiện hành

Tôi hiểu là người ta khi xác định 3 hay 7 tháng thì không tính chính xác tới ngày mà chỉ tính chính xác tới tháng. Sự khác nhau?

Vd. hiện có E159 = 2017-11-06. Tức chắc chắn tính chính xác theo ngày hay tháng thì cũng có trường hợp E2 >=7 tháng so với tháng hiện hành và N2<2,750,000. Vậy tiền bù là 0.

Nhưng nếu là vd. E159 = 2017-11-23 thì rõ ràng nếu tính chính xác tới ngày thì chưa đủ 7 tháng nên tiền bù <> 0. Còn tính chính xác tới tháng thì vẫn có trường hợp E2 >=7 tháng so với tháng hiện hành và N2<2,750,000. Vậy tiền bù là 0.

Công thức hiện thời hình như (tôi không phân tích, chỉ nhìn qua) tính theo kiểu chính xác tới ngày nên kết quả <> mong đợi

Để tránh hiểu sai thì nên nói rõ là khi tính "hiệu" 2 mốc thời gian thì tính chính xác tới tháng hay chính xác tới ngày
----------------------------------------
Tôi chỉ xét trường hợp tính "hiệu" 2 mốc thời gian chính xác tới tháng. Nếu tính chính xác tới ngày thì công thức hơi khác.

Theo tôi nếu công thức vừa đơn giản, dễ hiểu vừa ngắn gọn thì là công thức lý tưởng. Nhưng nếu phải chọn thì tôi sẽ chọn công thức dài hơn nhưng đơn giản hơn và dễ hiểu hơn mà không cần những kiến thức cao siêu hơn hay tà đạo. Cái đẹp nằm ở sự đơn giản, dễ hiểu. Thủ thuật chỉ dùng để biểu diễn mà thôi. Không phải vô cớ khi cũng cùng một vấn đề mà anh nông dân giải thích cho anh nông dân thì anh ta hiểu nhưng vị giáo sư giải thích thì lại không hiểu. Vì vị giáo sư dùng những khái niệm cao siêu, ngôn ngữ bác học nên anh nông dân không hiểu.

Tất nhiên ta chỉ xét và so sánh khi 2 công thức có tốc độ tương đương. Vì tốc độ là yếu tố quan trọng.

Theo tôi hàm IF đơn giản, ai cũng biết. Điều kiện thì xét từ trái sang phải, trong mỗi điều kiện chỉ có 1 nhánh được thực hiện. Nói chung triết lý dễ hiểu.

Nếu ta gọi "hiệu" 2 mốc thời gian tính chính xác tới tháng là x và dùng IF thì cứ theo bảng điều kiện của bạn, xét từ trên xuống dưới
Mã:
=IF(x<=3,IF(N2>=2*10^6,O2,1800000),IF(x<7,IF(N2>=25*10^5,O2,IF(N2>=2*10^6,15*10^5,13*10^5)),IF(N2>=275*10^4,O2,0)))
Rõ ràng nhìn vào bảng điều kiện của bạn thì công thức đơn giản và dễ hiểu.

Để tính x, tức "hiệu" 2 mốc thời gian tính chính xác tới tháng thì tôi đề nghị
Mã:
x = DATEDIF(E2-DAY(E2)+1,EOMONTH(TODAY(),-1)+1,"m")

Tức công thức cho P2
Mã:
=IF(DATEDIF(E2-DAY(E2)+1,EOMONTH(TODAY(),-1)+1,"m")<=3,IF(N2>=2*10^6,O2,1800000),IF(DATEDIF(E2-DAY(E2)+1,EOMONTH(TODAY(),-1)+1,"m")<7,IF(N2>=25*10^5,O2,IF(N2>=2*10^6,15*10^5,13*10^5)),IF(N2>=275*10^4,O2,0)))

Hi vọng là tôi không nhầm chỗ nào khi xét điều kiện từ bảng điều kiện của bạn.
 
Lần chỉnh sửa cuối:
Vấn đề mấu chốt là hiểu các câu:

- Nếu E2 <= 3 tháng so so với tháng hiện hành
- Nếu E2 <= 3 tháng so so với tháng hiện hành
- Nếu E2 > 3 tháng và <7 tháng so với tháng hiện hành
- Nếu E2 > 3 tháng và <7 tháng so với tháng hiện hành
- Nếu E2 > 3 tháng và <7 tháng so với tháng hiện hành
- Nếu E2 >=7 tháng so với tháng hiện hành
- Nếu E2 >=7 tháng so với tháng hiện hành

Tôi hiểu là người ta khi xác định 3 hay 7 tháng thì không tính chính xác tới ngày mà chỉ tính chính xác tới tháng. Sự khác nhau?

Vd. hiện có E159 = 2017-11-06. Tức chắc chắn tính chính xác theo ngày hay tháng thì cũng có trường hợp E2 >=7 tháng so với tháng hiện hành và N2<2,750,000. Vậy tiền bù là 0.

Nhưng nếu là vd. E159 = 2017-11-23 thì rõ ràng nếu tính chính xác tới ngày thì chưa đủ 7 tháng nên tiền bù <> 0. Còn tính chính xác tới tháng thì vẫn có trường hợp E2 >=7 tháng so với tháng hiện hành và N2<2,750,000. Vậy tiền bù là 0.

Công thức hiện thời hình như (tôi không phân tích, chỉ nhìn qua) tính theo kiểu chính xác tới ngày nên kết quả <> mong đợi

Để tránh hiểu sai thì nên nói rõ là khi tính "hiệu" 2 mốc thời gian thì tính chính xác tới tháng hay chính xác tới ngày
----------------------------------------
Tôi chỉ xét trường hợp tính "hiệu" 2 mốc thời gian chính xác tới tháng. Nếu tính chính xác tới ngày thì công thức hơi khác.

Theo tôi nếu công thức vừa đơn giản, dễ hiểu vừa ngắn gọn thì là công thức lý tưởng. Nhưng nếu phải chọn thì tôi sẽ chọn công thức dài hơn nhưng đơn giản hơn và dễ hiểu hơn mà không cần những kiến thức cao siêu hơn hay tà đạo. Cái đẹp nằm ở sự đơn giản, dễ hiểu. Thủ thuật chỉ dùng để biểu diễn mà thôi. Không phải vô cớ khi cũng cùng một vấn đề mà anh nông dân giải thích cho anh nông dân thì anh ta hiểu nhưng vị giáo sư giải thích thì lại không hiểu. Vì vị giáo sư dùng những khái niệm cao siêu, ngôn ngữ bác học nên anh nông dân không hiểu.

Tất nhiên ta chỉ xét và so sánh khi 2 công thức có tốc độ tương đương. Vì tốc độ là yếu tố quan trọng.

Theo tôi hàm IF đơn giản, ai cũng biết. Điều kiện thì xét từ trái sang phải, trong mỗi điều kiện chỉ có 1 nhánh được thực hiện. Nói chung triết lý dễ hiểu.

Nếu ta gọi "hiệu" 2 mốc thời gian tính chính xác tới tháng là x và dùng IF thì cứ theo bảng điều kiện của bạn, xét từ trên xuống dưới
Mã:
=IF(x<=3,IF(N2>=2*10^6,O2,1800000),IF(x<7,IF(N2>=25*10^5,O2,IF(N2>=2*10^6,15*10^5,13*10^5)),IF(N2>=275*10^4,O2,0)))
Rõ ràng nhìn vào bảng điều kiện của bạn thì công thức đơn giản và dễ hiểu.

Để tính x, tức "hiệu" 2 mốc thời gian tính chính xác tới tháng thì tôi đề nghị
Mã:
x = DATEDIF(E2-DAY(E2)+1,EOMONTH(TODAY(),-1)+1,"m")

Tức công thức cho P2
Mã:
=IF(DATEDIF(E2-DAY(E2)+1,EOMONTH(TODAY(),-1)+1,"m")<=3,IF(N2>=2*10^6,O2,1800000),IF(DATEDIF(E2-DAY(E2)+1,EOMONTH(TODAY(),-1)+1,"m")<7,IF(N2>=25*10^5,O2,IF(N2>=2*10^6,15*10^5,13*10^5)),IF(N2>=275*10^4,O2,0)))

Hi vọng là tôi không nhầm chỗ nào khi xét điều kiện từ bảng điều kiện của bạn.
Cám ơn bạn,
Ý của mình cũng giống như bạn, tiến về cái đơn giản. Mình đã chép công thức cuối cùng bạn tu chỉnh vào File nhưng bị báo lỗi. Không biết bị sao nữa. Nhờ bạn điền thẳng vào File giúp nhé.
Thanks
Thanh
 

File đính kèm

  • bu luong toi thieu vung Final .xlsx
    460 KB · Đọc: 2
Ý của mình cũng giống như bạn, tiến về cái đơn giản. Mình đã chép công thức cuối cùng bạn tu chỉnh vào File nhưng bị báo lỗi. Không biết bị sao nữa. Nhờ bạn điền thẳng vào File giúp nhé.
Công thức ở cột P
 

File đính kèm

  • bu luong toi thieu vung Final .xlsx
    459.9 KB · Đọc: 5
Web KT
Back
Top Bottom