Thay cho hàm IF

Liên hệ QC

haonlh

Thành viên tích cực
Tham gia
2/12/07
Bài viết
1,177
Được thích
587
Quy tắc tính thuế thu nhập
Sau khi trừ gia cảnh và bản thân, nếu thu nhập
từ 1 đến 5 triệu thì nộp thuế thu nhập 5% (mức 1)
Nếu còn tiếp trên 5 triệu đến 10 triệu thì nộp 10%(mức 2)
Nếu còn tiếp trên 10 triệu đến 18 triệu thì nộp 15%(mức 3)
v.v...

Hôm nay, đọc thấy người ta dùng hàm IF, tính thành nhiều cột, mỗi cột 1 mức và thấy khá phức tạp. Bỗng nghĩ ra thế này
Quy tắc tính trên được thay bằng quy tắc sau

Sau khi trừ gia cảnh và bản thân,
- nếu thu nhập dương thì chịu thuế 5%
- Nếu thu nhập trên 5 triệu thì tính thêm 5% (cho chỗ thêm)
- Nếu thu nhập trên 10 triệu thì tính thêm 5%(cho chỗ thêm)
v.v...

Vậy công thức sẽ là (coi x là địa chỉ ô chứa thu nhập đã trừ gia cảnh và bản thân:
=(max(0,x) + max(0,x - 5000000) +max(0,x - 10000000) + ...) * 5%

Có nhiều bài toán tương tự, như tính tiền điện.

Giới thiệu các bạn thấy có gì chưa phải xin chỉ giáo để sau đó sử dụng cho tiện
 
Lần chỉnh sửa cuối:
Nếu tăng đều 5% thì có thể rút 5% ra làm thừa số chung như bạn nói, tuy nhiên biểu thuế hình như đâu có tăng đều đâu nhỉ???
 
Tăng đều đó.

Nhưng như tiền điện thì không. Khi đó không thể nhân chung mà nhân từng thành phần.
Ví dụ có "quy tắc" sau
- dùng từ 1 đến 50 số điện thì giá 10 (đ)
- dùng từ 51 đến 70 thì giá 11
- dùng từ 71 đến 100 thì giá 14
- ...

thì "chuyển" quy tắc trên thành
- Dùng gì cũng (không âm) giá 10
- Từ số 51 trở lên tính thêm 1 (đ)
- Từ số 71 trở lên tính thêm 3 (đ)
- ...

(ở đây các mức có giá không đều)

và công thức sẽ là (x là số điện đã dùng)

= x * 10 + max(0, x - 50 ) * 1 + max(0, x - 70 ) * 3 + ...
(đầu tiên không cần max(0, x ) * 10 vì x không âm, còn phần chịu thuế có thể âm.
 
Lần chỉnh sửa cuối:
Gửi luôn file để các bạn xem
 

File đính kèm

  • Các mức thuế.xls
    24.5 KB · Đọc: 16
Web KT
Back
Top Bottom