Cách sử dụng Công thức INDEX-MATCH trong Excel để tạo nhiều kết quả

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

Mặc dù làm việc với một lượng lớn dữ liệu dẫn đến tạo ra nhiều kết quả. Trong Excel có một cách trích xuất nhiều kết quả rất tiện lợi. Trong bài viết này, chúng tôi sẽ hướng dẫn bạn cách sử dụng INDEX-MATCH công thức trong Excel để tạo nhiều kết quả.

Tải xuống mẫu thực hành

Bạn có thể tải xuống mẫu Excel thực hành miễn phí từ đây và tự thực hành.

INDEX MATCH Nhiều kết quả.xlsx

4 Cách hữu ích để triển khai INDEX & Kết hợp các hàm MATCH trong Excel để trích xuất nhiều kết quả

Phần này sẽ thảo luận chi tiết về việc sử dụng kết hợp hàm INDEX hàm MATCH trong Excel để nhận được nhiều kết quả.

1. Tìm Nhiều Kết quả trong Mảng bằng Công thức INDEX MATCH trong Excel

Hãy xem xét tập dữ liệu sau, trong đó chúng tôi muốn tìm các điểm khác nhau của các sinh viên trong các kỳ thi khác nhau.

Chúng ta có thể lấy điều đó bằng cách chạy công thức INDEX-MATCH trong trang tính của mình.

Các bước tìm nhiều kết quả trong một tập hợp mảng bằng cách sử dụng INDEX-MATCH chức năng được đưa ra bên dưới.

Các bước:

  • Chọn tên từ tập dữ liệu ( B5:B11 ) và đặt tên trong một ô khác để sử dụng số tham chiếu ô sau này (ví dụ: tên Villiers trong Cell G4 ).
  • Trong một ô khác mà bạn muốn làm ô kết quả ( ví dụ: Ô G7 ), viếtKết luận

    Bài viết này giải thích chi tiết cách sử dụng hàm INDEX MATCH để trích xuất nhiều kết quả trong Excel. Tôi hy vọng bài viết này đã rất hữu ích cho bạn. Vui lòng hỏi nếu bạn có bất kỳ câu hỏi nào liên quan đến chủ đề này.

    công thức sau,
=INDEX($C$5:$C$11,SMALL(IF(ISNUMBER(MATCH($B$5:$B$11,$G$4,0)),MATCH(ROW($B$5:$B$11),ROW($B$5:$B$11)),""),ROWS($A$1:A1)))

Ở đây,

$C$5:$C$11 = mảng để tìm kiếm giá trị tra cứu

$B$5:$B$11 = mảng chứa giá trị tra cứu

  • Nhấn Enter .

Bạn sẽ nhận thấy rằng kết quả cho dữ liệu (ví dụ: Villiers ) mà bạn đặt trong ô đã chọn ( G4 ), sẽ xuất hiện trong ô kết quả (ví dụ: 65 trong G7 ).

  • Bây giờ hãy kéo hàng xuống dưới Fill Handle để nhận phần còn lại của kết quả có cùng giá trị tra cứu.

Vì quy trình này không cố định đối với bất kỳ giá trị cụ thể nào nên bạn có thể chọn bất kỳ dữ liệu tra cứu nào trong ô được chọn (ví dụ: G4 ) và kết quả cho dữ liệu cụ thể đó sẽ được cập nhật tự động trong ô kết quả (ví dụ: G7 ).

Để hiểu thêm, hãy xem gif bên dưới.

Chi tiết công thức:

Hãy chia nhỏ công thức để hiểu cách chúng ta có kết quả.

  • MATCH($B$5:$B$11, $G$4, 0) trở thành,

-> TRẬN ĐẤU({“Đá lửa”; “ Ronaldo”; "Plessis"; "Những kẻ phản diện"; “Beckham”; "Những kẻ phản diện"; “Plessis”}, “Villiers”, 0)

-> Đầu ra: {#N/A; #N/A; #N/A; 1; #N/A; 1; #N/A}

Giải thích: Nếu giá trị tìm kiếm khớp với mảng tra cứu, thì hàm MATCH trả về 1 , nếu không thì trả về #N/A .

  • ISNUMBER(MATCH($B$5:$B$11, $G$4, 0) trở thành,

-> ISNUMBER({#N/A; #N/A; #N/A; 1; #N/A; 1; #N/A})

-> Đầu ra: {FALSE; SAI; SAI; THẬT; SAI; THẬT; FALSE}.

Giải thích: Hàm IF không thể xử lý các giá trị lỗi nên Hàm ISNUMBER đang được sử dụng ở đây để chuyển đổi các giá trị mảng thành giá trị Boolean.

  • IF(ISNUMBER(MATCH($B$5:$B$11, $G$4, 0)), MATCH(ROW($B $5:$B$11), ROW($B$5:$B$11)), “”) trở thành,

-> IF({FALSE; FALSE; FALSE ; TRUE; FALSE; TRUE; FALSE}, MATCH(ROW($B$5:$B$11), ROW($B$5:$B$11)), “”)

trở thành

-> IF({FALSE; FALSE; FALSE; TRUE; FALSE; TRUE; FALSE}, {1; 2; 3; 4; 5; 6; 7}, “”)

-> Đầu ra: {“”; “”; “”; 4; “”; 6}

Giải thích: Thứ nhất, Hàm IF chuyển đổi giá trị Boolean thành số hàng và khoảng trống. Sau đó, MATCH Hàm ROW tính toán một mảng có các số liên tiếp, từ 1 đến n, trong đó n là nhận dạng số cuối cùng của tổng kích thước của phạm vi ô. Vì $B$5:$B$11 có 7 giá trị nên mảng trở thành {1; 2; 3; 4; 5; 6; 7} .

  • SMALL(IF(ISNUMBER(MATCH($B$5:$B$11, $G$4, 0)), MATCH(ROW($B$5: $B$11), ROW($B$5:$B$11)), “”), ROWS($A$1:A1))) trở thành

-> NHỎ({“”; “”; “”; 4; “”; 6}, ROWS($A$1:A1))

-> SMALL({“”; “”; “”; 4; “”; 6}, 1)

-> Đầu ra: 4

Giải thích: Đầu tiên, Hàm NHỎ xác định giá trị sẽ nhận dựa trên số hàng. Tiếp theo, Hàm Hàng trả về một số thay đổi mỗi khi ô được sao chép và dán vào các ô bên dưới. Ban đầu, nó trả về 4 theo tập dữ liệu của chúng tôi. Trong ô tiếp theo bên dưới, ROWS($A$1:A1) thay đổi thành ROWS($A$1:A2) và trả về 6 .

  • INDEX($C$5:$C$11, SMALL(IF(ISNUMBER(MATCH($B$5:$B$11, $G$4, 0)), MATCH(ROW($B$5: $B$11), ROW($B$5:$B$11)), “”), ROWS($A$1:A1))) trở thành

-> INDEX($C$5:$C$11, 4)

-> Kết quả: 65

Giải thích: The <1 Hàm>INDEX trả về một giá trị từ một mảng đã cho dựa trên số hàng và cột. Giá trị 4th trong mảng $C$5:$C$11 65 , vì vậy hàm INDEX trả về 65 trong ô G7 .

Đọc thêm: NẾU với INDEX-MATCH trong Excel (3 phương pháp phù hợp)

2. Tìm Nhiều Kết quả của Tên & Sự kiện Sắp tới Ngày tháng với Công thức INDEX MATCH trong Excel

Đôi khi chúng ta quên mất ngày của các sự kiện quan trọng. Trong trường hợp đó, các hàm INDEX MATCH hoạt động như những người cứu hộ.

Dưới đây là dữ liệu mẫu mà chúng tôi muốn biết sinh nhật sắp tới giữa những người bạn của mình.

Vì vậy, những gì chúng tôi đã làm là triển khai công thức INDEX MATCH để tìm ra sinh nhật tiếp theo của ai và đó là khi nào.

Vì vậy, công thức đểbiết tên của người đó hoặc tên của sự kiện sắp diễn ra là,

=INDEX($B$5:$B$9,MATCH(F5,$C$5:$C$9,1)+1)

Và công thức để biết ngày diễn ra sự kiện sắp tới là,

=INDEX($C$5:$C$9,MATCH(F5,$C$5:$C$9,1)+1)

Phân tích công thức:

Hãy phân tích công thức để hiểu cách chúng tôi tìm ra tên Alex và ngày sinh của anh ấy.

  • MATCH(F5,$C$5:$C$9,1)

-> Kết quả: 4

Giải thích: Hàm MATCH tìm vị trí của giá trị tra cứu ( Ô F5 = Thứ năm, ngày 11 tháng 11 năm 2021 ) trong hằng số mảng ( $C$5:$C$9 = danh sách các ngày ) .

Trong ví dụ này, chúng tôi không muốn khớp chính xác, chúng tôi muốn hàm MATCH trả về kết quả khớp gần đúng, vì vậy chúng tôi đặt đối số thứ ba thành 1 (hoặc TRUE ).

  • INDEX($B$5:$B$9,MATCH(F5,$C$5:$C$9,1)+1 ) trở thành

-> INDEX($B$5:$B$9, 4) +1)

-> Kết quả: Alex /(Tên sự kiện)

Giải thích: Hàm INDEX nhận hai đối số để trả về một giá trị cụ thể trong phạm vi một chiều. Ở đây, phạm vi $B$5:$B$9 trước tiên là đối số và là kết quả mà chúng ta có từ phép tính trong phần trước (MATCH(F5,$C$5:$C$9, 1)) , vị trí 4 , là đối số thứ hai. Điều đó có nghĩa là chúng tôi đang tìm kiếm giá trị nằm ở vị trí 4 trong $B$5:$B$9 phạm vi.

Và,

  • INDEX($C$5:$C$9,MATCH(F5,$C$5:$C$9,1)+1) trở thành

-> INDEX($B$5:$B$9, 4) +1)

-> Đầu ra: Thứ Ba, ngày 7 tháng 12 năm 2021

Giải thích: Hàm INDEX nhận hai đối số để trả về một giá trị cụ thể trong phạm vi một chiều. Ở đây, phạm vi $C$5:$C$9 trước tiên là đối số và là kết quả mà chúng ta có từ phép tính trong phần trước (MATCH(F5,$C$5:$C$9, 1)) , vị trí 4 , là đối số thứ hai. Điều đó có nghĩa là chúng tôi đang tìm kiếm giá trị nằm ở vị trí 4 trong phạm vi $C$5:$C$9 .

Để biết ngày diễn ra sự kiện sắp tới, chúng tôi chỉ cần thêm một đến vị trí ô được hàm MATCH trả về và nó cho chúng ta vị trí ô của ngày diễn ra sự kiện tiếp theo.

Đọc thêm: CHỈ SỐ Excel Công thức -MATCH để trả về nhiều giá trị theo chiều ngang

Cách đọc tương tự

  • INDEX MATCH Nhiều tiêu chí với ký tự đại diện trong Excel (Hướng dẫn đầy đủ)
  • [Đã 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)
  • INDEX+MATCH với các giá trị trùng lặp trong Excel (3 phương pháp nhanh)
  • Cách chọn dữ liệu cụ thể trong Excel (6 Phương pháp)

3. Tạo nhiều kết quả thành các cột riêng biệt bằng Công thức INDEX MATCH trong Excel

Cho đến bây giờ chúng ta cóđã nhận được kết quả hàng khôn ngoan. Nhưng điều gì sẽ xảy ra nếu bạn muốn nhận kết quả trong các cột riêng biệt .

Hãy xem xét tập dữ liệu sau, bao gồm ba loại nghề nghiệp đại diện cho nhiều tên người.

Chúng tôi muốn tạo một nhóm người dựa trên nghề nghiệp và chúng tôi muốn đặt tên theo cột theo nghề nghiệp của họ.

Để trích xuất nhiều khớp kết quả vào các ô riêng biệt trong các cột riêng biệt, bạn có thể thực hiện một mẹo nhỏ với hàm INDEX .

Hãy tìm hiểu cách trích xuất nhiều kết quả khớp trong nhiều cột trong Excel bằng cách kết hợp INDEX và các chức năng khác.

Các bước:

  • Chọn một nghề từ phạm vi dữ liệu ( B5:B11 ) và đặt dữ liệu vào một ô khác để sử dụng số tham chiếu ô sau này (ví dụ: nghề Cricketer trong Ô E5 ).
  • Trong một ô khác mà bạn muốn làm ô kết quả của bạn (ví dụ: Ô F5 ), hãy viết công thức sau,
=IFERROR(INDEX($C$5:$C$11,SMALL(IF($B$5:$B$11=$E5,ROW(C5:C11)-MIN(ROW(C5:C11))+1),COLUMNS($E$5:E5))),"")

Ở đây,

$C$5:$C$11 = ar ray để tìm kiếm giá trị tra cứu

$B$5:$B$11 = mảng chứa giá trị tra cứu

  • Nhấn Enter .

Bạn sẽ nhận thấy rằng kết quả cho dữ liệu (ví dụ: Cricketers ) mà bạn đặt vào ô đã chọn ( E5 ), sẽ xuất hiện trong ô kết quả (ví dụ: Flintoff trong Ô F5 ).

  • Bây giờ hãy kéo hàng xung quanh Điền vào Xử lý để nhận phần còn lại của kết quả có cùng giá trị tra cứu đó trong nhiều cột riêng biệt.

  • Một lần nữa, kéo hàng xung quanh Fill Handle để nhận phần còn lại của kết quả của các giá trị tra cứu khác nhau (ví dụ: Footballer, Wrestlers ) trong nhiều cột riêng biệt.

Chi tiết công thức:

Hãy chia nhỏ công thức để hiểu cách chúng ta nhận được kết quả.

  • NHỎ(NẾU ($B$5:$B$11=$E5,ROW($C$5:$C$11)-MIN(ROW($C$5:$C$11))+1),COLUMNS($E$5:E5))

Từ cuộc thảo luận trước, chúng ta đã biết cách các hàm SMALL, IF ROW hoạt động cùng nhau và chúng ta cũng đang sử dụng thủ thuật đó ở đây để tạo một số hàng tương ứng với trận đấu thứ N. Sau khi có số hàng, chúng ta chỉ cần chuyển nó vào hàm INDEX để trả về giá trị tại hàng đó.

-> Đầu ra: ( như hình bên dưới )

  • INDEX($C$5:$C$11,SMALL(IF($B$5:$B$11 =$E5,ROW($C$5:$C$11)-MIN(ROW($C$5:$C$11))+1),COLUMNS($E$5:E5))) -> chuyển số hàng cho hàm INDEX để trích xuất giá trị cho số hàng tương ứng.

-> Đầu ra: ( như hình bên dưới )

  • IFERROR(INDEX($C$5:$C$11,SMALL(IF($B$5:$B$11= $E5,ROW(C5:C11)-MIN(ROW(C5:C11))+1),COLUMNS($E$5:E5))),””) -> lưu ý rằng khi các cột trả về một giá trị không tồn tại, nóđưa ra lỗi #NUM . Để ngăn lỗi, chúng tôi bọc toàn bộ công thức bằng hàm IFERROR để bắt lỗi và đặt chuỗi trống (“”) làm kết quả trả về.

-> Đầu ra: ( như hình bên dưới )

Đọc thêm: Excel INDEX MATCH để trả về nhiều giá trị trong một ô

4. Trích xuất nhiều kết quả thành các hàng riêng biệt bằng các hàm INDEX MATCH trong Excel

Nếu bạn đang thắc mắc về việc trích xuất nhiều kết quả thành nhiều hàng giống như cách chúng ta đã làm trong phần trước, thì công thức là,

=IFERROR(INDEX($C$5:$C$11,SMALL(IF($B$5:$B$11=E$4,ROW(C5:C11)-MIN(ROW(C5:C11))+1),ROWS($E$5:E5))),"")

Và mọi chi tiết khác như Các bước và Phân tích công thức giống như trong phần 3.

Những điểm chính bạn phải ghi nhớ

  • Là phạm vi của mảng bảng dữ liệu để tìm kiếm giá trị cố định, đừng quên đặt dấu đô la ($) trước số tham chiếu ô của bảng mảng.
  • Khi làm việc với giá trị mảng, đừng quên nhấn Ctrl + Shift + Enter trên keyboa của bạn rd trong khi trích xuất kết quả. Chỉ nhấn Enter sẽ chỉ hoạt động khi bạn đang sử dụng Microsoft 365 .
  • Sau khi nhấn Ctrl + Shift + Enter , bạn sẽ nhận thấy rằng nút thanh công thức kèm theo công thức trong dấu ngoặc nhọn {} , khai báo công thức đó là công thức mảng. Đừng tự mình nhập các dấu ngoặc {} đó, Excel sẽ tự động làm việc này cho bạn.

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ọ.