Tra dữ liệu theo từng khoảng

Liên hệ QC

kevin10789

Thành viên mới
Tham gia
6/4/10
Bài viết
9
Được thích
1
Như bảng dữ liệu đính kèm, mình muốn khi nhập vào Sản lượng & NL1 sẽ tra ra Tỷ lệ NL2. VD nhập vào:
Sản lượng: 7.000
NL1: 4.5
=> Tỷ lệ NL2: 5
Nếu được thì lập công thức excel dùm mình chứ VBA thì mình đang mù -\\/.
Cám ơn mọi người.
 

File đính kèm

Dữ liệu của bạn có nhầm không: mỗi NL2 thường cách nhau 0.5 chỉ có từ 9 nhảy luôn sang 10 mà không có 9.5?
 
Dữ liệu của bạn có nhầm không: mỗi NL2 thường cách nhau 0.5 chỉ có từ 9 nhảy luôn sang 10 mà không có 9.5?

không sao đâu đó chỉ là dữ liệu giả thôi bạn chứ thật tế không cách đều vậy đâu -\\/., suy nghĩ mãi mà không biết lập công thức thế nào **~**
 
Lần chỉnh sửa cuối:
Bạn bấm Ctrl-F3 để đặt Name: name SL={0,5000,10000,20000,30000,40000}, name NL1={1,2,3,4,5,6.5}
Công thức ở D6 là
Mã:
=IF(IF(ISNA(MATCH(D4,SL,0)),MATCH(D4,SL)-1,MATCH(D4,SL,0)-2)<3,INDEX(B14:S14,6*IF(ISNA(MATCH(D4,SL,0)),MATCH(D4,SL)-1,MATCH(D4,SL,0)-2)+MATCH(D5,NL1)),INDEX(B19:S19,6*IF(ISNA(MATCH(D4,SL,0)),MATCH(D4,SL)-1,MATCH(D4,SL,0)-2)+MATCH(D5,NL1)-18))
 
Được rồi cám ơn bạn Hau151978 nhé :good:, bạn giải thích dùm mình cách hoạt động của công thức trên được không mình muốn học :nerd:
 
Được rồi cám ơn bạn Hau151978 nhé :good:, bạn giải thích dùm mình cách hoạt động của công thức trên được không mình muốn học :nerd:
Bạn tạo thêm công thức để lưu những kết quả trung gian:
Ô E5=match(D5,NL1) trả kết quả 1 nếu 1<=D5<2, kết quả 2 nếu 2<=D5<3...
Ô E4=IF(ISNA(MATCH(D4,SL,0)),MATCH(D4,SL)-1,MATCH(D4,SL,0)-2) trả kết quả 0 nếu 0<D4<=5000, là 1 nếu 5000<D4<=10000...
Hai công thức trên khác nhau nhiều do ở E5 là 1<=D5<2 ( D5 có thể bằng giới hạn dưới) nên dùng hàm Match với tham số thứ 3 để trống là phù hợp; còn ở E4 là 0<D4<=5000 (D4 có thể bằng giới hạn trên) nên cần xét 2 trường hợp D4 = 5000 (dùng match với tham số thứ 3 là 0) hoặc 0<D4<5000 (dùng match với tham số thứ 3 để trống).
Công thức kết quả có thể viết thành =IF(E4<3,INDEX(B14:S14,6*E4+E5),INDEX(B19:S19,6*E4+E5-18))
Sau đó thay E4 và E5 từ các công thức trên vào để ra kết quả cuối.
 
Công thức lộn chỗ nào rồi bạn ơi, mình nhập:
SL: 10.001
NL1: 1.9
Tỷ lệ NL2: 13 (đúng ra phải là 6.5)
bị tượng tự với SL nằm trong khoảng 20.000< & <=30.000
 
Công thức lộn chỗ nào rồi bạn ơi, mình nhập:
SL: 10.001
NL1: 1.9
Tỷ lệ NL2: 13 (đúng ra phải là 6.5)
bị tượng tự với SL nằm trong khoảng 20.000< & <=30.000
Máy mình vẫn đúng là 6.5, bạn kiểm tra lại name xem đúng chưa, chú ý SL là 10001 chứ không phải là 10.001
Công thức ở máy mình là
Mã:
=IF(IF(ISNA(MATCH(D4,SL,0)),MATCH(D4,SL)-1,MATCH(D4,SL,0)-2)<3,INDEX(B14:S14,6*IF(ISNA(MATCH(D4,SL,0)),MATCH(D4,SL)-1,MATCH(D4,SL,0)-2)+MATCH(D5,NL1)),INDEX(B19:S19,6*IF(ISNA(MATCH(D4,SL,0)),MATCH(D4,SL)-1,MATCH(D4,SL,0)-2)+MATCH(D5,NL1)-18))
 

File đính kèm

Lần chỉnh sửa cuối:
Nguyên nhân là trong cái mảng SL đúng ra là 30000 mà mình gõ có 3000 +-+-+-+ thứ lỗi thứ lỗi -\\/.
 
Như file đính kèm các bạn cho mình hỏi:
Sheet 1: mình sẽ nhập số tiền tương ứng vào từng khoảng chênh lệch
Sheet 2: khi nhập khoảng dung sai chênh lệch (%) thì nó sẽ tự ra số tiền mình đã nhập ở sheet 1 không.
Các bạn giúp mình với có cách nào dùm hàm để dò tìm ko vì mình ko biết chút nào về VBA hay macro gì hết. Cám ơn các bạn trước.
 

File đính kèm

Web KT

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

Back
Top Bottom