Mọi ngưòi xem giúp mình bài này sai ở đâu

Liên hệ QC

levanninh

Thành viên hoạt động
Tham gia
23/11/09
Bài viết
100
Được thích
8
Mình có làm mấy bài này,nhưng không hiểu sai ở đâu trong các công thức trên.
 

File đính kèm

Mình có làm mấy bài này,nhưng không hiểu sai ở đâu trong các công thức trên.
1. Sheet8:
- Công thức tính Đơn giá của bạn không sai nhưng dài dòng, thay vì dùng hàm IF ở ngoài và 2 hàm VLOOKUP ở trong thì bạn dùng hàm VLOOKUP ở ngoài và 1 hàm IF ở trong sẽ gọn gàng hơn.
Công thức khi đó sẽ như sau:
Mã:
=VLOOKUP(C5,$C$16:$E$18,IF(MID(B5,2,1)="S",2,3),0)
Như vậy, Thành tiền sẽ là:
Mã:
E5=D5*VLOOKUP(C5,$C$16:$E$18,IF(MID(B5,2,1)="S",2,3),0)
- Công thức tại cột K và cột L đều sai vì 1 lý do: Kết quả hàm RIGHT tại cột J là kiểu Text ("1", "2", "3"), trong khi trị dò tại bảng tra thông tin lại là kiểu số (1, 2, 3) nên hàm không dò được.
Cách sửa:
Mã:
K5=VLOOKUP(J5*1,$F$16:$G$18,2,0)
L5=IF(J5="1",2%,IF(J5="2",5%,7%))
Tuy nhiên bạn cũng có thể bỏ qua cột phụ để tính % chuyên chở theo các công thức sau:
Mã:
=VLOOKUP(RIGHT(B5)*1,$F$16:$G$18,2,0)
hoặc
=INDEX($G$16:$G$18,RIGHT(B5)*1)
2. Sheet15: Để tính Thành tiền, bạn có thể sử dụng công thức sau:
Mã:
E4=D4*VLOOKUP(C4,$C$18:$F$21,RIGHT(B4)+1,0)
 
Em cảm ơn anh đã giải đáp thắc mắc của em.
Nhưng em vẫn còn thắc mắc là trong sheet 15 :
-công thức của em tính đơn giá sao lại bị lỗi ạ.(em thấy mình áp dụng hàm index với match chưa biết sai ở đâu ạ mà nó bị lỗi #NA)
-Trong công thức của anh tính đơn giá là VLOOKUP(C4,$C$18:$F$21,RIGHT(B4)+1,0) thì em thấy các loại gạo 1, 2,3 tương ứng cột 2 3 4 trong bảng tra(tức là số cột nếu sử dụng vlookup sẽ lớn hơn các loại gạo là 1 ,nếu chẳng may mà bảng tra không theo 1 quy luật nào thì mình làm thế nào ạ)
Hihi lâu lắm em không làm bài tập và em cũng chưa biết sử dụng nhiều các hàm lắm nên mọi người có thể nói rõ cụ thể cho em .
Thanks!
 
mình có làm mấy bài này,nhưng không hiểu sai ở đâu trong các công thức trên.
công thức thành tiền của bạn là
=index($d$18:$f$21,match(right(b4,1),$d$17:$f$17,0),match(left(b4,3),$b$18:$b$21,0))
nên thay thành
=index($d$18:$f$21,match(left(b4,3),$b$18:$b$21,0),match(--right(b4,1),$d$17:$f$17,0))*d4
VÀ ĐÂY LÀ CÚ PHÁP HÀM INDEX
PHP:
=INDEX(ARRAY,ROW_NUM,[COLUMN_NUM])
NHƯNG BẠN LÀM NGƯỢC LẠI NÊN SAI
 
Lần chỉnh sửa cuối:
Em cảm ơn anh đã xem và làm giúp em bài .
Hihi nhưng em vẫn chưa hiểu lắm trong công thức =index($d$18:$f$21,match(left(b4,3),$b$18:$b$21,0),match(--right(b4,1),$d$17:$f$17,0))*d4
tại sao lại có --right đằng trước ạ
Không biết em nghĩ thế này đúng không
Tại vì trong ô mã hàng (ví dụ GTD-1) thì khi ta lọc số 1 thì 1 này là kiểu chuỗi chứ không phải kiểu số
Vì vậy em mới thử trong công thức trên của anh là =index($d$18:$f$21,match(left(b4,3),$b$18:$b$21,0),match(right(b4,1)*1,$d$17:$f$17,0))*d4 tức là em nhân thêm với 1 ạ
Còn trong công thức của anh thì anh để -- tức là tương đương với +phải không ạ?
 
Em cảm ơn anh đã xem và làm giúp em bài .
Hihi nhưng em vẫn chưa hiểu lắm trong công thức =index($d$18:$f$21,match(left(b4,3),$b$18:$b$21,0),match(--right(b4,1),$d$17:$f$17,0))*d4
tại sao lại có --right đằng trước ạ
Không biết em nghĩ thế này đúng không
Tại vì trong ô mã hàng (ví dụ GTD-1) thì khi ta lọc số 1 thì 1 này là kiểu chuỗi chứ không phải kiểu số
Vì vậy em mới thử trong công thức trên của anh là =index($d$18:$f$21,match(left(b4,3),$b$18:$b$21,0),match(right(b4,1)*1,$d$17:$f$17,0))*d4 tức là em nhân thêm với 1 ạ
Còn trong công thức của anh thì anh để -- tức là tương đương với +phải không ạ?
Dấu -- tương đương với *1 hay giống như hàm value(), -- không tương đương với cộng (+) đâu!
 
Em cảm ơn anh đã xem và làm giúp em bài .
Hihi nhưng em vẫn chưa hiểu lắm trong công thức =index($d$18:$f$21,match(left(b4,3),$b$18:$b$21,0),match(--right(b4,1),$d$17:$f$17,0))*d4
tại sao lại có --right đằng trước ạ
Không biết em nghĩ thế này đúng không
Tại vì trong ô mã hàng (ví dụ GTD-1) thì khi ta lọc số 1 thì 1 này là kiểu chuỗi chứ không phải kiểu số
Vì vậy em mới thử trong công thức trên của anh là =index($d$18:$f$21,match(left(b4,3),$b$18:$b$21,0),match(right(b4,1)*1,$d$17:$f$17,0))*d4 tức là em nhân thêm với 1 ạ
Còn trong công thức của anh thì anh để -- tức là tương đương với +phải không ạ?
Bài này làm bằng hàm INDEX không phải không được nhưng mà... hơi dở! Tại sao không dùng VLOOKUP cho gọn
PHP:
=D4*VLOOKUP(LEFT(B4,3),$B$18:$F$21,RIGHT(B4)+2,0)
 
Mọi người xem giúp em ở sheet1 trong file này ạ
Em định dùng hàm IF nhưng thấy có tận 10 môn tương ứng với 10 lần hay 9 lần IF
Như thế vừa dài lại hình như không được(em nhớ 1 lần hình như hàm IF chỉ dùng được 7 lần ạ)
 

File đính kèm

Bài này làm bằng hàm INDEX không phải không được nhưng mà... hơi dở! Tại sao không dùng VLOOKUP cho gọn
PHP:
=D4*VLOOKUP(LEFT(B4,3),$B$18:$F$21,RIGHT(B4)+2,0)
Hihi không biết nên xưng hô thế nào
em cứ gọi là anh vậy nhé(tại thấy avatar của anh nhìn có vẻ hơn tuổi em nhiều quá ạ.
Nhưng cho em hỏi trong CT trên của anh thì phần right(b4)+2 thì em thay là right(b4,1)+1 hay right(b4)+1 đều được cả ạ
Anh có thể giải thích cho em hiểu phần này được không ạ
Em cảm ơn anh .
 
Hihi không biết nên xưng hô thế nào
em cứ gọi là anh vậy nhé(tại thấy avatar của anh nhìn có vẻ hơn tuổi em nhiều quá ạ.
Nhưng cho em hỏi trong CT trên của anh thì phần right(b4)+2 thì em thay là right(b4,1)+1 hay right(b4)+1 đều được cả ạ
Anh có thể giải thích cho em hiểu phần này được không ạ
Em cảm ơn anh .
RIGHT(B4,1)+1 hay RIGHT(B4) + 1 cũng đều sai tuốt
Để ý sẽ thấy trong bảng tra, số 1 nằm ở cột thứ 3, số 2 nằm ở cột thứ 4 và số 3 nằm ở cột thứ 5 (lệch 2 đơn vị)
Vậy khi dùng hàm RIGHT xong, ra được bao nhiêu phải cộng thêm 2 nữa thì nó mới vừa đúng ngay cột cần tra
 
Mọi người xem giúp em ở sheet1 trong file này ạ
Em định dùng hàm IF nhưng thấy có tận 10 môn tương ứng với 10 lần hay 9 lần IF
Như thế vừa dài lại hình như không được(em nhớ 1 lần hình như hàm IF chỉ dùng được 7 lần ạ)
Thử công thức này cho ô N5:
=AVERAGE(INDEX(D5:M5;;MATCH(C5;$D$4:$M$4;0));D5:M5)
 
RIGHT(B4,1)+1 hay RIGHT(B4) + 1 cũng đều sai tuốt
Để ý sẽ thấy trong bảng tra, số 1 nằm ở cột thứ 3, số 2 nằm ở cột thứ 4 và số 3 nằm ở cột thứ 5 (lệch 2 đơn vị)
Vậy khi dùng hàm RIGHT xong, ra được bao nhiêu phải cộng thêm 2 nữa thì nó mới vừa đúng ngay cột cần tra
Em đã thử 1 số cách mà mấy anh đã giúp
anh xem lại nhé
Em thấy kết quả đều đúng ạ
Anh xem file đính kèm ạ
Trong đó sheet 15 em để là đơn giá 1 2 3 4 tương ứng với mỗi cách thử khác nhau (trong đó có cả phần right(b4,1)+1 ;right(b4)+1 ;right(b4)+2
 

File đính kèm

Em đã thử 1 số cách mà mấy anh đã giúp
anh xem lại nhé
Em thấy kết quả đều đúng ạ
Anh xem file đính kèm ạ
Trong đó sheet 15 em để là đơn giá 1 2 3 4 tương ứng với mỗi cách thử khác nhau (trong đó có cả phần right(b4,1)+1 ;right(b4)+1 ;right(b4)+2
Trời... Công thức của bạn khác của tôi cơ mà
Tôi dùng hàm VLOOKUP với trị dò là LEFT(B4, 3) còn bạn thì dùng C4 để dò ---> Lệch nhau 1 cột, đương nhiêu công thức của tôi + 2 thì của bạn + 1
Chẳng có gì phải bàn cả
 
Vâng ạ
Đúng là em chưa đọc kỹ .
Anh Bate ơi.EM đã thử công thức của anh nhưng bị lỗi ạ
anh xem lại giúp em nhé
Thanks!
 
Mọi người xem tiếp em bài ở sheet2.
 

File đính kèm

Mọi người xem tiếp em bài ở sheet2.
Tiêu đề là nhờ xem giúp mình bài này sai ở đâu, nhưng bạn có làm đâu mà hỏi sai ở đâu? Xem tiếp bài ở sheet2 là xem cột nào?
Nếu muốn nhờ giúp công thức giải một câu nào đó thì bạn nên gởi file và câu hỏi vào đây:

http://www.giaiphapexcel.com/forum/showthread.php?4041-Chuyên-đề-giải-đáp-các-bài-tập&p=337390#post337390

Cần nhớ là tự giải bài tập là cách học hiểu và lâu quên nhất. Chỉ nhờ người khác giải giúp những câu "quá khả năng" chứ không nhờ người khác vì "không có thời gian" - nghĩa đen là "làm biếng".
Gởi bạn 1 công thức ô F5 của sheet2:
=VLOOKUP(E5;$B$17:$E$21;IF(DAY(D5)>20;4;IF(DAY(D5)>10;3;2));0)
dấu ; hay dấu , là tùy máy của bạn.
 
Lần chỉnh sửa cuối:
Em học excel cũng lâu rồi
nhưng học được ít lắm ạ
Em lấy file bài tập này từ 26 bài tập căn bản
em làm được cũng khá nhiều
nhưng cũng có khá nhiều bài em chưa làm được nên em mới đưa lên chứ có phải em lười đâu
Em nghĩ mình sẽ còn phải hỏi nhiều nữa
 
Em học excel cũng lâu rồi
nhưng học được ít lắm ạ
Em lấy file bài tập này từ 26 bài tập căn bản
em làm được cũng khá nhiều
nhưng cũng có khá nhiều bài em chưa làm được nên em mới đưa lên chứ có phải em lười đâu
Em nghĩ mình sẽ còn phải hỏi nhiều nữa
Thôi thì bạn mang 23 bài tập này về nghiên cứu đi:
http://www.giaiphapexcel.com/forum/...-kỹ-thuật-cần-các-bác-giúp!&p=28128#post28128
Giải sẳn toàn bộ rồi đấy
 
Trước hết em cảm ơn anh đã quan tâm và chia sẻ file 23 bài tập kia
nhưng em đang làm dở nốt mấy phần đang dở
Em đã tải file của anh rồi,rồi em sẽ xem file của anh sau
Chúc anh 1 tuần mới vui vẻ và may mắn
Thanks.
 
Web KT

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

Back
Top Bottom