Lập hàm tra bảng dữ liệu có sẵn

Liên hệ QC

thienhalata

Thành viên mới
Tham gia
30/10/08
Bài viết
10
Được thích
1
Nhờ các huynh đài lập giùm công thức vào ô màu hồng để tra bảng đường kính ống để khi nhập lưu lượng Qtt thì tự động chọn đường kính ốngA1.JPG.
 
Nhờ các huynh đài lập giùm công thức vào ô màu hồng để tra bảng đường kính ống để khi nhập lưu lượng Qtt thì tự động chọn đường kính ốngView attachment 45818.
1/Thử dùng hàm LOOKUP xem sao nhé!
Mã:
F4 =LOOKUP(E4,{5.9,9.4,14.6,24.5,44.74,108,148,198,258,356,540,740,970},{100,125,150,200,250,300,350,400,450,500,600,700,800,900})
2/Hoặc dùng hàm INDEX (công thức mảng nhập xong công thức kết thúc bằng tổ hợp phím Ctrl+Shift+Enter)
Mã:
F4 =INDEX($C$4:$C$17,MATCH(E4,--TRIM(LEFT($B$4:$B$17,FIND("-",$B$4:$B$17)-1)),1))
 

File đính kèm

Lần chỉnh sửa cuối:
À ha, SPAM một cái

PHP:
Option Explicit
Function DuongKinh(LuuLuong As Double) As Integer
 Dim Llg As Double:        Llg = LuuLuong

 DuongKinh = 100 * Switch(Llg < 5.9, 0, Llg <= 9.3, 1, Llg <= 14.5, 1.25, Llg <= 24.4, 1.5, _
   Llg <= 43.9, 2, Llg <= 73.9, 2.5, Llg <= 107.9, 3, Llg <= 147.9, 3.5, Llg <= 197.9, 4, _
   Llg <= 257.9, 4.5, Llg <= 255.9, 5, Llg <= 539.9, 6, Llg <= 739.9, 7, Llg <= 969.9, 8, _
   Llg <= 1280, 9, Llg > 1280, 10)
 
End Function
 
1/Thử dùng hàm LOOKUP xem sao nhé!
Mã:
F4 =LOOKUP(E4,{5.9,9.4,14.6,24.5,44.74,108,148,198,258,356,540,740,970},{100,125,150,200,250,300,350,400,450,500,600,700,800,900})
2/Hoặc dùng hàm INDEX (công thức mảng nhập xong công thức kết thúc bằng tổ hợp phím Ctrl+Shift+Enter)
Mã:
F4 =INDEX($C$4:$C$17,MATCH(E4,--TRIM(LEFT($B$4:$B$17,FIND("-",$B$4:$B$17)-1)),1))
Theo mình bài này bạn dùng index không ổn, còn dùng lookup mình đề nghị thế này
 

File đính kèm

2/Hoặc dùng hàm INDEX (công thức mảng nhập xong công thức kết thúc bằng tổ hợp phím Ctrl+Shift+Enter)
Mã:
F4 =INDEX($C$4:$C$17,MATCH(E4,--TRIM(LEFT($B$4:$B$17,FIND("-",$B$4:$B$17)-1)),1))

Mượn bảng MinhCong,
Không biết là do Excel của tôi hay sao mà số phân cách thập phân (dấu chấm (.) và dấu phẩy (,) ) của 2 bảng không đồng nhất - công thức không chạy, nên xin sửa lại công thức trên là:
PHP:
=INDEX($C$4:$C$17,MATCH(E4,--SUBSTITUTE(LEFT($B$4:$B$17,FIND("-",$B$4:$B$17)-1),",","."),1))

Hoặc:
PHP:
=INDEX($C$4:$C$17,MATCH(E4,--LEFT($B$4:$B$17,FIND("-",$B$4:$B$17)-1),1))

kết thúc bằng tổ hợp phím Ctrl+Shift+Enter

Còn dùng Lookup thì là thế này:
PHP:
=LOOKUP(E4,--SUBSTITUTE(LEFT($B$4:$B$17,FIND("-",$B$4:$B$17)-1),",","."),$C$4:$C$17)
Hoặc:
PHP:
=LOOKUP(E4,--LEFT($B$4:$B$17,FIND("-",$B$4:$B$17)-1),$C$4:$C$17)


Nếu dùng bảng tính của Bác Cogia thì chỉ cần:
PHP:
=LOOKUP(C3,--LEFT($A$3:$A$16,FIND("-",$A$3:$A$16)-1),$B$3:$B$16)
 
Lần chỉnh sửa cuối:
INDEX không ổn chỗ nào vậy Anh, Em thử vẫn đúng kết quả mà?
Trong bài này chủ topic muốn nhập dữ liệu trong khoảng, match tìm vị trí chính xác, nên khi bạn thử dữ liệu gần đúng thì "tèo", bạn thử lại xem nhé
Còn lookup của minhcong thì ok nhưng nếu dữ liệu nhiều thì mình tạo bảng dò ngay trong dữ liệu hay hơn là tạo tay
Đây chỉ là ý riêng của mình
Thân
 
Theo mình thì dung ham Lookup là ok hơn chứ dùng mấy hàm kia thì hơi dài và có thể là khó nhớ. Nhưng mình kết hợp thêm hàm if nữa thì "đẹp" hơn
 
Bảng dò là do mình tạo, tạo thế nào hỗ trợ tốt nhất cho công thức là quan trọng nhất. Không nên tạo bảng cho đẹp rồi phải dùng một công thức phức tạo để xử lý.

Tôi thấy tất cả các công thức của các bạn từ đầu đến giờ đều bị chung một lỗi: Bảng dò giá trị lớn nhất chỉ là 1280, nhưng khi tìm kiếm các giá trị lớn hơn 1280 công thức vẫn cho kết quả là 900.

Nếu là tôi thì tôi làm như thế này cho khỏe (File đính kèm)
 

File đính kèm

Tôi thấy tất cả các công thức của các bạn từ đầu đến giờ đều bị chung một lỗi: Bảng dò giá trị lớn nhất chỉ là 1280, nhưng khi tìm kiếm các giá trị lớn hơn 1280 công thức vẫn cho kết quả là 900.
Cái này có thể là yêu cầu của tác giả cũng không chừng (gần giống như xếp loại theo điểm ấy, cứ từ 8.5 trở lên đều xếp loại GIỎI)
Nếu là tôi thì tôi làm như thế này cho khỏe (File đính kèm)
Hoàn toàn đồng ý với phương pháp bố trí lại dữ liệu này
Như có lần tôi đã nói, bố trí dữ liệu hợp lý chiếm hơn 1 nữa sự thành công của bảng tính ---> Vậy chẳng việc gì ta phải cực thân với 1 bảng tính đẹp nhưng thiếu tính khoa học cả
 
Trong bài này chủ topic muốn nhập dữ liệu trong khoảng, match tìm vị trí chính xác, nên khi bạn thử dữ liệu gần đúng thì "tèo", bạn thử lại xem nhé
Còn lookup của minhcong thì ok nhưng nếu dữ liệu nhiều thì mình tạo bảng dò ngay trong dữ liệu hay hơn là tạo tay
Đây chỉ là ý riêng của mình
Thân
Em dùng hàm Match với thông số cuối cùng là 1 (Tức dò tìm không chính xác) mà Anh. Anh load file của Em ở trên xem kiểm tra nhé.
 
Bảng của bác concogia la chính xác nhất, bởi nhìn vào đó thì mới đúng ý nghĩa của bảng tra vì nó thể hiện giá trị đó nằm trong khoảng. Còn bảng của bác MinhCong thì khi nhìn vào người ta sẽ cho đó là giá trị chính xác chứ không phải nằm trong khoảng nữa, nhưng công thức để tra cho ra kết quả thì đúng ý đồ của tại hạ rồi.
 
Web KT

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

Back
Top Bottom