Chuyên đề giải đáp các bài tập

  • Thread starter roses
  • Ngày gửi
Liên hệ QC
Status
Không mở trả lời sau này.
Bạn có thể nói cụ thể hơn đc hok =.= ngay chỗ ROUNDUP(H4/3,0)+1 là sao, mình ko hiểu
Mình mới học excel, thông cảm :(
Mình xin thay bạn huuthang giải thích:
Vấn đề mấu chốt là xác định tham số "cột" trong hàm vlookup.
Ta xét điều kiện H4 từ 1=>3, quy về số cột là 2.
Nếu H4 là 1 hoặc 2 hoặc 3 => H4/3 bao giờ cũng <1 => làm tròn lên: roundup(H4/3,0) sẽ =1
Tương tự, H4 từ 4=>6, H4/3 bao giờ cũng >1 và <2, làm tròn lên: roundup(H4/3,0) sẽ =2
Tương tự, H4 từ 7=>8, H4/3 bao giờ cũng >2 và <3, làm tròn lên: roundup(H4/3,0) sẽ =3
Cộng thêm độ lệch 1 vào hàm roundup, ta có tham số cột của hàm vlookup.
Ta cũng có thể tìm tham số cột bằng cách dùng hàm vlookup kết hợp với if, hoặc hàm index, match...
 
Làm phiền các you nữa ;)) Tính dùm mình cột cước phí nha, tính xong giảng cho mình luôn càng tốt :D
 

File đính kèm

  • bài 6.xls
    15.5 KB · Đọc: 12
Gửi bạn tapt94 - Bài 6
- Cước phí: E4 =IF(B4-VLOOKUP(VALUE(LEFT(A4,2)),$F$15:$G$17,2,0)>0,D4*110%,D4)
- Thời gian thực hiện: H4 =G4-F4
(lưu ý format cell định dạng number)
- Thưởng: I4 =IF(H4-VLOOKUP(C4,$A$15:$C$20,3,0)>0,0,E4*5%)
(thưởng tính trên cước phí phát sinh?)

Bạn coi lại xem được chưa nhé!
 
Làm phiền các you nữa ;)) Tính dùm mình cột cước phí nha, tính xong giảng cho mình luôn càng tốt :D
* Bước 1- Tìm trọng tải tiêu chuẩn
Cách 1: =VLOOKUP(--LEFT($A4,2),$F$15:$G$17,2,0)
Cách 2: =INDEX($G$15:$G$17,MATCH(--LEFT($A4,2),$F$15:$F$17,0))
Vì Left($A4,2) trả về Text, nên phải quy về dạng số, có các cách sau:
--Left($A4,2)
Left($A4,2)*1
Value(Left($A4,2))
* Bước 2: Xác định tỷ lệ cước phí bằng cách so sánh trọng tải
=IF(VLOOKUP(--LEFT($A4,2),$F$15:$G$17,2,0)>B4,1.1,1)
* Bước 3: Xác định cước phí = Trọng tải * Đơn giá * tỷ lệ cước phí
Mã:
=B4*D4*IF(VLOOKUP(--LEFT($A4,2),$F$15:$G$17,2,0)>B4,1.1,1)
 

File đính kèm

  • bài%206(1).xls
    20.5 KB · Đọc: 8
* Bước 1- Tìm trọng tải tiêu chuẩn
Cách 1: =VLOOKUP(--LEFT($A4,2),$F$15:$G$17,2,0)
Cách 2: =INDEX($G$15:$G$17,MATCH(--LEFT($A4,2),$F$15:$F$17,0))
Vì Left($A4,2) trả về Text, nên phải quy về dạng số, có các cách sau:
--Left($A4,2)
Left($A4,2)*1
Value(Left($A4,2))
* Bước 2: Xác định tỷ lệ cước phí bằng cách so sánh trọng tải
=IF(VLOOKUP(--LEFT($A4,2),$F$15:$G$17,2,0)>B4,1.1,1)
* Bước 3: Xác định cước phí = Trọng tải * Đơn giá * tỷ lệ cước phí
Mã:
=B4*D4*IF(VLOOKUP(--LEFT($A4,2),$F$15:$G$17,2,0)>B4,1.1,1)

Cám ơn bạn nhìu, nhưng mà hình như bạn làm sai rùi =.= Bạn Matchia phía trên làm mới đúng và cũng khá là dễ hiểu =.=
Mình hỏi bạn thêm 1 câu nữa, text là gì, tại sao nó lại trả về dạng text =.=
 
Lần chỉnh sửa cuối:
Cám ơn bạn nhìu, nhưng mà hình như bạn làm sai rùi
Mình đã giải thích không thể chi tiết hơn về cách làm, nếu chưa hiểu thì vào file xem nhé.
Mình hỏi bạn thêm 1 câu nữa, text là gì, tại sao nó lại trả về dạng text =.=
Nếu vậy thì sẽ phải giải thích luôn cho bạn tất cả về thế nào là text, là số, là luận lý, mảng,... tất tần tật những cái rất cơ bản của excel mà bạn có thể tìm thấy và đọc rất dễ dàng mọi nơi...
Chúc bạn thành công
 
Cám ơn bạn nhìu, nhưng mà hình như bạn làm sai rùi =.= Bạn Matchia phía trên làm mới đúng và cũng khá là dễ hiểu =.=
Mình hỏi bạn thêm 1 câu nữa, text là gì, tại sao nó lại trả về dạng text =.=
Sorry nhé, thay vì
Mã:
=B5*D5*IF(VLOOKUP(--LEFT($A5,2),$F$15:$G$17,2,0)[COLOR=red][B]>[/B][/COLOR]B5,1.1,1)
Bạn sửa thành
Mã:
=B5*D5*IF(VLOOKUP(--LEFT($A5,2),$F$15:$G$17,2,0)[COLOR=red][B]<[/B][/COLOR]B5,1.1,1)
 
....Mình hỏi bạn thêm 1 câu nữa, text là gì, tại sao nó lại trả về dạng text =.=
Trong hàm VLOOKUP giá trị lookup_value phải cùng định dạng với các giá trị ở vùng tham chiếu, cụ thể ở ví dụ của bạn do trích trái 2 ký tự (hàm LEFT) để lấy số xe nên giá trị trả về là chuỗi ký tự dạng text trong khi vùng tham chiếu (F15:F17) lại ở dạng số nên phải đồng nhất cùng một kiểu định dạng. Ở bài của anh bebo021999 đã đưa ra rất cụ thể cách quy dạng Text về dạng Number nên bạn có thể tham khảo thêm nhé.
 
Giúp mình BT này nha :D, tính tổng số tiền p`, mình xài hàm hlookup nhưng tính xong báo lỗi số liệu.
 

File đính kèm

  • bài 7.xls
    17.5 KB · Đọc: 14
Công thức tại ô J5:
PHP:
=HLOOKUP(LEFT(B5)*1;$B$17:$F$18;2)*E5
 
Công thức tính số tiền phòng như sau:
=HLOOKUP(--LEFT(B5),$B$17:$F$18,2,0)*E5
 
Tại sao không (B5,1) mà lại (B5)*1 vậy bạn
Bạn hình dung như thế này nhé:
tại ô B5=103 khi mình dùng hàm left(B5,1) ==> Kết quả trả về là "1" là dạng ký tự không phải dạng số.
Nhưng trong vùng tham chiếu $B$17:$F$1 hàng đầu tiên của vùng tham chiếu lại là dạng số 1,2,3,4
== Nên trong công thức
left(B5,1) bạn có thể dùng 1 trong các cách sau để chuyển dữ liệu từ dạng ký tự sang dạng số
=1*left(B5,1)
= --left(B5,1)
= value(left(B5,1) )
Vậy nên công thức của bạn có thể dùng các cách sau:

=HLOOKUP(1*LEFT(B5),$B$17:$F$18,2,0)*E5
=HLOOKUP(--LEFT(B5),$B$17:$F$18,2,0)*E5
=HLOOKUP(Value(LEFT(B5),$B$17:$F$18,2,0))*E5
 
Giúp mình thêm bài này nữa =.= Tính cột tiền trả
 

File đính kèm

  • bài 8'.xls
    18 KB · Đọc: 18
Tại mình thấy nó dài quá nên lười suy nghĩ ^^
 
Tại mình thấy nó dài quá nên lười suy nghĩ ^^
Bài bạn làm cần sửa lại công thức cột đơn giá như sau (Công Thức của bạn bị sai) :
PHP:
=VLOOKUP(LEFT(C3);$A$12:$D$17;IF(MID(C3;2;1)="A";3;4);0)
Công thức tại cột I3 tính tiền trả :
PHP:
=IF(AND(MID(C3;3;1)*1>1;MID(C3;4;1)="T");(MID(C3;3;1)*1*I3+MID(C3;3;1)*1*(F3-1)*I3*50%);IF(AND(MID(C3;3;1)*1>1;MID(C3;4;1)="S");(MID(C3;3;1)*1*I3+MID(C3;3;1)*1*(F3-1)*I3*80%);MID(C3;3;1)*1*F3*I3))
Không hiểu thì xem file đính kèm nhé!
 

File đính kèm

  • bài 8_.rar
    3.2 KB · Đọc: 19
Tại mình thấy nó dài quá nên lười suy nghĩ ^^
Dài cũng phải tập suy nghĩ chứ, lập được công thức phức tạp Bạn không cảm thấy "đã" sao?
Thử cái này xem có dài quá không:
PHP:
=(MID(C3;3;1)*F3*I3)-(((--MID(C3;3;1)>1)*(MID(C3;4;1)="T")*MID(C3;3;1)*(F3-1)*I3*50%)+((--MID(C3;3;1)>1)*(MID(C3;4;1)="S")*MID(C3;3;1)*(F3-1)*I3*20%))
hoặc rút gọn thành:
PHP:
=MID(C3;3;1)*F3*I3-(--MID(C3;3;1)>1)*MID(C3;3;1)*(F3-1)*I3*IF(MID(C3;4;1)="T";50%;20%)
 
Lần chỉnh sửa cuối:
Hình như mình và hoamattroicoi đều chưa làm đúng yêu cầu???
Nếu khách trả tiền trc' ( kí tự of khách là T) và có số băng thuê lớn hơn 1 thì kể từ ngày thứ 2 khách đc giảm 50% giá tiền mỗi băng. Kí tự chính giữa của mã khách chính là số ngày thuê. Nếu khách có số ngày thuê lớn hơn 1 nhưng trã sau ( kí tự thứ 4 trog mã khách là chữ S) thì kể từ ngày thứ 2 khách đc giảm 20% giá tiền mỗi băng
Chắc phải như thế này mới đúng yêu cầu:
PHP:
=MID(C3;3;1)*F3*I3-(MID(C3;3;1)*(F3-1)*I3*IF(MID(C3;4;1)="T";(--MID(C3;3;1)>1)*0,5;(F3>1)*0,2))
 
Status
Không mở trả lời sau này.
Web KT

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

Back
Top Bottom