Hàm MATCH là hàm tìm kiếm giá trị và đưa về vị trí của giá trị đó trong một dãy các ô. Hàm MATCH được ứng dụng kết hợp với những hàm tìm kiếm, khác như HLOOKUP, VLOOKUP, INDEX để trả về giá trị theo yêu cầu. Vậy cách sử dụng hàm MATCH như thế nào? Mời bạn theo dõi nội dung trong bài viết này.
Cú pháp hàm MATCH trong Excel
Hàm MATCH trong Excel dùng để tìm kiếm một giá trị cụ thể và đưa ra vị trí tương đối của giá trị đó trong một dãy các ô.
Cú pháp: =MATCH (lookup_value, lookup_array, [match_type])
Trong đó:
– Lookup_value (giá trị bắt buộc): là giá trị bạn muốn tìm. Giá trị này có thể là số, chữ, giá trị logic hoặc ô tham chiếu.
– Lookup_array (giá trị bắt buộc): là dãy các ô cần tìm kiếm.
– Match_type (giá trị tuỳ chọn): xác định loại tìm kiếm. Hàm MATCH nhận các giá trị là 1, 0, -1.
- Khi match_type bằng 0, giá trị trả về là chính xác.
- Khi match_type bằng 1, hàm MATCH giả định rằng dải ô được sắp xếp theo thứ tự tăng dần và trả về giá trị lớn nhất nhỏ hơn hoặc bằng lookup_value.
- Khi match_type bằng -1, hàm MATCH giả định rằng dải ô được sắp xếp theo thứ tự giảm dần và trả về giá trị nhỏ nhất lớn hơn hoặc bằng lookup_value.
=MATCH(<giá trị cần tìm vị trí>, <vùng chứa giá trị này>, [ 1 trong 3 số : 1 hoặc 0 hoặc -1])
Lưu ý
– Hàm MATCH trả về vị trí tương đối của giá trị cần tìm, không trả về giá trị đó.
– Hàm MATCH không phân biệt chữ hoa, chữ thường khi làm việc với dữ liệu chữ.
– Nếu vùng tìm kiếm có một vài giá trị trùng nhau thì hàm MATCH sẽ trả về giá trị đầu tiên mà nó gặp.
– Nếu giá trị cần tìm không có trong vùng tìm kiếm, lỗi #N/A sẽ được trả về.
Ví dụ cách dùng hàm MATCH trong Excel
Dùng hàm MATCH để tìm vị trí tương đối của sản phẩm trong bảng dữ liệu sau:
Hướng dẫn:
Áp dụng công thức: =MATCH (lookup_value, lookup_array, [match_type])
– Xác định giá trị tìm kiếm là vị trí tương đối của mã sản phẩm SKG07 trong mảng.
– Xác định mảng giá trị tìm kiếm là mảng chứa mã sản phẩm SKG07 là từ A2:A15
– Chọn kiểu tìm kiếm là tương đối: 0.
– Công thức cho ô F2 tìm vị trí tương đối của SKG07 là: =MATCH(F1, A2:A15, 0)
– Kết quả trả về vị trí tương đối của mã SKG07 là vị trí số 7 trong mảng tìm kiếm.
Làm thế nào để dùng hàm MATCH trong Excel
Vậy thì hàm MATCH chỉ có vậy thôi sao? Chưa hết đâu. Hàm MATCH sẽ được ứng dụng khi bạn tìm kiếm giá trị, vị trí tương đối trong trường hợp tìm với kí tự đầu tiên, tìm với danh sách cần phân biệt chữ in hóa với chữ thường. Trước khi đến với ví dụ trong từng trường hợp, bạn cần nắm những thông tin sau:
– Dấu hỏi chấm (?) – đại diện cho 1 kí tự bất kì.
– Dấu sao (*) – đại diện cho bất kì số lượng kí tự nào. (Chỉ sử dụng khi tham số thứ 3 của hàm Match có giá trị bằng 0).
Hàm MATCH với các ký tự đại diện
Tìm vị trí tương đối của Tên hàng bắt đầu bằng “Dâu”
Hướng dẫn:
– Cú pháp =MATCH (lookup_value, lookup_array, [match_type])
– Với giá trị lookup_value ở ví dụ này, là một chuỗi văn bản nên bạn sử dụng dữ liệu dạng chuỗi: Bắt đầu bằng tên “Dâu” là F1 & “*”
– Xác định lookup_array là mảng từ A2:A15
– Kiểu tìm kiếm là tương đối: 0.
– Kết quả trả về vị trí của tên hàng bắt đầu bằng Dâu là vị trí số 1.
Với những bảng dữ liệu lớn, nhiều hàng hóa, nhiều thông số thì bạn sẽ thấy rõ được lợi ích của hàm MATCH khi tìm kiếm. Và đặc biệt là hàm MATCH còn thuận lợi khi tìm kiếm giá trị bất cứ vùng nào trong bảng, mảng tìm kiếm. Vậy nên nó được áp dụng kết hợp với hàm INDEX để tìm kiếm giá trị thay cho hàm HLOOKUP và VLOOKUP.
Hàm MATCH phân biệt chữ in hoa và chữ thường
Như đã nói trên, hàm MATCH khi tìm kiếm sẽ không phân biệt được chữ hoa và chữ thường. Nhưng để hàm MATCH phân biệt chữ hoa, chữ thường, ta sẽ kết hợp hàm MATCH với hàm EXACT như sau: =MATCH( TRUE, EXACT ( <vùng tìm kiếm >, < giá trị tìm kiếm >), 0)
– Hàm EXACT sẽ giúp chúng ta so sánh giá trị cần tìm kiếm với mỗi giá trị trong vùng tìm kiếm. Nếu ô được so sánh trùng khít về nội dung 100% với ô đem đi so sánh thì hàm EXACT sẽ trả về giá trị TRUE, nếu không hàm EXACT sẽ trả về giá trị FALSE.
– Sau đó hàm MATCH sẽ tìm kiếm giá trị TRUE được trả về từ hàm EXACT này, kết quả là chúng ta có thể sử dụng hàm MATCH có phân biệt được chữ hoa và chữ thường.
So sánh hai cột để tìm kiếm sự khác biệt
Trong công việc so sánh 2 cột giá trị, để biết được giá trị trong cột 1 không có trong cột 2 hoặc ngược lại, người ta sẽ sử dụng kết hợp hàm MATCH kết hợp với hàm ISNA với cú pháp như sau: =IF(ISNA(MATCH(< giá trị đầu tiên trong cột 1 >, < cột 2 >, 0)), “Không có trong cột 1”, “” )
– Hàm MATCH sẽ tìm từng giá trị ở cột 1 trong cột 2, nếu giá trị này được tìm thấy, hàm MATCH sẽ trả về vị trí tương đối của giá trị đó. Nếu không tìm thấy thì sẽ xuất hiện lỗi #N/A.
– Hàm ISNA kiểm tra xem kết quả trả về từ hàm Match có phải là #N/A hay không. Nếu hàm ISNA trả về giá trị đúng, nghĩa là giá trị không được tìm thấy, điều này dẫn đến việc tham số đầu tiên của hàm IF có giá trị TRUE, do vậy kết quả của hàm IF sẽ là “Không có trong cột 1”.
Ví dụ cụ thể dưới đây sẽ giúp bạn hiểu rõ cách kết hợp của này.
Kết hợp sử dụng hàm MATCH với hàm VLOOKUP
– Một vấn đề chúng ta thường gặp khi sử dụng hàm VLOOKUP là nếu thay đổi cấu trúc bảng, xóa hoặc thêm bớt cột thì giá trị chắc chắn sẽ thay đổi. Để tránh vấn đề này thì bạn có một cách giải quyết là kết hợp sử dụng hàm VLOOKUP với hàm MATCH. Ở ví dụ dưới đây bạn sẽ nhìn thấy rõ được điều đó.
– Chúng ta có bảng dữ liệu như sau và sử dụng công thức hàm VLOOKUP để tìm kiếm giá trị.
– Bây giờ, chúng ta thử xóa một cột trong bảng đi, kết quả là xuất hiện lỗi.
– Vậy để khắc phục lỗi này, chúng ta sẽ kết hợp sử dụng hàm MATCH với hàm VLOOKUP.
– Bạn nhập công thức cho ô như sau: =VLOOKUP(G1,$B$2:$D$11,MATCH($F$2,$B$1:$D$1,0),FALSE)
Kết hợp sử dụng hàm MATCH với hàm HLOOKUP
Tương tự như với hàm VLOOKUP, bạn cũng có thể sử dụng hàm Match để phát triển công thức HLOOKUP. Nguyên tắc chung: bạn sử dụng hàm MATCH để lấy vị trí tương đối của cột cần trả lại và giá trị đó chính là tham số row_index_number của hàm HLOOKUP.
Công thức hàm HLOOKUP trong trường hợp này sẽ như sau: =HLOOKUP(B10;A1:D7;MATCH(A11;A1:A7;0);FALSE)
Cách dùng hàm INDEX và kết hợp sử dụng với hàm MATCH
– Cú pháp hàm INDEX: INDEX(array, row_num, [column_num])
Trong đó:
– array (bắt buộc): là phạm vi ô hoặc một hằng số mảng.
- Nếu mảng chỉ chứa một hàng hoặc cột, tham đối row_num hoặc column_num tương ứng là tùy chọn.
- Nếu mảng có nhiều hàng và nhiều hơn một cột và chỉ các row_num hoặc column_num được dùng, chỉ mục sẽ trả về một mảng của toàn bộ hàng hoặc cột trong mảng.
– row_num (bắt buộc, trừ khi column_num có mặt): là hàng trong mảng mà từ đó trả về một giá trị. Nếu row_num được bỏ qua, column_num được yêu cầu.
– column_num (tùy chọn): là chọn cột trong mảng mà từ đó trả về một giá trị. Nếu column_num được bỏ qua, row_num được yêu cầu.
– Ở ví dụ này, chúng ta sẽ sử dụng kết hợp 2 hàm INDEX và MATCH để tìm kiếm doanh thu của cửa hàng. Tại sao vậy? Bởi vì công thức sẽ tìm kiếm các giá trị mà không phân biệt nó thuộc dạng dữ liệu hàng hay cột như ở VLOOKUP và HLOOKUP.
– Cụ thể: Tìm doanh số cửa hàng D trong bảng sau.
Nhập cú pháp cho ô C10 như sau: =INDEX($B$2:$C$7,MATCH(C9,$B$2:$B$7,0),2)
Trong đó:
- $B$2:$C$7: Array/ vùng dữ liệu
- MATCH(C9,$B$2:$B$7,0): Kết quả của hàm này sẽ trả về số thứ tự dòng của cửa hàng D trong Array
- 2: Là cột thứ 2 tính từ cột đầu tiên mà cột đó chứa giá trị tìm kiếm = Doanh số
Xem thêm: Cách sử dụng hàm INDEX và MATCH đúng cách trong Excel
Vậy là qua bài viết này, với những ví dụ minh họa cụ thể bạn đã biết được cách sử dụng hàm MATCH và kết hợp sử dụng hàm MATCH với các hàm khác để thuận tiện trong việc tìm kiếm giá trị. Chia sẻ bài viết hữu ích này cho mọi người dùng đọc nhé. Sẽ giúp ích rất nhiều trong công việc đó.