INDEX MATCH MATCH trong Excel để tra cứu hai chiều

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

Hướng dẫn giới thiệu một số công thức khác nhau để thực hiện tra cứu hai chiều trong Excel. Chỉ cần xem qua các lựa chọn thay thế và chọn mục yêu thích của bạn :)

Khi tìm kiếm thứ gì đó trong bảng tính Excel, hầu hết thời gian bạn sẽ tìm kiếm theo chiều dọc trong cột hoặc theo hàng theo chiều ngang. Nhưng đôi khi bạn cần xem cả hàng và cột. Nói cách khác, mục tiêu của bạn là tìm một giá trị tại giao điểm của một hàng và cột nhất định. Đây được gọi là tra cứu ma trận (hay còn gọi là tra cứu 2 chiều hoặc tra cứu 2 chiều ) và hướng dẫn này cho biết cách thực hiện theo 4 cách khác nhau.

    Công thức INDEX MATCH MATCH của Excel

    Cách phổ biến nhất để thực hiện tra cứu hai chiều trong Excel là sử dụng INDEX MATCH MATCH. Đây là một biến thể của công thức INDEX MATCH cổ điển mà bạn thêm một hàm MATCH nữa để lấy cả số hàng và số cột:

    INDEX ( data_array, MATCH ( vlookup_value, lookup_column_range, 0), MATCH ( giá trị hlookup, lookup_row_range, 0))

    Ví dụ: hãy tạo công thức để kéo một quần thể của một con vật nhất định trong một năm nhất định từ bảng dưới đây. Để bắt đầu, chúng tôi xác định tất cả các đối số:

    • Data_array - B2:E4 (ô dữ liệu, không bao gồm tiêu đề hàng và cột)
    • Vlookup_value - H1 (động vật mục tiêu)
    • Dải_cột_tra cứu - A2:A4 (tiêu đề hàng: tên động vật) -A3:A4
    • Hlookup_value - H2 (năm mục tiêu)
    • Lookup_row_range - B1:E1 (tiêu đề cột: năm)

    Kết hợp tất cả các đối số lại với nhau và bạn sẽ nhận được công thức này để tra cứu hai chiều:

    =INDEX(B2:E4, MATCH(H1, A2:A4, 0), MATCH(H2, B1:E1, 0))

    Cách thức hoạt động của công thức này

    Mặc dù có vẻ hơi khó hiểu Thoạt nhìn phức tạp, logic của công thức thực sự đơn giản và dễ hiểu. Hàm INDEX truy xuất một giá trị từ mảng dữ liệu dựa trên số hàng và cột, đồng thời hai hàm MATCH cung cấp các số đó:

    INDEX(B2:E4, row_num, column_num)

    Ở đây, chúng tôi tận dụng khả năng của hàm MATCH(lookup_value, lookup_array, [match_type]) để trả về vị trí tương đối của lookup_value trong lookup_array .

    Vì vậy, để lấy số hàng, chúng tôi tìm kiếm đối với động vật quan tâm (H1) trên các tiêu đề hàng (A2:A4):

    MATCH(H1, A2:A4, 0)

    Để lấy số cột, chúng tôi tìm kiếm năm mục tiêu (H2) trên các tiêu đề cột (B1:E1):

    MATCH(H2, B1:E1, 0)

    Trong cả hai trường hợp, chúng tôi tìm kiếm đối sánh chính xác bằng cách đặt đối số thứ 3 thành 0.

    Trong ví dụ này, MATCH đầu tiên trả về 2 vì giá trị vlookup của chúng tôi (Gấu Bắc cực) được tìm thấy trong A3, là ô thứ 2 trong A2:A4. Hàm MATCH thứ hai trả về 3 vì giá trị hlookup (2000) được tìm thấy trong D1, là ô thứ 3 trong B1:E1.

    Với điều kiện trên, công thức rút gọn thành:

    INDEX(B2:E4, 2, 3)

    Và trả về một giá trị tại giao điểm của hàng thứ 2 và cột thứ 3 trong mảng dữ liệu B2:E4, đó là mộtgiá trị trong ô D3.

    Công thức VLOOKUP và MATCH để tra cứu 2 chiều

    Một cách khác để thực hiện tra cứu hai chiều trong Excel là sử dụng kết hợp các hàm VLOOKUP và MATCH:

    VLOOKUP( vlookup_value , table_array , MATCH( hlookup_value , lookup_row_range , 0), FALSE)

    Đối với bảng mẫu của chúng tôi , công thức có dạng sau:

    =VLOOKUP(H1, A2:E4, MATCH(H2, A1:E1, 0), FALSE)

    Ở đâu:

    • Table_array - A2:E4 (ô dữ liệu bao gồm tiêu đề hàng)
    • Vlookup_value - H1 (động vật mục tiêu)
    • Hlookup_value - H2 (năm mục tiêu)
    • Lookup_row_range - A1:E1 (tiêu đề cột: năm)

    Cách thức hoạt động của công thức này

    Cốt lõi của công thức là hàm VLOOKUP được định cấu hình để đối sánh chính xác (đối số cuối cùng được đặt thành FALSE), tìm kiếm giá trị tra cứu (H1) trong cột đầu tiên của mảng bảng (A2:E4) và trả về giá trị từ một cột khác trong cùng một hàng. Để xác định cột nào sẽ trả về giá trị từ đó, bạn sử dụng hàm MATCH cũng được định cấu hình để khớp chính xác (đối số cuối cùng được đặt thành 0):

    MATCH(H2, A1:E1, 0)

    MATCH tìm kiếm giá trị trong H2 trên các tiêu đề cột (A1:E1) và trả về vị trí tương đối của ô được tìm thấy. Trong trường hợp của chúng tôi, năm mục tiêu (2010) được tìm thấy trong E1, đứng thứ 5 trong mảng tra cứu. Vì vậy, số 5 đi đến đối số col_index_num của VLOOKUP:

    (A2:A4=H1) * (B1:E1=H2)

    VLOOKUP lấy nó từ đó, tìm mộtkhớp chính xác cho giá trị tra cứu của nó trong ô A2 và trả về giá trị từ cột thứ 5 trong cùng một hàng, là ô E2.

    Lưu ý quan trọng! Để công thức hoạt động chính xác, table_array (A2:E4) của VLOOKUP và lookup_array của MATCH (A1:E1) phải có cùng số cột, nếu không thì số được truyền bởi MATCH đến col_index_num sẽ không chính xác (không tương ứng với vị trí của cột trong table_array ).

    Hàm XLOOKUP để tìm hàng và cột

    Gần đây Microsoft đã giới thiệu thêm một hàm trong Excel nhằm thay thế tất cả các hàm tra cứu hiện có như VLOOKUP, HLOOKUP và INDEX MATCH. Trong số những thứ khác, XLOOKUP có thể xem giao điểm của một hàng và cột cụ thể:

    XLOOKUP( vlookup_value , vlookup_column_range , XLOOKUP( hlookup_value , hlookup_row_range , data_array )))

    Đối với tập dữ liệu mẫu của chúng tôi, công thức như sau:

    =XLOOKUP(H1, A2:A4, XLOOKUP(H2, B1:E1, B2:E4))

    Lưu ý. Hiện tại XLOOKUP là một chức năng beta, chỉ khả dụng cho những người đăng ký Office 365 là một phần của chương trình Người dùng nội bộ Office.

    Cách thức hoạt động của công thức này

    Công thức sử dụng khả năng của XLOOKUP để trả về một toàn bộ hàng hoặc cột. Hàm bên trong tìm kiếm năm mục tiêu trong hàng tiêu đề và trả về tất cả các giá trị cho năm đó (trong ví dụ này là năm 1980). Những giá trị đó chuyển đến đối số return_array của bên ngoàiXLOOKUP:

    XLOOKUP(H1, A2:A4, {22000;25000;700}))

    Hàm XLOOKUP bên ngoài tìm kiếm động vật mục tiêu trên các tiêu đề cột và trả về giá trị ở cùng một vị trí từ return_array.

    Công thức TỔNG HỢP cho hai tra cứu theo chiều

    Hàm TÓM TẮT giống như một con dao Thụy Sĩ trong Excel – nó có thể thực hiện rất nhiều việc ngoài mục đích được chỉ định, đặc biệt là khi đánh giá nhiều tiêu chí.

    Để tra cứu hai tiêu chí, trong các hàng và cột, hãy sử dụng công thức chung sau:

    SUMPRODUCT( vlookup_column_range = vlookup_value ) * ( hlookup_row_range = hlookup_value ), data_array )

    Để thực hiện tra cứu 2 chiều trong tập dữ liệu của chúng tôi, công thức sẽ như sau:

    =SUMPRODUCT((A2:A4=H1) * (B1:E1=H2), B2:E4)

    Cú pháp bên dưới cũng sẽ hoạt động:

    =SUMPRODUCT((A2:A4=H1) * (B1:E1=H2) * B2:E4)

    Cách thức hoạt động của công thức này

    Trọng tâm của công thức, chúng tôi so sánh hai giá trị tra cứu với tiêu đề hàng và cột (động vật mục tiêu trong H1 với tất cả động vật tên trong A2:A4 và năm mục tiêu trong H2 so với tất cả các năm trong B1:E1):

    (A2:A4=H1) * (B1:E1=H2)

    Res này kết quả cuối trong 2 mảng giá trị TRUE và FALSE, trong đó giá trị TRUE đại diện cho kết quả khớp:

    {FALSE;FALSE;TRUE} * {FALSE,TRUE,FALSE,FALSE}

    Thao tác nhân buộc các giá trị TRUE và FALSE thành 1 và 0 và tạo ra một mảng hai chiều gồm 4 cột và 3 hàng (các hàng được phân tách bằng dấu chấm phẩy và mỗi cột dữ liệu bằng dấu phẩy):

    {0,0,0,0;0,0,0,0;0,1,0,0}

    Hàm SUMPRODUCT nhân các phần tử của mảng trên với các mục củaB2:E4 ở cùng vị trí:

    {0,0,0,0;0,0,0,0;0,1,0,0} * {22000,13800,8500,3500;25000,23000,22000,20000;700,2000,2300,2500}

    Và bởi vì nhân với 0 sẽ cho kết quả 0, nên chỉ có mục tương ứng với 1 trong mảng đầu tiên tồn tại:

    SUMPRODUCT({0,0,0,0;0,0,0,0;0,2000,0,0})

    Cuối cùng, SUMPRODUCT cộng các phần tử của mảng kết quả và trả về giá trị 2000.

    Lưu ý. Nếu bảng của bạn có nhiều tiêu đề hàng hoặc/và cột có cùng tên, thì mảng cuối cùng sẽ chứa nhiều hơn một số khác 0 và tất cả các số đó sẽ được cộng lại. Kết quả là bạn sẽ nhận được tổng giá trị đáp ứng cả hai tiêu chí. Đó là điều làm cho công thức SUMPRODUCT khác với INDEX MATCH MATCH và VLOOKUP, những công thức này trả về kết quả khớp đầu tiên được tìm thấy.

    Tra cứu ma trận với các phạm vi được đặt tên (Giao lộ rõ ​​ràng)

    Thêm một cách đơn giản đáng kinh ngạc để thực hiện tra cứu ma trận trong Excel bằng cách sử dụng các phạm vi được đặt tên. Đây là cách thực hiện:

    Phần 1: Đặt tên cho cột và hàng

    Cách nhanh nhất để đặt tên cho từng hàng và từng cột trong bảng của bạn là:

    1. Chọn toàn bộ bảng (trong trường hợp của chúng tôi là A1:E4).
    2. Trên tab Công thức , trong nhóm Tên đã xác định , hãy nhấp vào Tạo từ Lựa chọn hoặc nhấn phím tắt Ctrl + Shift + F3.
    3. Trong hộp thoại Tạo tên từ lựa chọn , chọn Hàng trên cùng Trái cột, và nhấp vào OK.

    Thao tác này tự động tạo tên dựa trên tiêu đề hàng và cột. Tuy nhiên, có một số lưu ý:

    • Nếu cột của bạn và/hoặctiêu đề hàng là số hoặc chứa các ký tự cụ thể không được phép trong tên Excel, tên cho các cột và hàng đó sẽ không được tạo. Để xem danh sách các tên đã tạo, hãy mở Trình quản lý tên ( Ctrl + F3 ). Nếu một số tên bị thiếu, hãy xác định chúng theo cách thủ công như được giải thích trong Cách đặt tên cho một phạm vi trong Excel.
    • Nếu một số tiêu đề hàng hoặc cột của bạn chứa khoảng trắng, khoảng trắng sẽ được thay thế bằng dấu gạch dưới, ví dụ: Polar_bear .

    Đối với bảng mẫu của chúng tôi, Excel chỉ tự động tạo tên hàng. Tên cột phải được tạo thủ công vì tiêu đề cột là số. Để khắc phục điều này, bạn chỉ cần đặt trước các số bằng dấu gạch dưới, chẳng hạn như _1990 .

    Kết quả là chúng tôi có các phạm vi được đặt tên sau:

    Phần 2 : Tạo công thức tra cứu ma trận

    Để kéo một giá trị tại giao điểm của một hàng và cột nhất định, chỉ cần nhập một trong các công thức chung sau vào một ô trống:

    = row_name column_name

    Hoặc ngược lại:

    = column_name row_name

    Ví dụ: để lấy số lượng cá voi xanh vào năm 1990 , công thức đơn giản như sau:

    =Blue_whale _1990

    Nếu ai đó cần hướng dẫn chi tiết hơn, các bước sau sẽ hướng dẫn bạn thực hiện quy trình:

    1. Trong một ô nơi bạn muốn kết quả xuất hiện, hãy nhập dấu bằng (=).
    2. Bắt đầu nhập tên của hàng mục tiêu, chẳng hạn như Blue_whale . Saubạn đã nhập một vài ký tự, Excel sẽ hiển thị tất cả các tên hiện có khớp với đầu vào của bạn. Nhấp đúp vào tên mong muốn để nhập tên đó vào công thức của bạn:
    3. Sau tên hàng, hãy nhập dấu cách , hoạt động như toán tử giao lộ trong trường hợp này.
    4. Nhập tên cột mục tiêu ( _1990 trong trường hợp của chúng tôi).
    5. Ngay sau khi nhập cả tên hàng và tên cột, Excel sẽ đánh dấu hàng và cột tương ứng trong bảng của bạn và bạn nhấn Enter để hoàn thành công thức:

    Việc tra cứu ma trận của bạn đã hoàn tất và ảnh chụp màn hình bên dưới hiển thị kết quả:

    Đó là cách tra cứu theo hàng và cột trong Excel. 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!

    Có sẵn các bản tải xuống

    Sổ làm việc mẫu tra cứu 2 chiều

    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.