Bài viết: VLOOKUP có phân biệt chữ hoa và thường

Liên hệ QC

kyo

Nguyễn Khắc Duy
Thành viên danh dự
Tham gia
4/6/06
Bài viết
901
Được thích
2,715
VLOOKUP có phân biệt chữ hoa và thường


Nếu bạn để ý, bạn sẽ thấy VLOOKUP không hề phân biệt chữ hoa và thường. Để chứng thực cho điều này, giả sử tôi có dữ liệu như sau:

MGsprbAFL4YH-Yc4TuVWxdQUChFMvvycWZE7_Om9C26-SA1lE1opGw_8BTSKhr9FlebMaR_Go79mZ9fJ2mCfweoO5NxouscVBfPGr98YTRFjvzMiRIhId9wZ827GCSGyjFNk-2-InYUcP4U5t6-ntD2iRl4RAWQ67zgFk-SuF_XevJjD8Y-qN9Cz6Ah30mWUGPi9LAgLxWMl0aF9NZvCJJ8eBf5TrnniwNgl0WI_tCS7ZBzWq6ty6-dlEbStoJd1A4nh9Nq0InQ0RXbzMrXZamfMaT6PDF7oQxT0HM27Rt05NbwbiseD0ZXeVL8iK_WsOCQ-3kjbg7B7BiGuSVgEle0zie9FfRWxyCKWLK7C6QLfKf803jQqlgqB9VmjWwU8zoFexs8LSpGBEkf98UpN2mdk9bp_q6mQIXenKoAvZd0SBS-jwLqyUojMcbEi75ICggQbXGBcYq_4rRzESunJpN3vwcHJKHpNzuIOPqND1ptGfZX1xzjWMb7bPXyCdDvctP761TlRaVFy9z5INm7JDJ0_jG7xea6pKQBYxDQYbbv9PctebSL7Hrv-9iVG05UfxFu5twFvKFqLbw6BefaLxN1RAlEgyWEa-_fGp5mB5NVZKjmQRpz9=w532-h162-no


Bạn có thể thấy, dùng VLOOKUP thông thường khiến cho Excel trả về kết quả là 1 dù rằng cái bạn cần là giá trị số 4 tương ứng với dòng chữ GIẢI PHÁP EXCEL.

Trong nhiều trường hợp, bài toán này là một vấn đề nhức nhối và bạn thì không biết phải giải quyết bằng cách nào.

Cách 1: Sử dụng VLOOKUP và một cột phụ

Dĩ nhiên rồi, vì VLOOKUP không thể phân biệt nên bạn cần một công thức khác có khả năng phân biệt làm nền trước. Đầu tiên, bạn hãy tạo một cột đằng trước cột A, ngay lập tức cột mới phát sinh sẽ trở thành cột A và cột còn lại là cột B. Sau đó bạn gõ công thức: =EXACT(B2,$F$2)

Như bạn thấy, bằng cách sử dụng hàm EXACT để phân biệt trước, bạn sẽ có kết quả tại cột phụ là TRUE hoặc FALSE, và từ đó dùng VLOOKUP để tìm giá trị TRUE.
=VLOOKUP(TRUE,$A$2:$C$5,3,FALSE)

xYAqY9iBu6Dir9Y79t1N12Mq0ID00EQYyyPXemcVryMGc_g1giyc904wUB3uEek1PIlRawp--PIwcq8LA-HJ09wjK8aOtLPtSCDf5qgtYrk5eVwcKAWGNjB-JmzGPxwkH1XbQnhVU5eD5WvgCFhtOOXgUSfZ3THnjJKOpQOkjsu6MsRpljAZis5_M494l6P5Umn1P0pUMtct_UbQJZIDtErontf2YYg1rFOxkx-JTQSSLDYzUNN7w1mHJ7JoWm0OYZDtaUAtRC2-bkPlqmfiy3u-bNOcVzFPM98nqbMVnaADHePDdPVvIsKcFykNkIFVCtZT3QYH6XMWMVIwJGM7nmdnxF43CKRHZKrnJh0dXLiEn9Pqbkqac3GsBTU4YNL13KqDQ0D4D8-vQ9-fMMoQ8oXBTsdOlmmxbb8UsarMRXFsv_y5HlqysXJj27JGusyM4i0mOI5cifq3Xw1E5IBvT21-fw78dRYEqiWaEDsLckTL2Cc069OjVuGyOAYbr3-vusOTOEyyFvI31Kw7TdCqrIRvgcYj5UkDZ83iGwD4j4QOkO-Hk6DvAAhFyRZwSec69CT1afEoWalZ8dBlYo1Jw1kN0vMg51rO9iekAEfAJwC7u6m05rAB=w634-h161-no


Hoặc nếu bạn không muốn dùng cột phụ, bạn có thể kết hợp hàm EXACT với hàm CHOOSE để tạo một bảng dữ liệu ảo. Tuy nhiên công thức này sẽ cần nhấn Ctrl + Shift + Enter.
{=VLOOKUP(TRUE,CHOOSE({1,2},EXACT($B$2:$B$5,$F$2),$C$2:$C$5),2,FALSE)}

N1Ngzehtj30P5R1rwCihCkp_L5Rxc7LLffP2mQQa9JBKHsqlS-s-Ce_lTfijAyxkJI7atiYQ3S5X9_KqmGA3LsrMouDzwtSH5bczRrADkl722OFH4xfUvTaI1sskKMGTlKZQHYqRZ87Kj2q2Od5FA7HO7lowHrnWBlsC0aDleb6zARji4Gqh3dF5oxTZZx5p609NJMLUPkb2km_Z3WWRgluw4461bKISVZx9eMyNTCGzCUWiTWfEiDESqhmyhs0VHb15ZHUppOC64uH80H-otOSpQ_2oCWlS3lcO4Ddg2A1Z3OZFlMCl8Do-4E0mUSNpCGOE9PPw-8lvam_EK6qGb-RthwWR7Dl_R5FTVwjQz0vxbvtSMFyJkd1IKYw_fL_otASA8wELcQhufO3UeHzfmhumQ_o-r4WdLL3VApLPL0ntTHqvJhHIM9_7W6NYeX2QranuaoQiOuVQrUfdnZO6BYvG-oqmRcpSGdF45wNyD2blMkSSXAycpK6C5HfETONWYDkyfDyoXI85CHzCAkWa6QtYJFRmQnSkT-_9gYxFPL4xgYgetE0-vlG4B0m8PXATQv9D6WqTN9Mrz4FgHVeYkKwyP3EYtfAh9QR9Y6IWHCioIRobyq4A=w623-h168-no


Như vậy qua đó bạn có thể thấy, nếu dùng VLOOKUP, hoặc là bạn phải cần một cột phụ, hoặc bạn phải dùng một hàm khác lạ hơn, đó là CHOOSE.

Cách 2: Dùng INDEX + MATCH

INDEX + MATCH là cặp đôi cùng tiến đầy sức mạnh mà bạn có thể sử dụng để thay thế hàm VLOOKUP. Và trong khả năng nhận biết chữ hoa và thường này, bạn cũng có thể sử dụng nó.
{=INDEX(C2:C5,MATCH(TRUE,EXACT(F3,B2:B5),0))}

6sqZIZr0ZVbPpVjLFMKLVaHjUL2OctEHNfvbb7FSWx7PmqyNTT-dyo3MPINsRoMZPFHcD3chFiMLPzs38qYN1fZv34yW3KP63f32e0qV9dFYo-qO9gQ445j1D-qDw-ztQ5ljaIHrCsBtKnxrB04wV3cAeblzQ1O6mG4BmpRV5oQB_x4swHqm9O6VdO4YO9hOmO3RZhBU39i83vft4t5FZmzv9PlUhr7CStIJUiOpiaOdUwgFXgfHDKyVyoGS_16lTEaoaVchIF7B-7buTos4yK99eLxWBb9_c3Y2k6TJ61hsrs31WWaelbsfGc7IJ6JWQr1Ykt7i_sBSGoTS9Q4bvNTYWkwxyDyYqlXdt9A4Rrc02iFwStbvF_GsgI5MkIxKp4t-rLDrCIB_TgpIeLvExJiLdf4bYhLG-Bfn-2ASzl_DOhh-KZLQNmqpWGUGozAohpQdPxS2-l0DpDIm3JtMw9g_ealBoIDnEIHP28dY_7EFddkM5tTc0k4iyCPH9dGUKJp-W9uH3W1Uc56gvxBt0vv3Zn5INFwY9zcE2WIruZ3EW0s7reVvD8nR5K6XX4Tn7sb-vFUdObBv623pOrbsQoyG6P-xUVlVgrDzPzPgouJqDMlmLgOw=w524-h162-no


Như bạn thấy trên hình trên, cũng với hàm EXACT và công thức mảng, bạn đã có thể giải quyết mối bận tâm bấy lâu mà vẫn dùng hàm quen thuộc là INDEX + MATCH. Nhưng nó vẫn cần sử dụng Ctrl + Shift + Enter.

Cách 3: Dùng LOOKUP

LOOKUP là một hàm rất mạnh được ra đời sau VLOOKUP và INDEX + MATCH, tuy nhiên ít được chú ý tới do cách vận dụng của nó có đôi chút phức tạp. Tuy vậy, bạn cứ thử xem, trong trường hợp này, hãy dùng công thức:
=LOOKUP(1,1/EXACT(B2:B5,F4),C2:C5)

ERaxNuvLGVOJVTx9n-q-6Rzevx9MbQCUw6rINPx0hjdMjUm6GcotQiKJAEnDDuAOtxMQGP4L-gFCUkwdeaZMQQkyGQw0wfdM3cl-eLxnfnlLrXS8SHfr-C1hs4v4MGleRgSnBGE63GVbZ6-p1HkuEFnvXDy5zMiHG-kvCLXzAgbga2S4quCwwa3RvV7o1dpZFJugFyqS4qpTa7FAyzfLLY3slLCBZx6-pkNqhDIVykyXRa8zEtzTxmRHmMPO-5L4H95hUjuQ01KeZJ4d53J5aEAwFsFpqAKrbwemOtgiMM-HhaShPNL0BthYVMJCveHhnP3PjcgBUiRWdK75sHGO2hWJ4vWCE7W0zuEtpDADzo8FGd-d-kqwkVsu1b2f_eQh8P7RrC4Oj9iPLZvh4F_e1vivr36J7F-2ZoyMSs3KgO5ud-7nWbstuZX0dKsmzgh_FfIhsee4t7iclGifhn2fZG_s8ogDujr_2rNIRQvb4zwlVmV8TEYptpWLDnSnVKiZ_cZoB7WBokWnGVfuMvQQbmBpwPHaVeUpLNVabse3Yi9h_4d2JAXJsTH9yRBtuQUVRviNoYn4ik0b8YHqfocc5wlGK551koVFzS2tlqRShSO9BLkIMm7S=w520-h169-no


Với công thức trên, bằng cách dùng 1 chia một mảng gồm TRUE và FALSE, bạn sẽ nhận về kết quả tương ứng {1;#DIV/0!;#DIV/0!;#DIV/0!}. Từ đây, hàm LOOKUP dò tìm giá trị 1 sẽ chọn ngay vị trí 1 trong mảng và đối chiếu qua cột số thứ tự để lấy cho bạn.

Và bạn có thể thấy, không cần đến Ctrl + Shift + Enter, cũng không cần đến cột phụ nhưng bạn vẫn hoàn thành điều mà bạn cần.

Chúc bạn thành công!

Một số bài viết có liên quan:
1/ Làm cách nào để ghi chú hiệu quả trong VBA?
2/ Conditional Formatting cho biểu đồ bằng VBA
3/ Khi nào nên sử dụng Msgbox, Inputbox và Userform?
4/ 8 thủ thuật trong VBE bạn nên biết
5/ Kích hoạt macro từ nút bấm ngoài bảng tính
6/ Làm thế nào để thay thế các chữ OK, CANCEL,... nhàm chán của Msgbox
7/ Giới thiệu VBA trong Excel
8/ Viết code để nhìn thấy ai là người cập nhật bảng tính của bạn lần gần đây nhất
9/ 4 cách sử dụng Immediate Window trong VBA hiệu quả hơn
10/ 3 gợi ý nhỏ mang lại thành công trong khai báo biến trong VBA
 
Lần chỉnh sửa cuối:
Upvote 0
Web KT
Back
Top Bottom