Cách tính tiền thuê phòng có điền kiện chiết giảm

Liên hệ QC

tuyetatn

Thành viên mới
Tham gia
27/5/18
Bài viết
21
Được thích
3
tiền phải trả=đơn giá* số ngày ở, nếu thuê tầng 2 và ở nhiều hơn 7 ngày thì từ ngày thứ 8 trở đi được giảm 30%. Mình áp dụng công thức như trong bảng tính mà thấy sai sai
 

File đính kèm

  • Book1.xlsx
    9.4 KB · Đọc: 10
= Đơn Giá * ( Số Ngày Ở - ( Tầng 2 * 30% * MAX( Số Ngày Ở - 7, 0 ) ) )

Mà cái tiêu đề này là chung chung, không đúng luật diễn đàn. Cần sửa lại "Cách tính tiền thuê phòng có điền kiện chiết giảm"
 
= Đơn Giá * ( Số Ngày Ở - ( Tầng 2 * 30% * MAX( Số Ngày Ở - 7, 0 ) ) )

Mà cái tiêu đề này là chung chung, không đúng luật diễn đàn. Cần sửa lại "Cách tính tiền thuê phòng có điền kiện chiết giảm"
cảm ơn bạn VetMini nhiều nè
 
VetMini, HieuCD, SA_DQ
Các bạn vui tính và cũng hơi "khó tính" nhỉ!
 
dán công thức này vào ô H2 ấn ctrl Shift Enter và kéo xuống nhé

=+IF(F2>=8,(F2-8)*INDEX($B$12:$C$13,MATCH(LEFT(B2,1),$A$12:$A$13,0),MATCH(MID(B2,2,1),RIGHT($B$11:$C$11,1),0))*30%+8*INDEX($B$12:$C$13,MATCH(LEFT(B2,1),$A$12:$A$13,0),MATCH(MID(B2,2,1),RIGHT($B$11:$C$11,1),0)),F2*INDEX($B$12:$C$13,MATCH(LEFT(B2,1),$A$12:$A$13,0),MATCH(MID(B2,2,1),RIGHT($B$11:$C$11,1),0)))
 
dán công thức này vào ô H2 ấn ctrl Shift Enter và kéo xuống nhé
=+IF(F2>=8,(F2-8)*INDEX($B$12:$C$13,MATCH(LEFT(B2,1),$A$12:$A$13,0),MATCH(MID(B2,2,1),RIGHT($B$11:$C$11,1),0))*30%+8*INDEX($B$12:$C$13,MATCH(LEFT(B2,1),$A$12:$A$13,0),MATCH(MID(B2,2,1),RIGHT($B$11:$C$11,1),0)),F2*INDEX($B$12:$C$13,MATCH(LEFT(B2,1),$A$12:$A$13,0),MATCH(MID(B2,2,1),RIGHT($B$11:$C$11,1),0)))
Trong tính toán cần phải "cẩn thận", vì "sai con toán bán con trâu".
Nếu không cẩn thận, tính toán trật, sẽ dễ làm mất lòng tin của cấp trên, và hậu quả thì khó lường.
Phải biết nhìn trên ngó dưới, học hỏi những gì người khác làm đúng.

Thân
 

File đính kèm

  • DThuThuePhong.xlsx
    12.3 KB · Đọc: 9
Trong tính toán cần phải "cẩn thận", vì "sai con toán bán con trâu".
Nếu không cẩn thận, tính toán trật, sẽ dễ làm mất lòng tin của cấp trên, và hậu quả thì khó lường.
Phải biết nhìn trên ngó dưới, học hỏi những gì người khác làm đúng.

Thân
Cảm ơn bạn đã nhắc nhở, nhưng công thức của bạn tính cũng sai rồi, ví dụ như ở dòng 2 với kết quả đó bạn đã bỏ qua điều kiện "từ ngày thứ 8 trở đi được giảm 30%" bạn xem công thức mình sửa lại đã ok chưa nhé
Thân !
=+IF(F2>=8,(F2-7)*INDEX($B$12:$C$13,MATCH(LEFT(B2,1),$A$12:$A$13,0),MATCH(MID(B2,2,1),RIGHT($B$11:$C$11,1),0))*70%+7*INDEX($B$12:$C$13,MATCH(LEFT(B2,1),$A$12:$A$13,0),MATCH(MID(B2,2,1),RIGHT($B$11:$C$11,1),0)),F2*INDEX($B$12:$C$13,MATCH(LEFT(B2,1),$A$12:$A$13,0),MATCH(MID(B2,2,1),RIGHT($B$11:$C$11,1),0)))
 
Cảm ơn bạn đã nhắc nhở, nhưng công thức của bạn tính cũng sai rồi, ví dụ như ở dòng 2 với kết quả đó bạn đã bỏ qua điều kiện "từ ngày thứ 8 trở đi được giảm 30%" bạn xem công thức mình sửa lại đã ok chưa nhé
Thân !
=+IF(F2>=8,(F2-7)*INDEX($B$12:$C$13,MATCH(LEFT(B2,1),$A$12:$A$13,0),MATCH(MID(B2,2,1),RIGHT($B$11:$C$11,1),0))*70%+7*INDEX($B$12:$C$13,MATCH(LEFT(B2,1),$A$12:$A$13,0),MATCH(MID(B2,2,1),RIGHT($B$11:$C$11,1),0)),F2*INDEX($B$12:$C$13,MATCH(LEFT(B2,1),$A$12:$A$13,0),MATCH(MID(B2,2,1),RIGHT($B$11:$C$11,1),0)))
Bạn không chịu xem kỹ yêu cầu tại bài #1:

nếu thuê tầng 2 và ở nhiều hơn 7 ngày thì từ ngày thứ 8 trở đi được giảm 30%.
Dòng 2 là người thuê tầng 1, đâu theo yêu cầu được giảm tiền.
Chỉ có các dòng 3,4,7 là thỏa yêu cầu: ở tầng 2.

Lại nữa, bạn có thể kiểm tra đúng hay sai thì tính tay ra, ví dụ: dòng 3 bằng 28 ngày với đơn giá 120.000đ, thì có:
  1. 7 ngày x 120.000đ = 840.000đ
  2. 21 ngày x (120.000đ x 70%)= 1.764.000đ
  3. Tổng cộng: 840.000 + 1.764.000 = 2.604.000đ
Tương tự cho dòng 4 và 7.
Bạn thấy: bạn lại sai lần thứ 2, phải vậy không? :)

Thân
 
Lần n đi nữa, nhưng nếu bạn vẫn chưa chịu tự tìm hiểu và tự kiểm tra lấy các kết quả tính toán của chính mình thì "mèo vẫn hoàn mèo".
Công thức của bạn:
'=+IF(F2>=8,(F2-7)​
*INDEX($B$12:$C$13,MATCH(LEFT(B2,1),$A$12:$A$13,0),MATCH(MID(B2,2,1),RIGHT($B$11:$C$11,1),0)) *70%+7 *INDEX($B$12:$C$13,MATCH(LEFT(B2,1),$A$12:$A$13,0),MATCH(MID(B2,2,1),RIGHT($B$11:$C$11,1),0)) , F2 *INDEX($B$12:$C$13,MATCH(LEFT(B2,1),$A$12:$A$13,0),MATCH(MID(B2,2,1),RIGHT($B$11:$C$11,1),0)) )​

Bạn sẽ thấy: Có thể đem cụm INDEX() ra làm thừa số chung, chỉ còn lại:
'=INDEX($B$12:$C$13,MATCH(LEFT(B2,1),$A$12:$A$13,0),MATCH(MID(B2,2,1),RIGHT($B$11:$C$11,1),0)) *IF( F2>=8, (F2-7)*70%+7 , F2 )​

Mà cụm INDEX() này chẳng qua là muốn lấy giá trị "Đơn giá" thuê các tầng. Nếu đã như thế thì nó đã có sẵn cột đơn giá rồi, mần chi kiếm lần nữa cho mất công vậy? Ngoài ra, tuy bạn đã lấy giá các tầng, nhưng điều kiện trong IF() vẫn chưa đủ: chỉ so sánh Ngày thuê >7 thôi, không có đồng thời điều kiện: nó phải ở tầng 2!? nên sai.

Vậy, gói gọn và bổ sung 1 xíu công thức của bạn lại, thì thành ra:
K2= I2 * IF( AND( F2>=8, MID(B2,2,1)="2"), (F2-7)*70%+7 , F2 )​

Quan trọng không phải là tạo được công thức mảng dày đặc, mà thứ nhất là "cẩn thận", thứ hai then chốt là phải xem trọng thuật toán của nó. Nhờ vậy bạn mới có thể tiến bộ hơn về sau.

Thân
 

File đính kèm

  • DThuThuePhong (1).xlsx
    14.4 KB · Đọc: 10
bạn nói đúng, mình đọc không kỹ nên thiếu điều kiện tầng 2
 
Web KT
Back
Top Bottom