John có một bảng tra cứu các giá trị số tăng dần trong cột A và giá trị văn bản tương ứng trong cột B. Khi anh sử dụng hàm VLOOKUP, nó sẽ trả về giá trị văn bản cho giá trị số bằng hoặc nhỏ hơn giá trị tra cứu được chỉ định. John thực sự muốn giá trị đầu tiên bằng hoặc lớn hơn giá trị tra cứu.

Không có cách nào để thay đổi cách hàm VLOOKUP hoạt động; nó sẽ luôn khớp với giá trị bằng hoặc nhỏ hơn giá trị tra cứu. Tuy nhiên, một tùy chọn là sửa đổi công thức được sử dụng để tra cứu thực tế. Hãy xem xét công thức sau, giả định rằng giá trị bạn muốn sử dụng để tra cứu của mình nằm trong ô D1:

=IF(VLOOKUP(D1,$A$1:$A$10,1)=D1,VLOOKUP(D1,$A$1:$B$10,2), INDEX($B$1:$B$10,1+MATCH(D1,$A$1:$A$10)))

Nếu giá trị trong D1 khớp chính xác với giá trị trong cột A, thì công thức VLOOKUP thông thường sẽ được sử dụng. Nếu không, thì hàm VLOOKUP bị loại bỏ để thay thế cho hàm INDEX kết hợp với hàm MATCH.

Nếu bạn có thể sắp xếp bảng dữ liệu của mình theo thứ tự giảm dần, bạn có thể sử dụng công thức ngắn hơn:

=INDEX($A$1:$B$10,MATCH(D1,$A$1:$A$10,-1),2)

Hàm MATCH sử dụng giá trị D1 để tìm giá trị nhỏ nhất lớn hơn hoặc bằng giá trị đó. (Đây là những gì tham số -1 chỉ định.) Hàm MATCH trả về số hàng của hàng thích hợp và sau đó hàm này được INDEX sử dụng để thực sự tìm nạp giá trị.

Một cách tiếp cận thú vị khác cho vấn đề là sử dụng nghịch đảo của các giá trị tra cứu làm cột điều khiển sẽ được sử dụng để thực sự tra cứu thông tin từ bảng dữ liệu. Ví dụ: giả sử rằng bảng dữ liệu của bạn ở A1: B10, với các giá trị số thực mà bạn sử dụng để tra cứu trong cột A. Bạn cần chèn một cột vào bên trái bảng dữ liệu của mình. Vào ô đầu tiên của cột mới này (bây giờ là cột A), hãy chèn công thức sau:

=1/B1

Điều này cung cấp nghịch đảo của giá trị trong B1 và ​​bạn có thể sao chép nó xuống các ô trong cột A. Bảng dữ liệu của bạn hiện có ba cột, A1: C10.

Tiếp theo, sắp xếp bảng dữ liệu của bạn dựa trên cột mới này, theo thứ tự tăng dần.

Bây giờ bạn thực hiện một sửa đổi nhỏ đối với công thức tra cứu của mình để công thức tra cứu ngược lại với những gì bạn muốn. Giả sử rằng giá trị bạn muốn sử dụng để tra cứu nằm trong ô E1, bạn sẽ sử dụng công thức sau:

=VLOOKUP(1/E1,$A$1:$C$10,3)

Những gì bạn thực sự kết thúc với là giá trị mong muốn, từ cột C, được liên kết với giá trị trong cột B bằng hoặc nhỏ hơn giá trị trong E1.

ExcelTips là nguồn của bạn để đào tạo Microsoft Excel hiệu quả về chi phí.

Mẹo này (3090) áp dụng cho Microsoft Excel 97, 2000, 2002 và 2003.