Hàm MATCH trong Excel dùng để xác định vị trí của một giá trị cần tìm trong một hàng, cột, hay bảng. Hàm MATCH hỗ trợ tìm kiếm chính xác tuyệt đối và chính xác tương đối, ngoài ra hàm này còn hỗ trợ các ký tự đại diện như: (*, ?).
Thông thường, hàm MATCH sẽ thường được sử dụng chung với hàm INDEX để lấy được giá trị của ô tại vị trí mà hàm MATCH trả về.
Nội dung bài viết
Mục đích
Mục đích của hàm MATCH trong Excel chính là tìm kiếm vị trí của ô mà ô đó chứa giá trị thỏa mãn điều kiện tìm kiếm mà chúng ta cung cấp.
Công thức
=MATCH(lookup_value, lookup_array, [match_type])
Trong đó:
+ lookup_value (bắt buộc) – giá trị cần tìm.
+ lookup_array (bắt buộc) – dãy các ô chứa giá trị cần tìm.
+ match_type (tùy chọn): xem giải thích tại đây nhé.
Lưu ý khi sử dụng hàm MATCH trong Excel
Hàm MATCH trong Excel được dùng để xác định vị trí của một giá trị nào đó trong một dãy ô.
Ví dụ như, theo bảng tính bên trên ta có thể thấy, công thức trong ô F6 được dùng để lấy vị trí của ô chứa giá trị bằng với giá trị của ô E6. Hàm MATCH sẽ trả về 4, bởi vì giá trị tìm kiếm (“Đào”) nằm ở vị trí thứ 4 trong dãy ô C6:C11:
=MATCH(E6,C6:C11,0) // trả về 4
Hàm MATCH có thể thực hiện tìm kiếm giá trị chính xác hoặc gần giống, và cũng hỗ trợ ký tự đại diện (*, ?).
Thông thường, hàm MATCH sẽ được sử dụng chung với hàm INDEX. Trong đó, hàm MATCH sẽ tìm ra vị trí, và hàm INDEX sẽ trả về giá trị tại vị trí đó. Bạn có thể tìm hiểu kỹ hơn về các sử dụng 2 hàm đó chung với nhau tại đây.
Hàm MATCH không phân biệt chữ HOA và chữ thường, do đó, “TÊN” hay “tÊn” đều như nhau.
Nếu không có kết quả nào được tìm thấy, hàm MATCH sẽ trả về lỗi #N/A.
Các loại so khớp (match type) của hàm MATCH
Nhìn lại công thức của hàm MATCH bên trên, chúng ta có thể thấy đối số match_type là tùy chọn, có nghĩa là có cũng được, không có cũng không sao. Nếu chúng ta không cung cấp giá trị cho đối số này thì mặc định Excel sẽ lấy giá trị 1.
Các giá trị của đối số match_type mà chúng ta có thể sử dụng như sau:
match_type | Giải thích |
---|---|
1 | Tìm kiếm giá trị lớn nhất mà nhỏ hơn hoặc bằng giá trị được chỉ định. Lưu ý: các giá trị chứa trong dãy các ô trong phạm vi tìm kiếm phải được sắp xếp theo thứ tự tăng dần |
0 | Trả về giá trị đầu tiên được tìm thấy bằng với giá trị được chỉ định |
-1 | Tìn giá trị nhỏ nhất mà lớn hơn hoặc bằng giá trị được chỉ định. Lưu ý: các giá trị chứa trong dãy các ô trong phạm vi tìm kiếm phải được sắp xếp theo thứ tự giảm dần |
Chú ý: hãy cẩn thận với giá trị mặc định của đối số match_type, nếu không để ý mà không chỉ định giá trị cho match_type thì Excel sẽ lấy giá trị 1, và đó là tìm kiếm xấp xỉ tương đối chứ không phải tìm kiếm chính xác giá trị cần tìm.
Để hiểu rõ hơn về các loại tìm kiếm được truyền vào match_type, hãy cùng nhau tìm hiểu ví dụ bên dưới nhé.
Ví dụ
Cho bảng tính như hình bên dưới, chúng ta sẽ thực hiện việc tìm kiếm vị trí của ô mà chứa giá trị phù hợp với giá trị trong ô G4 tùy theo tham số match_type truyền vào:
Ví dụ về so sánh tương đối
Công thức hiện tại trong ô G5 trong hình sẽ như bên dưới:
=MATCH(G4,D5:D11,1) // trả về 4
Trong công thức trên, tham số match_type được truyền vào có giá trị là 1 (tương đương với giá trị mặc định khi chúng ta không truyền giá trị cho tham số này), và kết quả trả về là 4.
Tại sao giá trị chúng ta cần tìm là 450 nhưng trong dãy ô phạm vị tìm kiếm (D5:D11) không chứa giá trị 450 mà hàm MATCH lại trả về kết quả là tìm thấy ở vị trí số 4 (ô D8), mà ô D8 lại chứa 400, có gì đó không đúng à, bạn có biết vì sao không?
Câu trả lời rất đơn giản là, cũng chính vì giá trị mà chúng ta truyền vào cho tham số match_type là 1, bạn có nhớ 1 có nghĩa là gì không, chính là tìm kiếm tương đối, giá trị trả về sẽ là vị trí của ô chứa giá trị lớn nhất mà nhỏ hơn hoặc bằng giá trị cần tìm.
Vậy, trong ví dụ chúng ta đang xem, giá trị cần tìm là 450. Tuy nhiên, không có ô nào chứa giá trị là 450, nên Excel sẽ tìm những giá trị mà nhỏ hơn 450 (100, 200, 300, 400) và lấy số lớn nhất trong các giá trị đó (400), và kết quả ô chứa 400 là ô D8 nằm ở vị trí thứ 4.
Vậy khi chúng ta truyền giá trị cho tham số match_type là -1 thì kết quả sẽ như thế nào? Kết quả sẽ là lỗi #N/A. Bạn có biết vì sao không ? Đó là vì các giá trị trong phạm vi tìm kiếm đang sắp xếp theo thứ tự tăng dần. Bạn hãy nhớ lại phần chú ý khi tham số match_type là -1, đó là các giá trị trong dãy các ô phải sắp xếp theo thứ tự giảm dần. Vì vậy, để hết lỗi, hãy sắp xếp lại các giá trị theo thứ tự 700, 600,…100.
Ví dụ về so sánh tuyệt đối (chính xác)
Quay lại với ví dụ ở đầu bài, hãy xem bảng tính bên dưới :
=MATCH(E6,C6:C11,0) // trả về 4
Khi muốn tìm chính xác giá trị, thì chúng ta chỉ cần chỉ định match_type = 0 như công thức trên. Nếu không tìm thấy ô nào chứa chữ “Đào”, thì hàm MATCH trên sẽ trả về lỗi #N/A.
Hi vọng thông qua ví dụ đơn giản trên sẽ giúp các bạn hiểu rõ hơn về cách sử dụng hàm MATCH trong Excel. Nếu có gì không hiểu hay muốn hỏi thì các bạn cứ chat trực tiếp trên website này nhé, mình sẽ giải thích cho các bạn rõ hơn.