Wildcard trong Tìm kiếm Vlookup trong Google Sheets

Ở đây là một phương pháp để sử dụng wildcards trong Vlookup Range trong Google Sheets. Phương pháp này cho thấy cách thức thay thế việc sử dụng wildcards bằng dấu sao (*) trong range.

Wildcards được sử dụng để tìm kiếm phần ứng với một phần trong các công thức trên bảng tính. Tuy nhiên, chúng không hoạt động với tất cả các hàm.

Về việc sử dụng Wildcards trong Vlookup, qua việc thử nghiệm rộng rãi, tôi đã biết rằng chúng ta chỉ có thể sử dụng Wildcards trực tiếp với khóa tìm kiếm.

Khóa tìm kiếm là đối số đầu tiên trong hàm Vlookup của Google Sheets. Đối số thứ hai là range.

Từ cú pháp dưới đây, bạn có thể hiểu vị trí của các “đối số” trong hàm.

Cú pháp: VLOOKUP(search_key, range, index, [is_sorted])

Lưu ý, tôi đã giải thích việc sử dụng wildcards với khóa tìm kiếm trong Vlookup trong Google Sheets trong một bài viết trước đây – Kết quả phần ứng với một phần trong Vlookup trong Google Sheets [Văn bản, Số và Ngày].

Chúng ta không thể sử dụng wildcards trong Vlookup range trong Google Sheets. Để khắc phục điều này, chúng ta nên sử dụng một loại công thức phương pháp tạm thời.

Ví dụ, nếu chúng ta muốn sử dụng khóa tìm kiếm “123 xyz” để tìm kiếm trong range A2:A và trả về giá trị từ B2:B, chúng ta có thể sử dụng Vlookup dưới đây trong F2.

=vlookup(E2,A2:B,2,0)

Không nghi ngờ gì, nó sẽ trả về lỗi #N/A chỉ ra rằng khóa tìm kiếm không có trong range.

Chúng ta không thể sử dụng wildcards trong Vlookup range như dưới đây trong Google Sheets!

=ArrayFormula(vlookup(E2,{"*"&A2:A&"*",B2:B},2,0))

Bạn sẽ nhận được cùng lỗi như trên.

Cách sử dụng Wildcards trong Vlookup Range trong Google Sheets

Bằng cách kết hợp ba hàm, chúng ta có thể giải quyết vấn đề này. Các hàm không liên quan đến Vlookup. Các hàm đó là Regexmatch, Filter và Index.

Hãy sử dụng công thức dưới đây, như một phương pháp thay thế cho wildcards trong Vlookup range trong Google Sheets, trong ô F2, và kéo xuống.

=index( FILTER( $B$2:$B, REGEXMATCH(lower(E2),lower($A$2:$A)) ), 1,1 )

Đó còn được gọi là phần ứng với một phần trong Vlookup range trong Google Sheets. Hãy tìm hiểu công thức chi tiết dưới đây.

Vai trò của hàm LOWER trong công thức này chỉ là để làm cho công thức không phân biệt hoa thường.

Dưới đây, tôi sẽ giải thích chức năng của các hàm Google Sheets khác có trong công thức chi tiết.

Chúng ta phải đọc công thức từ giữa và đó là công thức Regexmatch ở đây.

Regexmatch để phần ứng với một phần trong Vlookup Range trong Google Sheets

Phần công thức 1:

REGEXMATCH(lower(E2),lower($A$2:$A))

Đừng thử công thức này trong bảng tính của bạn vì nó sẽ không trả về kết quả chính xác.

Sử dụng phần trên, điều chúng ta muốn là phần ứng với một phần trong ô E2 (“123 xyz”) trong range A2:A.

Xin lưu ý rằng phần trên của công thức nằm bên trong FILTER trong công thức chính. Bên ngoài FILTER, để kiểm tra phần Regexmatch trên, bạn phải sử dụng nó như là một công thức mảng như dưới đây.

=ArrayFormula(REGEXMATCH(lower(E2),lower($A$2:$A)))

Công thức trả về TRUE trong hàng chứa phần ứng với một phần của khóa tìm kiếm, tức là “123 xyz”, trong Vlookup range (chúng ta có thể bỏ qua TRUE trong các hàng trống).

Filter chỉ các giá trị Boolean TRUE

Đây là phần quan trọng của việc sử dụng wildcards trong Vlookup search range trong Google Sheets.

Hãy lọc B2:B, cột kết quả Vlookup (index), nơi mà Regexmatch trả về các giá trị Boolean TRUE. Công thức dưới đây thực hiện điều đó.

Phần công thức 1 và 2:

=filter($B$2:$B,ArrayFormula(REGEXMATCH(lower(E2),lower($A$2:$A))))

Theo cú pháp FILTER, công thức Regexmatch trên là ‘điều kiện’ ở đây.

Cú pháp: FILTER(range, condition1)

Lưu ý: Nếu bạn muốn lọc các giá trị FALSE, bạn nên chỉ định điều đó trong điều kiện. Đối với TRUE, điều đó không cần thiết.

Chúng ta có thể loại bỏ ArrayFormula vì Regexmatch nằm trong Filter. Vì vậy đây là phiên bản rút gọn của phần công thức 1 và 2 trên.

=filter($B$2:$B,REGEXMATCH(lower(E2),lower($A$2:$A)))

Vậy vai trò của Index trong công thức cuối cùng là gì?

Đôi khi, Filter trên có thể trả về hai hoặc nhiều giá trị trong trường hợp có nhiều sự khớp của cùng một khóa tìm kiếm.

Chúng ta muốn chỉ lấy giá trị đầu tiên theo tiêu chuẩn của Vlookup.

Index làm phần đó tuyệt vời.

Đó là tất cả về việc sử dụng Wildcards trong Phạm vi Tìm kiếm của Vlookup trong Google Sheets.

Cảm ơn vì đã đọc. Thành công!

Related posts