Đúng là bài này đã có nhiều rồi. Cách giải tuỳ theo độ phức tạp của đề bài.
Theo bài này (và nó chỉ là một bài tập) thì cách #2 là giản dị nhất (tuy có hơi dài)
Cách #3 dựa trên tính chất độ tăng tuyến tính thẳng, cho nên ngắn nhất nhưng chỉ áp dụng được cho trường hợp này.
Cách #4 tổng quát hơn.
Còn một cách nữa, dựa trên mảng:
- Ta có 2 mảng là mảng định mức tiêu thụ { dinhmuc } và mảng thang giá { thanggia }
- Ta đặt thêm một mảng thang giá trệch, tức là đẩy thang giá về bên phải 1 phần tử { thanggia_1 }; nếu thanggia là { pt1, pt2, pt3 } thì thanggia_1 là { 0, pt1, pt2 }
Công thức:
=SUMPRODUCT(IF(tieuthu-{dinhmuc}>0,tieuthu-{dinhmuc},0)*({thanggia}-{thanggia_1}))
Trong bài này, dinhmuc là { 0, 50, 100 }, thanggia là { 100, 150, 200 }, và thanggia_1 là { 0, 100, 150 }
Công thức trong bài:
=SUMPRODUCT(IF($E4-{0,50,100}>0,$E4-{0,50,100},0)*({100,150,200}-{0,100,150}))
Phương pháp mảng dài và rắc rối, chỉ tiện dụng khi thang giá là thang giá động, thay đổi thường xuyên. Khi thang giá thay đổi, chỉ việc vào đúng mảng mà sửa hoặc thêm.