Bài toán tính chiết khấu

  • Thread starter Thread starter BNTT
  • Ngày gửi Ngày gửi
Liên hệ QC

BNTT

Bùi Nguyễn Triệu Tường
Thành viên danh dự
Tham gia
3/7/07
Bài viết
4,946
Được thích
23,208
Nghề nghiệp
Dạy đàn piano
Tôi có cái bài này hơi bị "mệt đầu" nè:
000-1225.jpg
Có 2 vấn đề:

1. Định dạng cho cột Chiết khấu (cột C):
  • Nếu nhập vào một số nhỏ hơn hoặc bằng 100 (ví dụ 10) thì đó là % (10%)

  • Nếu nhập vào một số lớn hơn 100 (ví dụ 10000) thì đó là một số tiền (10.000), tức là giữ nguyên số, không có % gì hết.

2. Tính thành tiền sau chiết khấu (cột E):
  • Nếu chiết khấu là %, thì lấy thành tiền chưa chiết khấu trừ bớt đi phần trăm chiết khấu.

    Ví dụ, mặt hàng ở hàng thứ 2, thành tiền trước chiết khấu là 258.000, trừ 10% chiết khấu, còn: = 258.000 - 25.800 = 232.200


  • Nếu chiết khấu là số tiền, thì đó là giảm cho đơn giá (chứ không phải là lấy thành tiền chưa chiết khấu trừ bớt đi số tiền chiết khấu).

    Ví dụ: mặt hàng ở hàng thứ 3, giảm 20.000 nghĩa là lấy 55.000 (đơn giá ) trừ bớt đi 20.000, còn 35.000, rồi nhân với 50 (số lượng), nó ra 1.750.000 (tức là giảm đến 1.000.000 đồng chứ không phải là giảm 20.000)


Xin nói rõ hơn yêu cầu:
  • Ở cột C, chỉ nhập số vào thôi, Excel tự định dạng, tự hiểu để tính, chứ không phải là nhập số 10 rồi gõ thêm cái ký hiệu % vào.
  • Ở cột E, chỉ dùng 1 công thức duy nhất cho cả cột.

Xin mời.
 
Lần chỉnh sửa cuối:
To BNNT: Bác xem lại yêu cầu khi nhập cột C, vì theo em theo như ý Bác là hổng được đâu (không biết VBA có được không, nhưng em không rành), theo em thì chỉ có thể nhập được theo kiểu là nhập nhỏ hơn 100 thì ra %, còn nhập lớn hơn 100 thì ra dạng số nhưng KQ là chia 100 thì mới được (VD: nhập 3 ra KQ là 3%, nhập 12000 ra KQ 120). Không biết phải vậy không Bác!
 
Lần chỉnh sửa cuối:
To BNNT: Bác xem lại yêu cầu khi nhập cột C, vì theo em theo như ý Bác là hổng được đâu (không biết VBA có được không, nhưng em không rành), theo em thì chỉ có thể nhập được theo kiểu là nhập nhỏ hơn 100 thì ra %, còn nhập lớn hơn 100 thì ra dạng số nhưng KQ là chia 100 thì mới được (VD: nhập 3 ra KQ là 3%, nhập 12000 ra KQ 120). Không biết phải vậy không Bác!
Không phải vậy. Và cũng không có tí VBA nào trong bài này.
Nhập 3 thì hiển thị là 3%, còn nhập 12000 thì hiển thị là 12,000.
Bạn suy nghĩ thêm tí đi, được mà.
 
Lần chỉnh sửa cuối:
Sao anh không làm một cột phụ để chuyển các giá trị ở cột chiết khấu.Còn cái này nếu dùng VBA thì được thôi
 
Sao anh không làm một cột phụ để chuyển các giá trị ở cột chiết khấu.Còn cái này nếu dùng VBA thì được thôi
Hì hì, không cột phụ, không VBA, cũng không công thức luôn... mà vẫn làm được thì sao ?
Các bạn xem lại bài 1 nhé. Tôi ghi rõ là "Định dạng cột C".
Bài này dĩ nhiên là tôi làm được rồi. Muốn đưa ý tưởng lên đây để các bạn cùng nghiên cứu thôi.

Thôi thì tôi cho đáp án yêu cầu 1 đây:
Chọn hết cột Chiết khấu (cột C), rồi định dạng cho nó theo kiểu:
Quay lại cột C, các bạn thử nhập số vào đi, những con số nhỏ hơn 100 thì ra bao nhiêu, và những con số lớn hơn 100 thì ra bao nhiêu, nhé.
 
Lần chỉnh sửa cuối:
Thực ra, đây là một thủ thuật để hiển thị thôi. Cột C được định dạng theo điều kiện CF với hai điều kiện:

1. Dữ liệu nằm giữa 0 và 100 thì định dạng custom #"%"
2. Dữ liệu nằm ngoài 0 và 100 thì định dạng số bình thường có dấu , ngăn cách.

Còn cột E chỉ là dùng hàm if thôi: IF(and(C2>=0,C2<=100),B2*(1-C2/100),B2-C2)*A2

Thế thôi!

Xem file đính kèm.
 

File đính kèm

Lần chỉnh sửa cuối:
Hì hì, không cột phụ, không VBA, cũng không công thức luôn... mà vẫn làm được thì sao ?
Các bạn xem lại bài 1 nhé. Tôi ghi rõ là "Định dạng cột C".
Bài này dĩ nhiên là tôi làm được rồi. Muốn đưa ý tưởng lên đây để các bạn cùng nghiên cứu thôi.

Thôi thì tôi cho đáp án yêu cầu 1 đây:
Chọn hết cột Chiết khấu (cột C), rồi định dạng cho nó theo kiểu:

Quay lại cột C, các bạn thử nhập số vào đi, những con số nhỏ hơn 100 thì ra bao nhiêu, và những con số lớn hơn 100 thì ra bao nhiêu, nhé.

Trời đất ơi, Bác làm em điên cả cái đầu thiệt, em đọc yêu cầu tưởng là gõ nhỏ hơn 100 thì đó là % thật sự (gõ 10 là 10%=0.1), lâu lâu Bác làm một cú như vậy thì được chớ cứ thường xuyên vầy chắc thằng em "tiêu" luôn quá.
Hihihi... dù sao cũng cảm ơn Bác, lâu lâu cho thằng em nặng cái đầu một tí +-+-+-+.
 
Web KT

Bài viết mới nhất

Back
Top Bottom