Hàm MATCH trong Excel với các ví dụ về công thức

  • Chia Sẻ Cái Này
Michael Brown

Hướng dẫn này giải thích cách sử dụng hàm MATCH trong Excel với các ví dụ về công thức. Nó cũng chỉ ra cách cải thiện các công thức tra cứu của bạn bằng cách tạo công thức động với VLOOKUP và MATCH.

Trong Microsoft Excel, có nhiều hàm tra cứu/tham chiếu khác nhau có thể giúp bạn tìm một giá trị nhất định trong một phạm vi ô và MATCH là một trong số đó. Về cơ bản, nó xác định vị trí tương đối của một mục trong một dải ô. Tuy nhiên, hàm MATCH có thể làm được nhiều hơn bản chất thuần túy của nó.

    Hàm MATCH trong Excel - cú pháp và cách sử dụng

    Hàm MATCH trong Excel tìm kiếm một giá trị được chỉ định trong một dải ô và trả về vị trí tương đối của giá trị đó.

    Cú pháp của hàm MATCH như sau:

    MATCH(giá trị_tìm_kiếm,_mảng_tìm_kiếm, [loại_khớp])

    Giá_trị_tìm_kiếm (bắt buộc) - giá trị bạn muốn tìm. Nó có thể là giá trị số, văn bản hoặc logic cũng như tham chiếu ô.

    Lookup_array (bắt buộc) - phạm vi ô cần tìm kiếm.

    Match_type (tùy chọn) - xác định loại đối sánh. Nó có thể là một trong các giá trị sau: 1, 0, -1. Đối số match_type được đặt thành 0 chỉ trả về kết quả khớp chính xác, trong khi hai loại còn lại cho phép khớp gần đúng.

    • 1 hoặc bị bỏ qua (mặc định) - tìm giá trị lớn nhất trong mảng tra cứu nhỏ hơn hoặc bằng giá trị tra cứu. Yêu cầu sắp xếp mảng tra cứu theo thứ tự tăng dần,sổ làm việc để tải xuống

      Ví dụ về công thức Excel MATCH (tệp .xlsx)

      từ nhỏ nhất đến lớn nhất hoặc từ A đến Z.
    • 0 - tìm giá trị đầu tiên trong mảng chính xác bằng với giá trị tra cứu. Không cần sắp xếp.
    • -1 - tìm giá trị nhỏ nhất trong mảng lớn hơn hoặc bằng giá trị tra cứu. Mảng tra cứu phải được sắp xếp theo thứ tự giảm dần, từ lớn nhất đến nhỏ nhất hoặc từ Z đến A.

    Để hiểu rõ hơn về hàm MATCH, hãy tạo một công thức đơn giản dựa trên dữ liệu này: tên sinh viên trong cột A và điểm kiểm tra của họ trong cột B, được sắp xếp từ lớn nhất đến nhỏ nhất. Để biết một học sinh cụ thể (giả sử Laura ) đứng ở vị trí nào trong số những học sinh khác, hãy sử dụng công thức đơn giản sau:

    =MATCH("Laura", A2:A8, 0)

    Bạn có thể đặt giá trị tra cứu vào một số tùy chọn. ô (E1 trong ví dụ này) và tham chiếu ô đó trong công thức Excel Match của bạn:

    =MATCH(E1, A2:A8, 0)

    Như bạn thấy trong ảnh chụp màn hình ở trên, tên học viên được nhập theo thứ tự tùy ý và do đó, chúng tôi đặt đối số match_type thành 0 (khớp chính xác), bởi vì chỉ loại đối sánh này không yêu cầu sắp xếp các giá trị trong mảng tra cứu. Về mặt kỹ thuật, công thức Match trả về vị trí tương đối của Laura trong phạm vi. Nhưng vì điểm số được sắp xếp từ lớn nhất đến nhỏ nhất nên điều đó cũng cho chúng ta biết rằng Laura có điểm số cao thứ 5 trong số tất cả học sinh.

    Mẹo. Trong Excel 365 và Excel 2021, bạn có thể sử dụng hàm XMATCH, đây là hàm kế thừa hiện đại và mạnh mẽ hơncủa hàm MATCH.

    4 điều bạn nên biết về hàm MATCH

    Như bạn vừa thấy, việc sử dụng hàm MATCH trong Excel thật dễ dàng. Tuy nhiên, giống như trường hợp của hầu hết các hàm khác, có một số đặc điểm cụ thể mà bạn nên biết:

    1. Hàm MATCH trả về vị trí tương đối của giá trị tra cứu trong mảng chứ không phải bản thân giá trị.
    2. MATCH không phân biệt chữ hoa chữ thường , nghĩa là nó không phân biệt giữa ký tự chữ thường và chữ hoa khi xử lý các giá trị văn bản.
    3. Nếu mảng tra cứu chứa một số lần xuất hiện của giá trị tra cứu, vị trí của giá trị đầu tiên được trả về.
    4. Nếu không tìm thấy giá trị tra cứu trong mảng tra cứu, lỗi #N/A sẽ được trả về.

    Cách sử dụng hàm MATCH trong Excel - ví dụ về công thức

    Bây giờ bạn đã biết cách sử dụng cơ bản của hàm MATCH trong Excel, hãy cùng thảo luận về một số ví dụ về công thức khác ngoài những điều cơ bản.

    Khớp một phần với ký tự đại diện

    Giống như nhiều chức năng khác, MATCH hiểu các ký tự đại diện sau:

    • Dấu chấm hỏi (?) - thay thế bất kỳ ký tự đơn lẻ nào
    • Dấu hoa thị (*) - thay thế bất kỳ s nào dãy ký tự

    Lưu ý. Chỉ có thể sử dụng ký tự đại diện trong công thức So khớp với match_type được đặt thành 0.

    Công thức So khớp có ký tự đại diện hữu ích trong các tình huống khi bạn không muốn so khớp toàn bộ chuỗi văn bản mà chỉ một số ký tự hoặc một số phần của chuỗi.Để minh họa điểm này, hãy xem xét ví dụ sau.

    Giả sử bạn có danh sách người bán lại trong khu vực và số liệu bán hàng của họ trong tháng trước. Bạn muốn tìm vị trí tương đối của một đại lý nào đó trong danh sách (được sắp xếp theo Số lượng bán theo thứ tự giảm dần) nhưng bạn không thể nhớ chính xác tên của anh ta, mặc dù bạn nhớ một vài ký tự đầu tiên.

    Giả sử là đại lý các tên nằm trong phạm vi A2:A11 và bạn đang tìm kiếm tên bắt đầu bằng "ô tô", công thức như sau:

    =MATCH("car*", A2:A11,0)

    Để làm cho công thức Đối sánh của chúng tôi linh hoạt hơn, bạn có thể nhập giá trị tra cứu vào ô nào đó (trong ví dụ này là ô E1) và nối ô đó với ký tự đại diện, như sau:

    =MATCH(E1&"*", A2:A11,0)

    Như minh họa trong ảnh chụp màn hình bên dưới, công thức trả về 2, là vị trí của "Carter":

    Để thay thế chỉ một ký tự trong giá trị tra cứu, hãy sử dụng dấu "?" toán tử ký tự đại diện, như sau:

    =MATCH("ba?er", A2:A11,0)

    Công thức trên sẽ khớp với tên " Baker " và chạy lại vị trí tương đối của nó, là 5.

    Công thức MATCH phân biệt chữ hoa chữ thường

    Như đã đề cập ở phần đầu của hướng dẫn này, hàm MATCH không phân biệt chữ hoa và chữ thường. Để tạo công thức Khớp phân biệt chữ hoa chữ thường, hãy sử dụng MATCH kết hợp với hàm EXACT để so sánh chính xác các ô, bao gồm cả trường hợp ký tự.

    Đây là công thức chung phân biệt chữ hoa chữ thường để khớpdữ liệu:

    MATCH(TRUE, EXACT( mảng tra cứu , giá trị tra cứu ), 0)

    Công thức hoạt động với logic sau:

    • Hàm EXACT so sánh giá trị tra cứu với từng phần tử của mảng tra cứu. Nếu các ô được so sánh hoàn toàn bằng nhau, thì hàm trả về TRUE, ngược lại là FALSE.
    • Và sau đó, hàm MATCH so sánh TRUE (chính là lookup_value ) với mỗi giá trị trong mảng được trả về bởi EXACT và trả về vị trí của kết quả khớp đầu tiên.

    Xin lưu ý rằng đó là công thức mảng yêu cầu nhấn Ctrl + Shift + Enter để hoàn thành chính xác.

    Giả sử bạn giá trị tra cứu nằm trong ô E1 và mảng tra cứu là A2:A9, công thức như sau:

    =MATCH(TRUE, EXACT(A2:A9,E1),0)

    Ảnh chụp màn hình sau đây hiển thị công thức Khớp phân biệt chữ hoa chữ thường trong Excel:

    So sánh 2 cột để tìm sự trùng khớp và khác biệt (ISNA MATCH)

    Kiểm tra hai danh sách để tìm sự trùng khớp và khác biệt là một trong những tác vụ phổ biến nhất trong Excel và có thể được thực hiện theo nhiều cách khác nhau. Công thức ISNA/MATCH là một trong số đó:

    IF(ISNA(MATCH( Giá trị thứ nhất trong Danh sách1 , Danh sách2 , 0)), "Không có trong Danh sách 1", " ")

    Đối với bất kỳ giá trị nào của Danh sách 2 không có trong Danh sách 1, công thức trả về " Không có trong Danh sách 1 ". Và đây là cách thực hiện:

    • Hàm MATCH tìm kiếm một giá trị từ Danh sách 1 trong Danh sách 2. Nếu một giá trị được tìm thấy, nó sẽ trả về vị trí tương đối của nó, lỗi #N/Amặt khác.
    • Hàm ISNA trong Excel chỉ thực hiện một việc - kiểm tra lỗi #N/A (có nghĩa là "không khả dụng"). Nếu một giá trị đã cho là lỗi #N/A, thì hàm trả về TRUE, ngược lại là FALSE. Trong trường hợp của chúng tôi, TRUE có nghĩa là không tìm thấy giá trị từ Danh sách 1 trong Danh sách 2 (nghĩa là lỗi #N/A được trả về bởi MATCH).
    • Bởi vì người dùng của bạn có thể rất khó hiểu khi thấy TRUE đối với các giá trị không xuất hiện trong Danh sách 1, bạn bọc hàm IF quanh ISNA để hiển thị " Không có trong Danh sách 1 " hoặc bất kỳ văn bản nào bạn muốn.

    Ví dụ: , để so sánh các giá trị trong cột B với các giá trị trong cột A, công thức có dạng sau (trong đó B2 là ô trên cùng):

    =IF(ISNA(MATCH(B2,A:A,0)), "Not in List 1", "")

    Như bạn còn nhớ, hàm MATCH trong Excel không phân biệt chữ hoa chữ thường. Để nó phân biệt chữ hoa, chữ thường, hãy nhúng hàm CHÍNH XÁC vào đối số lookup_array và nhớ nhấn Ctrl + Shift + Enter để hoàn thành công thức mảng :

    <0 này> =IF(ISNA(MATCH(TRUE, EXACT(A:A, B2),0)), "Not in List 1", "")

    Ảnh chụp màn hình sau đây hiển thị cả hai công thức đang hoạt động:

    Để tìm hiểu các cách khác để so sánh hai danh sách trong Excel, vui lòng xem hướng dẫn sau: Cách thực hiện để so sánh 2 cột trong Excel.

    VLOOKUP và MATCH trong Excel

    Ví dụ này giả định rằng bạn đã có một số kiến ​​thức cơ bản về hàm VLOOKUP trong Excel. Và nếu bạn làm như vậy, rất có thể là bạn đã gặp phải vô số hạn chế của nó (tổng quan chi tiết về những hạn chế đó có thể làtìm thấy trong Tại sao VLOOKUP trong Excel không hoạt động) và đang tìm kiếm một giải pháp thay thế mạnh mẽ hơn.

    Một trong những nhược điểm khó chịu nhất của VLOOKUP là nó ngừng hoạt động sau khi chèn hoặc xóa một cột trong bảng tra cứu. Điều này xảy ra vì hàm VLOOKUP lấy một giá trị phù hợp dựa trên số cột trả về mà bạn chỉ định (số chỉ mục). Vì số chỉ mục được "mã hóa cứng" trong công thức nên Excel không thể điều chỉnh nó khi (các) cột mới được thêm vào hoặc xóa khỏi bảng.

    Excel Hàm MATCH xử lý vị trí tương đối của giá trị tra cứu, làm cho hàm này hoàn toàn phù hợp với đối số col_index_num của VLOOKUP. Nói cách khác, thay vì chỉ định cột trả về là một số tĩnh, bạn sử dụng hàm MATCH để lấy vị trí hiện tại của cột đó.

    Để dễ hiểu hơn, hãy sử dụng lại bảng điểm bài kiểm tra của học sinh (tương tự như điểm chúng ta đã sử dụng ở phần đầu của hướng dẫn này), nhưng lần này chúng ta sẽ truy xuất điểm thực chứ không phải vị trí tương đối của nó.

    Giả sử giá trị tra cứu nằm trong ô F1, thì mảng bảng là $A$1:$C$2 (bạn nên khóa nó bằng tham chiếu ô tuyệt đối nếu bạn định sao chép công thức sang các ô khác), công thức như sau:

    =VLOOKUP(F1, $A$1:$C$8, 3, FALSE)

    Đối số thứ 3 ( col_index_num ) được đặt thành 3 vì Điểm Toán mà chúng tôi muốn lấy là cột thứ 3 trongbàn. Như bạn có thể thấy trong ảnh chụp màn hình bên dưới, công thức Vlookup thông thường này hoạt động tốt:

    Nhưng chỉ cho đến khi bạn chèn hoặc xóa (các) cột:

    Vậy tại sao #REF! lỗi? Bởi vì col_index_num được đặt thành 3 yêu cầu Excel lấy giá trị từ cột thứ ba, trong khi hiện tại chỉ có 2 cột trong mảng bảng.

    Để ngăn những điều như vậy xảy ra, bạn có thể thực hiện công thức Vlookup của bạn năng động hơn bằng cách bao gồm hàm Match sau:

    MATCH(E2,A1:C1,0)

    Trong đó:

    • E2 là giá trị tra cứu, chính xác bằng nhau vào tên của cột trả về, tức là cột mà bạn muốn lấy giá trị từ đó ( Điểm Toán trong ví dụ này).
    • A1:C1 là mảng tra cứu chứa tiêu đề bảng.

    Và bây giờ, hãy đưa hàm Match này vào đối số col_index_num của công thức Vlookup của bạn, như sau:

    =VLOOKUP(F1,$A$1:$C$8, MATCH(E2,$A$1:$C$1, 0), FALSE)

    Và đảm bảo rằng công thức hoạt động hoàn hảo cho dù bạn thêm hoặc xóa bao nhiêu cột:

    Trong ảnh chụp màn hình ở trên, tôi đã khóa tất cả các tham chiếu ô để công thức hoạt động chính xác ngay cả khi người dùng di chuyển nó đến một nơi khác trong trang tính. Bạn có thể thấy trong ảnh chụp màn hình bên dưới, công thức chỉ hoạt động tốt sau khi xóa một cột; hơn nữa Excel đủ thông minh để điều chỉnh chính xác các tham chiếu tuyệt đối trong trường hợp này:

    Excel HLOOKUP và MATCH

    Theo cách tương tự, bạn có thể sử dụng Excel MATCH chức năng đểcải thiện công thức HLOOKUP của bạn. Nguyên tắc chung về cơ bản giống như trong trường hợp của Vlookup: bạn sử dụng hàm Match để lấy vị trí tương đối của cột trả về và cung cấp số đó cho đối số row_index_num của công thức Hlookup.

    Giả sử giá trị tra cứu nằm trong ô B5, mảng bảng là B1:H3, tên của hàng trả về (giá trị tra cứu cho MATCH) nằm trong ô A6 và tiêu đề hàng là A1:A3, thì công thức hoàn chỉnh như sau:

    =HLOOKUP(B5, B1:H3, MATCH(A6, A1:A3, 0), FALSE)

    Như bạn vừa thấy, sự kết hợp giữa Hlookup/Vlookup & Match chắc chắn là một cải tiến so với các công thức Hlookup và Vlookup thông thường. Tuy nhiên, chức năng MATCH không loại bỏ tất cả các giới hạn của chúng. Cụ thể, công thức Vlookup Match vẫn không thể nhìn sang bên trái của nó và Hlookup Match không thể tìm kiếm ở bất kỳ hàng nào khác ngoài hàng trên cùng.

    Để khắc phục các hạn chế trên (và một số hạn chế khác), hãy cân nhắc sử dụng một kết hợp INDEX MATCH, cung cấp một cách thực sự mạnh mẽ và linh hoạt để tra cứu trong Excel, vượt trội so với Vlookup và Hlookup ở nhiều khía cạnh. Bạn có thể tìm thấy hướng dẫn chi tiết và các ví dụ về công thức trong INDEX & MATCH trong Excel - giải pháp thay thế tốt hơn cho VLOOKUP.

    Đây là cách bạn sử dụng công thức MATCH trong Excel. Hy vọng rằng các ví dụ được thảo luận trong hướng dẫn này sẽ hữu ích trong công việc của bạn. Tôi cảm ơn bạn đã đọc và hy vọng sẽ gặp bạn trên blog của chúng tôi vào tuần tới!

    Thực hành

    Michael Brown là một người đam mê công nghệ chuyên dụng với niềm đam mê đơn giản hóa các quy trình phức tạp bằng các công cụ phần mềm. Với hơn một thập kỷ kinh nghiệm trong ngành công nghệ, anh ấy đã trau dồi kỹ năng của mình trong Microsoft Excel và Outlook, cũng như Google Trang tính và Tài liệu. Blog của Michael dành để chia sẻ kiến ​​thức và chuyên môn của anh ấy với những người khác, cung cấp các mẹo và hướng dẫn dễ thực hiện để cải thiện năng suất và hiệu quả. Cho dù bạn là một chuyên gia dày dạn kinh nghiệm hay người mới bắt đầu, blog của Michael đều cung cấp những hiểu biết có giá trị và lời khuyên thiết thực để tận dụng tối đa những công cụ phần mềm thiết yếu này.