MYVLOOKUP – HÀM TÌM KIẾM NÂNG CAO

MYVLOOKUP – HÀM TÌM KIẾM NÂNG CAO

Ở bài viết trước chúng ta đã đi tìm hiểu về cách sử dụng cũng như ví dụ về hàm Vlookup trong excel, hàm Vlookup vẫn còn nhiều hạn chế trong việc triển khai các kết quả nâng cao hơn.

Do vậy ở bài viết này TTV sẽ giới thiệu đến với các bạn một hàm tự định nghĩa bằng cách sử dụng code VBA để bổ sung điểm hạn chế của hàm Vlookup và tên của nó là Hàm  MyVlookup – Tìm kiếm nâng cao.

Mình có ví dụ sau:
Như các bạn thấy ở đây, phía bên Bảng Giá Trị Dò có Mã Hàng và số Hóa Đơn. Có rất nhiều mã hàng có nhiều hơn một số hóa đơn.

Nếu các bạn dò theo cách thông thường là dùng hàm Vlookup như ví dụ minh họa bên dưới cho các bạn thấy ở đây thì kết quả sẽ trả về đúng một giá trị mà nó tìm thấy đầu tiên.
Trong khi đó bạn thấy Mã Hàng A01 xuất hiện tới 3 lần với 3 số hóa đơn khác nhau. Nên nếu dò như vậy thì sẽ cho kết quả không chính xác.
Chính vì lý do đó nên TTV sẽ giới thiệu với các bạn một hàm tự định nghĩa sẽ thay thế Vlookup làm điều này.
Bước 1: Bạn nhấn tổ hợp phím Atl + F11 (mở cửa sổ VBA) -> sau đó bạn chọn Insert –> Module 

Bước 2: Sau đó thì copy đoạn code bên dưới và dán vào khung soạn thảo của VBA. bạn nhấn phím F5 hoặc chọn như hình:

Function MYVLOOKUP(lookupval, lookuprange As Range, indexcol As Long)
Dim r As Range
Dim result As String
result = “”
For Each r In lookuprange
If r = lookupval Then
result = result & “, ” & r.Offset(0, indexcol – 1)
End If
Next r
MYVLOOKUP = Right(result, Len(result) – 2)
End Function
Bước 3: Đặt tên cho macros khi được hỏi, các bạn nhớ đặt tên cho chính xác là MYVLOOKUP, viết hoa như vậy luôn, không thì nó không chạy được đâu. Sau đó chọn Create

Bước 4: Khi xuất hiện hộp thoại như hình sau thì nhấn OK.

Bước 5: Bạn tắt cửa sổ VBA và quay trở lại file excel ở ô C5 các bạn nhập công thức như sau:
=MYVLOOKUP(B5;F5:F19;2)

Giải thích:

  • MYVLOOKUP: Công thức tự định nghĩa dựa vào code VBA
  • B5: Giá trị Mã Hàng cần dò
  • F5:F19: Giá trị dùng để dò
  • 2: Chính là cột thứ 2 chứa số Hóa Đơn cần để dò, các bạn cứ đếm từ vị trí F5:F19 qua bao nhiêu cột thì chọn bấy nhiêu nhé.

=> Và đây chính là kết quả tìm được sau khi sử dụng hàm tự tạo nêu trên. Chỉ với một đoạn Code đơn giản của hàm MYVLOOKUP – Hàm tìm kiếm nâng cao bạn đã có thể lấy được toàn bộ danh sách các Số hóa đơn có trong bảng dò.

Hi vọng bài viết sẽ hữu ích cho công việc của các bạn. TTV chúc các bạn thành công!

————————————–

TRUNG TÂM ĐÀO TẠO TIN HỌC TRÍ TUỆ VIỆT

CS1: 451 Điện Biên Phủ, Phường 25 – Quận Bình Thạnh – TP.HCM
CS2: 213 Đường 3/2, Phường 9 – Quận 10 – TP.HCM
CS3: 84T/8 Trần Đình Xu – Quận 1 – TP.HCM
Hotline: 0902.936.936

Rate this post
0902.936.936