XLOOKUP so với INDEX-MATCH trong Excel (Tất cả các phép so sánh có thể có)

  • Chia Sẻ Cái Này
Hugh West

Hôm nay tôi sẽ thực hiện phân tích so sánh hàm XLOOKUP với INDEX-MATCH trong Excel . Trong các phiên bản trước của Excel , chúng tôi thường sử dụng các hàm HLOOKUP , VLOOKUP INDEX-MATCH để tìm kiếm một giá trị cụ thể trong một phạm vi ô. Tuy nhiên, với sự xuất hiện của Office 365 , Excel đã cung cấp cho chúng ta một hàm mới và năng động được gọi là hàm XLOOKUP để thực hiện một thao tác tương tự phức tạp hơn. Trong bài viết này, tôi sẽ cố gắng so sánh các hàm được sử dụng rộng rãi, XLOOKUP INDEX-MATCH .

Tải xuống sách bài tập thực hành

Tải tệp mẫu này để hiểu rõ hơn.

Hàm XLOOKUP so với INDEX-MATCH.xlsx

Giới thiệu về Hàm XLOOKUP

Hàm XLOOKUP được sử dụng để tìm một giá trị cụ thể trong một phạm vi ô hoặc một mảng. Sau đó, nó trả về kết quả khớp đầu tiên tương ứng. Nó cũng hiển thị kết quả khớp gần nhất hoặc gần đúng khi không có kết quả khớp chính xác.

Cú pháp:

=XLOOKUP(lookup_value,lookup_array,return_array,[if_not_found] ,[match_mode],[search_mode])

Đối số:

  • Lookup_value : Đó là giá trị mà chúng ta tìm kiếm trong một cột cụ thể của phạm vi.
  • Lookup_array : Đây là mảng mà chúng tôi đang tìm kiếm lookup_value . Có thể là cả hàng vàtrận đấu đầu tiên hoặc trận đấu cuối cùng. Để nhận giá trị khớp đầu tiên, hãy đặt đối số search_type thành 1 . Và để nhận được giá trị cuối cùng phù hợp, hãy đặt đối số search_type thành -1 . Nhưng trong INDEX-MATCH bạn không có lựa chọn nào khác. Bạn sẽ chỉ nhận được giá trị khớp đầu tiên.
  • Để biết học sinh đầu tiên đạt 100 , bạn có thể sử dụng công thức XLOOKUP này trong Ô G5 .
=XLOOKUP(100,D5:D16,C5:C16,"Not Found",0,1)

  • Cùng với đó, bạn sẽ nhận được học sinh cuối cùng với 100 sử dụng công thức XLOOKUP này.
=XLOOKUP(100,D5:D16,C5:C16,"Not Found",0,-1)

  • Ngược lại, bạn sẽ chỉ nhận được giá trị đầu tiên khớp với công thức INDEX-MATCH này.
=INDEX(B5:E16,MATCH(100,D5:D16,0),2)

7. XLOOKUP và INDEX-MATCH trong trường hợp có nhiều giá trị tra cứu

Trong ví dụ này, chúng tôi sẽ minh họa XLOOKUP so với INDEX-MATCH trong trường hợp có nhiều giá trị tra cứu. Có một sự tương đồng giữa hai chức năng về vấn đề này. Cả hai đều cho phép nhiều giá trị tra cứu (Công thức mảng).

  • Đối với hàm XLOOKUP , công thức sau sẽ hoạt động.
=XLOOKUP(G5:G8,B5:B16,E5:E16,"Not Found",0,1)

  • Sau đó, đối với INDEX-MATCH , chức năng sau cũng sẽ hoạt động.
=INDEX(B5:E16,MATCH(G5:G8,B5:B16,0),4)

Ưu điểm & Nhược điểm của hàm XLOOKUP

Có những ưu điểm và nhược điểm nhất định khi sử dụng hàm XLOOKUP . Hãy cùng xem tóm tắt.

Ưu điểm

  • Thiết lập giá trị mặc định cho các trường hợp không khớp.
  • Có thể tìm kiếm các kết quả khớp gần đúng mà không cần sắp xếp mảng_lookup .
  • Có quyền truy cập để tìm kiếm từ cả ô đầu tiên và ô cuối cùng của mảng_lookup .

Nhược điểm

  • Hoạt động chậm hơn so với INDEX-MATCH chức năng.
  • Chỉ khả dụng trong Office 365 .

Ưu điểm & Nhược điểm của hàm INDEX-MATCH

Hàm INDEX-MATCH cũng có một số ưu và nhược điểm sau.

Ưu điểm

  • Hoạt động nhanh hơn hàm XLOOKUP .
  • Có sẵn trong các phiên bản Excel cũ.

Nhược điểm

  • Không thể xử lý lỗi khi không tìm thấy kết quả khớp.
  • Cần mảng_lookup để được sắp xếp cho kết quả khớp gần đúng.
  • Chỉ trả về giá trị đầu tiên khi nhiều giá trị khớp với lookup_value .

Kết luận

Cuối cùng, chúng ta đã kết thúc bài viết dài của mình. Ở đây, chúng tôi đã cố gắng tạo một phân tích so sánh giữa hàm XLOOKUP với hàm INDEX-MATCH trong Excel. Hãy cho chúng tôi biết những gợi ý sâu sắc của bạn về điều này. Theo dõi ExcelWIKI để biết thêm hướng dẫn.

cột.
  • Return_array: Đây là cột mà từ đó giá trị tương ứng của lookup_value sẽ được trả về.
  • Đối số tùy chọn:

    • If_not_found : Đó là giá trị sẽ được trả về trong trường hợp lookup_array không có lookup_value.
    • Chế độ đối sánh : Đây là một số biểu thị loại đối sánh của giá trị tra cứu mà bạn muốn. Đây là một đối số tùy chọn. Nó có thể chứa bốn giá trị.
    1. Khi nó là 0 , XLOOKUP sẽ tìm kiếm kết quả khớp chính xác (Mặc định).
    2. Khi là 1 , XLOOKUP trước tiên sẽ tìm kiếm kết quả khớp chính xác. Nếu không tìm thấy kết quả khớp chính xác, giá trị đó sẽ khớp với giá trị nhỏ hơn tiếp theo.
    3. Khi là -1 , XLOOKUP trước tiên sẽ tìm kiếm kết quả khớp chính xác. Nếu không tìm thấy kết quả khớp chính xác, giá trị đó sẽ khớp với giá trị lớn hơn tiếp theo.
    4. Khi giá trị đó là 2 , XLOOKUP trước tiên sẽ tìm kiếm kết quả khớp gần đúng bằng cách sử dụng Ký tự đại diện ( Chỉ áp dụng cho các giá trị tra cứu chuỗi).
    • Chế độ_tìm kiếm : Đây là một số biểu thị loại thao tác tìm kiếm được thực hiện trên mảng_tra cứu. Đây cũng là tùy chọn. Nó cũng có thể có bốn giá trị:
    1. Nếu là 1 , XLOOKUP sẽ tìm kiếm từ trên xuống dưới trong lookup_array (Mặc định).
    2. Khi là -1 , XLOOKUP sẽ tìm kiếm từ dưới lên trên trong
    3. Nếu là 2 , XLOOKUP sẽ tiến hànhtìm kiếm nhị phân theo thứ tự tăng dần.
    4. Khi là -2 , XLOOKUP sẽ tiến hành tìm kiếm nhị phân theo thứ tự giảm dần.

    Giới thiệu đến Hàm INDEX-MATCH

    Sự kết hợp của các hàm INDEX-MATCH được sử dụng để tìm nạp giá trị từ một vị trí nhất định và khớp giá trị đó với phạm vi nguồn.

    Cú pháp:

    =INDEX(mảng,MATCH(lookup_value,lookup_array,match_type),no_of_column)

    Đối số:

    Đối với Hàm INDEX:

    • Mảng : Đó là một dải ô mà chúng ta muốn trích xuất một giá trị từ đó.
    • MATCH(lookup_value,lookup_array,match_type): Đó là số hàng của dải ô mà lookup_value khớp với một giá trị cụ thể trong lookup_array .
    • No_of_column: Là số cột của mảng mà từ đó chúng ta muốn trả về giá trị tương ứng với lookup_value .

    Đối với hàm MATCH:

    • Lookup_value: Đó là giá trị mà chúng tôi đang tìm kiếm.
    • Looku p_array: Đây là mảng mà chúng ta đang tìm kiếm lookup_value . Nó có thể là cả một hàng và một cột.
    • Kiểu_đối sánh: Đây là một số nguyên biểu thị loại đối sánh mà chúng tôi đang tìm kiếm. Đây là tùy chọn.
    1. Khi là -1 , MATCH trước tiên sẽ tìm kiếm đối sánh chính xác. Trong trường hợp không tìm thấy kết quả khớp chính xác, nó sẽ tìm giá trị lớn hơn tiếp theo (Mặc định)(ngược lại với XLOOKUP ).

    Nhưng điều kiện là lookup_array phải được sắp xếp theo thứ tự tăng dần. Nếu không, nó sẽ hiển thị lỗi.

    1. Khi là 1 , MATCH trước tiên cũng sẽ tìm kiếm một kết quả khớp chính xác. Trong trường hợp không tìm thấy kết quả khớp chính xác, nó sẽ tìm kiếm giá trị nhỏ hơn tiếp theo (ngược lại với XLOOKUP ).

    Nhưng điều kiện là lookup_array lần này phải được sắp xếp theo thứ tự giảm dần. Nếu không, nó sẽ hiển thị lỗi.

    1. Khi là 0 , MATCH sẽ tìm kiếm kết quả khớp chính xác.

    Đọc thêm: Cách chọn dữ liệu cụ thể trong Excel (6 phương pháp)

    7 So sánh giữa việc sử dụng hàm XLOOKUP và hàm INDEX-MATCH

    Bây giờ chúng ta đã chia nhỏ công thức, hãy thảo luận về một số điểm giống và khác nhau giữa hai hàm. Trước khi chuyển sang phần thảo luận chính, tôi sẽ trình bày các điểm chính trong bảng để bạn tiện theo dõi.

    Điểm thảo luận Điểm giống/Không giống nhau Giải thích
    Mảng tra cứu cột Sự giống nhau Cả hai đều hỗ trợ một cột dưới dạng lookup_array.
    Mảng tra cứu hàng Sự tương đồng Cả hai đều hỗ trợ một hàng dưới dạng mảng_lookup.
    Giá trị_lookup không khớp Không giống nhau XLOOKUP có tùy chọn thiết lập mặc định cho trường hợp không khớp với mảnglookup_value. Nhưng INDEX-MATCH không có.
    Kết quả gần đúng Tương đồng một phần XLOOKUP có thể tìm ra giá trị nhỏ hơn tiếp theo hoặc giá trị lớn hơn tiếp theo khi không có kết quả khớp chính xác. INDEX-MATCH cũng có thể làm như vậy nhưng mảng lookup_array cần được sắp xếp theo thứ tự tăng dần hoặc giảm dần.
    Ký tự đại diện phù hợp Tính tương đồng Cả hai đều hỗ trợ so khớp Ký tự đại diện.
    Kết hợp nhiều giá trị Tương tự một phần XLOOKUP có thể tìm ra hoặc giá trị đầu tiên hoặc giá trị cuối cùng khi nhiều giá trị khớp nhau. Nhưng INDEX-MATCH chỉ có thể trả về giá trị khớp đầu tiên.
    Công thức mảng Tính tương đồng Cả hai đều hỗ trợ mảng công thức.

    1. XLOOKUP và INDEX-MATCH để Tra cứu Giá trị trong Cột

    Có sự giống nhau giữa hai hàm ở khía cạnh này. Đối với XLOOKUP INDEX-MATCH , mảng_lookup có thể là một cột cho cả hai hàm. Ở đây chúng tôi đang tìm kiếm Điểm môn Vật lý chính xác của tên học sinh trong C ell F5 , Jennifer Marlo . Chúng tôi muốn tìm kiếm từ trên xuống dưới trong cột Tên sinh viên và trả về “ Không tìm thấy ” trong trường hợp không tìm thấy kết quả phù hợp.

    • Đối với XLOOKUP , áp dụng công thức trong Ô G5 .
    =XLOOKUP(F5,C5:C16,D5:D16,"Not Found",0,1)

    • Đối với INDEX-MATCH , hãy sử dụng công thức này trong ÔG5 .
    =INDEX(B5:D16,MATCH(F5,C5:C16,0),3)

    Đọc thêm: Cách khớp nhiều tiêu chí từ các mảng khác nhau trong Excel

    2. XLOOKUP và INDEX-MATCH để tra cứu giá trị trong hàng

    Hai hàm cũng có điểm tương đồng ở khía cạnh này . Đối với XLOOKUP INDEX-MATCH , lookup_array cũng có thể là một hàng cho cả hai hàm. Để minh họa, chúng tôi có một tập dữ liệu mới với ID , Names Điểm môn Vật lý Điểm .

    Hãy xem xét một chút rằng đây là tập dữ liệu rất rộng và chúng ta không biết số của cột Hạng là bao nhiêu. Sau đó, để biết điểm của một học sinh cụ thể, chúng ta phải sử dụng Hàng tiêu đề (B4:E4) làm mảng_tra cứu và từ “ Điểm ” làm giá_trị tra cứu . Chúng ta có thể thực hiện bằng cách sử dụng cả XLOOKUP INDEX-MATCH .

    • Để biết điểm của học sinh thứ 3 , công thức XLOOKUP sẽ như thế này trong Ô G5 .
    =XLOOKUP("Grade",B4:E4,B7:E7,"Not Found",0,1)

    • Đối với trường hợp này, công thức INDEX-MATCH sẽ là:
    =INDEX(B5:E16,3,MATCH("Grade",B4:E4,0))

    3. XLOOKUP và INDEX-MATCH khi không tìm thấy kết quả phù hợp

    Hai chức năng này không giống nhau ở khía cạnh này. Nếu lookup_value không khớp với bất kỳ giá trị nào trong lookup_array , bạn có thể đặt giá trị cố định được trả về trong XLOOKUP . Để làm điều đó, bạn phải thiết lậpgiá trị trong đối số if_not_found . Mặt khác, không có tùy chọn như vậy trong INDEX-MATCH . Nó sẽ trả về một lỗi. Bạn phải sử dụng hàm IFERROR bên ngoài để xử lý lỗi. Trong tập dữ liệu đã cho, chúng tôi sẽ tìm ra Tên sinh viên có ID 100 .

    • Đối với điều này, hãy sử dụng công thức XLOOKUP sau trong Ô G5 .
    =XLOOKUP(100,B5:B16,C5:C16,"Not Found",0,1)

    • Mặt khác, áp dụng điều này <1 Công thức>INDEX-MATCH .
    =INDEX(B5:E16,MATCH(100,B5:B16,0),2)

    • Vì nó trả về lỗi, bạn phải sử dụng chức năng IFERROR bên ngoài để xử lý lỗi này.
    =IFERROR(INDEX(B5:E16,MATCH(100,B5:B16,0),2),"Not Found")

    Các bài đọc tương tự

    • Excel INDEX MATCH để trả về nhiều giá trị trong một ô
    • Công thức Excel INDEX-MATCH để trả về nhiều giá trị Theo chiều ngang
    • Cách sử dụng Công thức INDEX-MATCH trong Excel để tạo nhiều kết quả
    • [Đã sửa!] INDEX MATCH không trả về giá trị chính xác trong Excel (5 lý do)
    • Cách sử dụng INDEX MATCH thay vì VLOOKUP trong Excel (3 cách)

    4. XLOOKUP và INDEX-MATCH trong Trường hợp trùng khớp gần đúng

    Có một phần tương đồng giữa hai chức năng trong khía cạnh này. Trong hàm XLOOKUP , nếu giá trị_lookup không khớp với bất kỳ giá trị nào trong mảng_lookup , bạn có thể sửa đổi công thức để trả về giá trị lớn hơn hoặc nhỏ hơn tiếp theo . Đặt đối số match_type thành -1 nếu bạn muốn giá trị nhỏ hơn tiếp theo và đặt thành 1 nếu bạn muốn giá trị lớn hơn tiếp theo.

    Ví dụ , chúng tôi sẽ tìm ra học sinh có điểm 50 hoặc điểm lớn hơn tiếp theo.

    • Để tìm giá trị, hãy áp dụng công thức XLOOKUP này.
    =XLOOKUP(50,D5:D16,C5:C16,"Not Found",1,1)

    • Như bạn thấy, không có học sinh nào có điểm 50 . Đó là lý do nó hiển thị cái ngay sau 50 , 51 của Desmond Hayes .

    Có tùy chọn tương tự trong Công thức INDEX-MATCH . Nhưng khuyết điểm là bạn phải sắp xếp lookup_array theo thứ tự giảm dần nếu bạn muốn giá trị lớn hơn tiếp theo. Nếu không, nó sẽ trả về một lỗi. Và để nhận được giá trị nhỏ hơn tiếp theo, bạn phải sắp xếp theo thứ tự tăng dần.

    • Trước hết, hãy chèn công thức này vào Ô G5 .
    =INDEX(B5:E16,MATCH(50,D5:D16,-1),2)

    • Kết quả là bạn sẽ thấy rằng kết quả đang hiển thị lỗi #N/A .
    • Do đó, hãy sắp xếp Dải ô D5:D16 theo thứ tự tăng dần và bạn sẽ nhận được giá trị chính xác.

    Lưu ý đặc biệt:Trong hàm XLOOKUP, -1hoạt động với giá trị nhỏ hơn tiếp theo, nhưng trong INDEX-MATCH, -1hoạt động cho giá trị lớn hơn tiếp theo. Tương tự như vậy trong hàm XLOOKUP, 1 hoạt động với giá trị lớn hơn tiếp theo, nhưng trong hàm INDEX-MATCH, 1hoạt động với giá trị nhỏ hơn tiếp theo.

    Đọc thêm: Cách sử dụngINDEX và So khớp để khớp một phần (2 cách)

    5. XLOOKUP và INDEX-MATCH trong trường hợp So khớp các ký tự đại diện

    Có sự giống nhau giữa hai chức năng ở khía cạnh này. Cả XLOOKUP INDEX-MATCH đều hỗ trợ Ký tự đại diện . Tại đây, chúng ta sẽ tìm ra bất kỳ học sinh nào có “ Marlo ” là tên thứ hai. Hãy làm theo các bước bên dưới để xem so sánh XLOOKUP với INDEX-MATCH .

    • Trước tiên, hãy áp dụng công thức XLOOKUP này trong Ô G5 để lấy đầu ra.
    =XLOOKUP("*Marlo*",C5:C16,C5:C16,"Not Found",2,1)

    Lưu ý:Để sử dụng ký tự đại diện trong XLOOKUP, bạn phải đặt đối số match_typethành 2. Nếu không, nó sẽ không hoạt động.

    • Mặt khác, công thức INDEX-MATCH để hoàn thành cùng một nhiệm vụ sẽ như thế này.
    =INDEX(B5:E16,MATCH("*Marlo*",C5:C16,0),2)

    Đọc thêm: INDEX MATCH Nhiều tiêu chí với ký tự đại diện trong Excel (Hướng dẫn đầy đủ )

    6. XLOOKUP và INDEX-MATCH Khi nhiều giá trị khớp với giá trị tra cứu

    Ví dụ này hiển thị XLOOKUP so với INDEX-MATCH khi nhiều giá trị khớp với giá trị tra cứu. Cũng có một phần tương đồng giữa hai chức năng về vấn đề này. XLOOKUP INDEX-MATCH đều chỉ trả về một giá trị trong trường hợp nhiều giá trị trong mảng_lookup khớp với lookup_value . Nhưng trong hàm XLOOKUP , bạn có thể sửa đổi tìm kiếm để nhận được

    Hugh West là một nhà phân tích và huấn luyện viên Excel giàu kinh nghiệm với hơn 10 năm kinh nghiệm trong ngành. Ông có bằng Cử nhân Tài chính Kế toán và bằng Thạc sĩ Quản trị Kinh doanh. Hugh có niềm đam mê giảng dạy và đã phát triển một phương pháp giảng dạy độc đáo, dễ hiểu và dễ theo dõi. Kiến thức chuyên môn về Excel của ông đã giúp hàng nghìn sinh viên và chuyên gia trên toàn thế giới cải thiện kỹ năng và xuất sắc trong sự nghiệp của họ. Thông qua blog của mình, Hugh chia sẻ kiến ​​thức của mình với mọi người, cung cấp các hướng dẫn Excel miễn phí và đào tạo trực tuyến để giúp các cá nhân và doanh nghiệp phát huy hết tiềm năng của họ.