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
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,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)
Mình nhầm 1 số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
=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)
Thân gửi bạn,Mình nhầm 1 sốbạn kiểm tra lạiMã:=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)
Xem fileThâ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
Cám ơn bạn rất nhiều,Xem file
Chào bạn,Cám ơn bạn rất nhiều,
Mình làm được rồi
Dòng nào chưa đúng?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
=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)))
x = DATEDIF(E2-DAY(E2)+1,EOMONTH(TODAY(),-1)+1,"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)))
Cám ơn bạn,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
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.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)))
Để 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ông thức ở cột PÝ 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é.