Không sử dụng MATCH trong Microsoft Excel: Thay vào đó hãy sử dụng XMATCH

Tác giả Starlink, T.Năm 20, 2025, 11:45:14 CHIỀU

« Chủ đề trước - Chủ đề tiếp »

0 Thành viên và 1 Khách đang xem chủ đề.

Loại bỏ cái cũ và thay thế bằng cái mới!

    Hàm XMATCH được giới thiệu trong Microsoft Excel vào năm 2021 như một bản nâng cấp từ hàm MATCH.
    Các đối số mặc định trong cú pháp XMATCH trực quan hơn so với các đối số trong cú pháp MATCH, ưu tiên sự khớp chính xác hơn là sự khớp gần đúng.
    Ngoài việc cho phép bạn chỉ định cách sử dụng ký tự đại diện, XMATCH còn cho phép bạn tìm kiếm từ trên xuống dưới và từ dưới lên trên, mang lại quy trình tra cứu linh hoạt và rõ ràng hơn nhiều.

Có nhiều cách để trích xuất giá trị từ dữ liệu trong Microsoft Excel và hai ví dụ như vậy là hàm MATCH và XMATCH. Tuy nhiên, kể từ khi Microsoft giới thiệu XMATCH vào Excel vào năm 2021, tôi đã bỏ hẳn MATCH và trong hướng dẫn này, tôi sẽ giải thích lý do tại sao bạn cũng nên làm như vậy.


Vì hàm XMATCH là bản nâng cấp hiện đại từ hàm MATCH nên hàm này chỉ khả dụng với những người sử dụng Excel cho Microsoft 365, Excel cho web, ứng dụng Excel dành cho thiết bị di động và máy tính bảng, cũng như các phiên bản Excel duy nhất được phát hành vào năm 2021 trở về sau.

1. Hàm MATCH trong Excel

Hàm MATCH của Microsoft Excel cho bạn biết vị trí của một mục trong một phạm vi. Cú pháp là:

Mã nguồn [Chọn]
=MATCH(a,b,c)
Trong đó:

    a (bắt buộc) là giá trị cần tra cứu,
    b (bắt buộc) là phạm vi các ô chứa mảng tìm kiếm và
    c (tùy chọn) là kiểu khớp (1 hoặc bỏ qua = giá trị lớn nhất nhỏ hơn hoặc bằng đối số b khi mảng theo thứ tự tăng dần; 0 = khớp chính xác; -1 = giá trị nhỏ nhất lớn hơn hoặc bằng đối số b khi mảng theo thứ tự tăng dần).

Hàm MATCH tìm kiếm giá trị ( a ) từ trên xuống dưới trong mảng ( b )—không thể tìm kiếm từ dưới lên trên.

Trong ví dụ này, hãy nhập:

Mã nguồn [Chọn]
=MATCH(D1,A1:A4,0)
vào ô D2 tìm kiếm từ "Pears" trong các ô từ A1 đến A4 và trả về vị trí của từ đó trong phạm vi này.


MATCH thường được sử dụng với INDEX để tra cứu giá trị trong một mảng, trong đó MATCH xác định số hàng và INDEX trả về giá trị.

Trong ví dụ thứ hai, hãy nhập:

Mã nguồn [Chọn]
=INDEX($A$2:$A$24, MATCH($D2,$B$2:$B$24,0) )
vào ô E2 trả về ngày từ ô A2 đến A24 (INDEX), trong đó số hàng được xác định bởi sự khớp chính xác đầu tiên (được chỉ định bởi "0" trong đối số c) giữa giá trị trong ô D2 và ID sản phẩm trong các ô B2 đến B24 (MATCH).


Ký hiệu đô la ($) được đặt trước chữ cái trong tham chiếu ô sẽ khóa cột (được gọi là tham chiếu hỗn hợp ) để công thức vẫn hoạt động chính xác khi sao chép qua một hàng. Tham chiếu có ký hiệu đô la được đặt trước cột và hàng là tham chiếu tuyệt đối, nghĩa là chúng vẫn cố định, bất kể công thức được sao chép xuống một cột hay qua một hàng.

2. Hàm XMATCH trong Excel

Hàm XMATCH của Microsoft Excel cũng cho bạn biết vị trí của một mục trong một phạm vi, nhưng các giá trị mặc định cho các đối số bị bỏ qua thì khác nhau, bạn có thể tìm kiếm từ dưới lên trên và bạn có thể bao gồm các ký tự đại diện. Cú pháp là:

Mã nguồn [Chọn]
=XMATCH(a,b,c,d)
Trong đó:

    a (bắt buộc) là giá trị cần tra cứu,
    b (bắt buộc) là phạm vi các ô chứa mảng tìm kiếm và
    c (tùy chọn) là chế độ khớp (0 hoặc bỏ qua = khớp chính xác; -1 = khớp chính xác hoặc mục nhỏ nhất tiếp theo; 1 = khớp chính xác hoặc mục lớn nhất tiếp theo; 2 = khớp ký tự đại diện) và
    d (tùy chọn) là chế độ tìm kiếm (1 hoặc bỏ qua = từ trên xuống dưới; -1 = từ dưới lên trên; 2 = tìm kiếm nhị phân trong đó mảng theo thứ tự tăng dần; -2 = tìm kiếm nhị phân trong đó mảng theo thứ tự giảm dần).

Mặc dù đối số c được gọi là "kiểu khớp" trong MATCH và "chế độ khớp" trong XMATCH, về cơ bản chúng có cùng mục đích, nhưng với các giá trị mặc định khác nhau và các đối số hơi khác nhau.

Trong ví dụ này, hãy nhập:

Mã nguồn [Chọn]
=INDEX($A$2:$A$24, XMATCH($D2,$B$2:$B$24) )
vào ô E2 trả về cùng kết quả như ví dụ trên, trong đó tôi sử dụng INDEX và MATCH, mặc dù tôi không cần chỉ định chế độ khớp, vì mặc định là khớp chính xác. Do đó, XMATCH yêu cầu bạn nhập ít đối số hơn MATCH trong các trường hợp tra cứu từ trên xuống dưới đơn giản.


Tuy nhiên, XMATCH thực sự vượt trội hơn so với người tiền nhiệm của nó khi bạn muốn tìm kết quả khớp cuối cùng trong một mảng bằng cách tìm kiếm từ dưới lên trên. Đây là lý do tại sao XMATCH có thêm một đối số tùy chọn ( a đến d ) so với MATCH ( a đến c ).

Ở đây, gõ:

Mã nguồn [Chọn]
=INDEX($A$2:$A$24,X PHÙ HỢP($D2,$B$2:$B$24,,-1) )
vào ô F2 trả về ngày mới nhất từ các ô A2 đến A24, vì đối số d chứa "-1", nghĩa là số hàng được xác định bởi sự khớp chính xác cuối cùng giữa giá trị trong ô D2 và ID sản phẩm trong các ô B2 đến B24. Đối số chế độ khớp (c) bị bỏ qua, vì mặc định là khớp chính xác và đó là những gì chúng ta muốn trả về.


Một lợi ích khác khi sử dụng XMATCH thay vì MATCH là XMATCH cho phép bạn thông báo với Excel rằng bạn đang sử dụng ký tự đại diện trong tìm kiếm.

Tại đây, INDEX và XMATCH được sử dụng để tìm ngày đầu tiên và ngày cuối cùng mà một sản phẩm từ bộ phận làm vườn được bán.


Lưu ý rằng trong ô D2, ký tự đại diện dấu hoa thị (*) được sử dụng để tìm kiếm mã sản phẩm bắt đầu bằng các chữ cái "GD" và chứa bất kỳ số lượng ký tự nào sau đó.

Sau đó, trong ô E2, tôi nhập:

Mã nguồn [Chọn]
=INDEX($A$2:$A$24, XMATCH($D2,$B$2:$B$24,2) )
trong đó "2" trong đối số chế độ khớp ( c ) cho Excel biết rằng tôi đã sử dụng ký tự đại diện trong giá trị tra cứu ( a ) và đối số chế độ tìm kiếm ( d ) đã bị bỏ qua, vì tôi muốn tìm kiếm từ trên xuống dưới để tìm kết quả khớp đầu tiên.

Nếu bạn không chỉ định trong đối số chế độ khớp ( c ) rằng một ký tự đại diện đang được sử dụng, XMATCH sẽ cho rằng bạn đang tìm kiếm các giá trị chứa * và ? theo đúng nghĩa của chúng, thay vì coi các ký tự này là ký tự đại diện.

Trong ô F2, tôi đã nhập:

Mã nguồn [Chọn]
=INDEX($A$2:$A$24, XMATCH($D2,$B$2:$B$24,2,-1) )
trong đó, cũng như thêm chỉ báo ký tự đại diện cho đối số chế độ khớp ( c ), tôi cũng đã nhập "-1" cho chế độ tìm kiếm ( d ) để yêu cầu Excel tìm kiếm từ dưới lên trên.

Để đạt được kết quả tương tự khi sử dụng hàm MATCH, loại khớp phải được chỉ định là khớp chính xác ("0"). Tuy nhiên, vì đây là chế độ khớp mặc định cho hàm XMATCH và vì có chế độ tìm kiếm chuyên dụng cho tra cứu ký tự đại diện nên đây là quy trình trực quan và rõ ràng hơn nhiều.

Một cách khác để tra cứu giá trị trong bảng là sử dụng hàm XLOOKUP, một bản nâng cấp từ hàm VLOOKUP và HLOOKUP. Giống như XMATCH, XLOOKUP mặc định là khớp chính xác và cho phép bạn tìm kiếm từ trên xuống dưới và từ dưới lên trên. Hơn nữa, XLOOKUP cũng cho phép bạn bao gồm đối số "nếu không tìm thấy", giúp lưu kết quả không hiển thị "N/A" nếu không tìm thấy giá trị tra cứu trong mảng.