Cải thiện chức năng VLOOKUP

Nội dung

Làm thế nào để đóng gói một chiếc dù đúng cách?

Lợi ích. Phiên bản 2, sửa đổi.

Giả sử chúng ta có bảng đơn đặt hàng sau:

Cải thiện chức năng VLOOKUP

Ví dụ, chúng ta cần biết số lượng đơn đặt hàng thứ ba của Ivanov hoặc khi Petrov thực hiện giao dịch thứ hai của mình. Hàm VLOOKUP tích hợp chỉ có thể tìm kiếm lần xuất hiện đầu tiên của họ trong bảng và sẽ không giúp ích cho chúng ta. Những câu hỏi như "Ai là người quản lý đơn đặt hàng số 10256?" cũng sẽ vẫn chưa được trả lời, tk. hàm VLOOKUP tích hợp không thể trả về giá trị từ các cột bên trái tìm kiếm.

Cả hai vấn đề này đều được giải quyết trong một lần xảy ra - chúng ta hãy viết hàm riêng của chúng ta để tìm kiếm không chỉ cho lần đầu tiên, mà trong trường hợp chung, cho lần xuất hiện thứ N. Hơn nữa, nó sẽ có thể tìm kiếm và đưa ra kết quả trong bất kỳ cột nào. Hãy gọi nó, giả sử, VLOOKUP2. 

Mở Visual Basic Editor bằng cách nhấn ALT + F11 hoặc bằng cách chọn từ menu Dịch vụ - Macro - Visual Basic Editor (Công cụ - Macro - Visual Basic Editor), chèn một mô-đun mới (menu Chèn - Mô-đun) và sao chép văn bản của hàm này vào đó:

Hàm VLOOKUP2 (Table As Variant, SearchColumnNum As Long, SearchValue As Variant, _ N As Long, ResultColumnNum As Long) Dim i As Long, iCount As Long Select Case TypeName (Table) Case "Range" For i = 1 To Table.Rows .Count If Table.Cells (i, SearchColumnNum) = SearchValue Then iCount = iCount + 1 End If If iCount = N Then VLOOKUP2 = Table.Cells (i, ResultColumnNum) Exit For End If Next i Case "Variant ()" Đối với i = 1 Tới UBound (Bảng) Nếu Table (i, SearchColumnNum) = SearchValue Thì iCount = iCount + 1 Nếu iCount = N Thì VLOOKUP2 = Table (i, ResultColumnNum) Thoát Cho Kết thúc Nếu Tiếp theo Tôi Kết thúc Chọn Kết thúc Hàm  

Đóng Visual Basic Editor và quay lại Excel.

Bây giờ thông qua Chèn chức năng (Chèn chức năng) trong danh mục Đã xác định người dùng (Đã xác định người dùng) bạn có thể tìm thấy hàm VLOOKUP2 của chúng tôi và sử dụng nó. Cú pháp hàm như sau:

= VLOOKUP2 (bảng; số_ngày_của_cột_đ nơi_chúng tôi tìm kiếm; giá_trị_tìm kiếm; N; giá_trị_của_một_cách_từ_đến_đến)

Giờ đây, những hạn chế của hàm tiêu chuẩn không phải là trở ngại đối với chúng tôi:

Cải thiện chức năng VLOOKUP

PS Đặc biệt cảm ơn The_Prist đã cải thiện chức năng để nó có thể tìm kiếm trong sách đã đóng.

  • Tìm và thay thế dữ liệu từ bảng này sang bảng khác bằng hàm VLOOKUP
  • “Left VLOOKUP” bằng cách sử dụng hàm INDEX và MATCH

 

Bình luận