Đánh giá Cách kết hợp hàm INDEX và MATCH trong Excel để dò nhiều điều kiện là chủ đề trong bài viết bây giờ của 9kiem.vn. Đọc nội dung để biết chi tiết nhé.
Sự kết hợp của hàm INDEX kết hợp với hàm MATCH sẽ đem lại sự linh hoạt hơn trong việc dò tìm so với các hàm khác trong Excel. 9kiem.vn sẽ chỉ bạn cách sử dụng 2 hàm này kết hợp với nhau trong bài viết sau nhé.
Ví dụ trong bài được thực hiện trên phiên bản Excel 2016. Bạn có thể áp dụng tương tự trên các phiên bản Excel khác như: 2007, 2010, 2013, 2017 và Microsoft Excel 365.
1Sự khác nhau giữa hàm INDEX + MATCH và hàm VLOOKUP, HLOOKUP
Hàm VLOOKUP, HLOOKUP là 2 hàm dò tìm dữ liệu và phổ biến với nhiều người. Tuy nhiên, hàm VLOOKUP, HLOOKUP có giới hạn đó là giá trị trả về phải nằm ở cột bên phải so với giá trị dò tìm với hàm VLOOKUP và nằm ở cột bên dưới với hàm HLOOKUP.
Ở ví dụ bên dưới, ta có thể dùng hàm VLOOKUP và HLOOKUP để dò tìm giá trị cho cột Tên hãng và hàng Tên hãng trong 2 bảng màu vàng từ 2 bảng dữ liệu màu xanh.
Nếu thứ tự bảng màu xanh đảo ngược lại, bạn không thể sử dụng hàm VLOOKUP và HLOOKUP nữa.
Như vậy, nếu bạn cần dò tìm giá trị theo chiều ngược lại, hàm INDEX kết hợp với hàm MATCH sẽ giúp bạn giải quyết vấn đề này.
Ngoài ra, các lợi ích khác khi dùng hàm INDEX kết hợp với hàm MATCH so với hàm VLOOKUP, HLOOKUP đó là:
- Chèn hay xóa cột một cách an toàn: Vì hàm MATCH giúp xác định rõ cột chứa giá trị cần tìm một cách trực tiếp
- Không đặt giới hạn cho kích thước dữ liệu cần tìm: Với hàm VLOOKUP và HLOOKUP thì giá trị cần tìm kiếm không được vượt quá 255 ký tự.
- Tốc độ xử lý nhanh hơn: Việc sử dụng hàm INDEX kết hợp hàm MATCH sẽ tăng tốc độ xử lý nhanh hơn từ 10% đến 15% trong bảng tính lớn.
Xem thêm: Hàm SUMIF
2Hàm INDEX và hàm MATCH
Công thức hàm INDEX
Hàm INDEX trả về giá trị theo vị trí của hàng và cột trong một bảng hoặc một phạm vi.
=INDEX(array;row_num;column_num)
Trong đó:
- array: vùng ô hoặc một hàng số mảng nào đó;
- row_num: chọn hàng trong mảng từ đó trả về một giá trị;
- column: chọn cột trong mảng từ đó trả về một giá trị.
Công thức hàm MATCH
Hàm MATCH trả về vị trí tương đối của một giá trị trong một phạm vi.
=MATCH(lookup_value,lookup_array,match_type)
Trong đó:
- Lookup_value: giá trị tìm kiếm trong mảng Lookup_array.
- Lookup_array: mảng hay phạm vị ô được tìm kiếm.
- Match_type: kiểu tìm kiếm.
3Ví dụ hàm INDEX kết hợp hàm MATCH
Giả sử ta có đơn giá theo Sản phẩm và Hãng sản xuất trong Bảng 2 (B15:E18). Dựa theo bảng 2, ta cần điền đơn giá vào Bảng 1 (B3:D12).
Cách ta sử dụng hàm INDEX kết hợp hàm MATCH để dò tìm giá trị cho ô D4 như sau:
1. Sử dụng hàm MATCH để xác định vị trí hàng tương ứng của sản phẩm CDRom trong phạm vi B15:B18 của Bảng 2:
=MATCH(B4,$B$15:$B$18,0)
Kết quả 4 tương ứng với hàng số 4 trong Bảng 2.
2. Sử dụng hàm MATCH để xác định vị trí cột tương ứng của hãng sản xuất Samsung trong phạm vi B15:E15:
=MATCH(C4,$B$15:$E$15,0)
Kết quả 2 tương ứng với cột số 2 trong Bảng 2.
3. Sử dụng hàm INDEX kết hợp với 2 hàm MATCH ở trên để trả về giá trị dựa theo hàng và cột trong Bảng 2:
=INDEX($B$15:$E$18,MATCH(B4,$B$15:$B$18,0),MATCH(C4,$B$15:$E$15,0))
Kết quả trả về giá trị tương ứng của hàng 4 (Hàng Mouse), cột 2 (Cột Samsung) trong Bảng 2 là 5.
Sau đó, ta copy công thức cho các ô khác để hoàn thành.
4Một số lưu ý khi sử dụng
Như đã đề cập ở phần 1, vì hàm VLOOKUP, HLOOKUP có hạn chế của nó nên nếu giá trị trả về nằm ở cột bên trái hoặc cột ở trên so với giá trị dò tìm thì 2 công thức sẽ không hoạt động. Hàm INDEX kết hợp hàm MATCH sẽ linh hoạt hơn rất nhiều khi không quan tâm về vị trí các cột giá trị trả về ở đâu.
Trong ví dụ ở dưới, ta có bảng 1 liệt kê thủ đô của các nước và cần điền dữ liệu tương ứng ở bảng 2. Trường hợp này ta không thể sử dụng hàm VLOOKUP nhưng hàm INDEX kết hợp hàm MATCH sẽ giải quyết được điều này.
=INDEX($B$3:$C$12,MATCH(E4,$C$3:$C$12,0),1)
5Một số lỗi thường gặp
Trong lúc sử dụng hàm INDEX kết hợp với hàm MATCH, bạn sẽ gặp lỗi #NA và lỗi #VALUE xuất hiện. Các nguyên nhân gây ra lỗi này thường là:
Lỗi #NA
- Khi hàm MATCH không tìm thấy giá trị trong phạm vi dò tìm, nó trả về giá trị #N/A.
- Khi bạn sử dụng một phạm vi trong INDEX, MATCH thay vì một giá trị, bạn cần nhấn Ctrl+Shift+Enter để chuyển về công thức mảng.
- Khi bạn sử dụng MATCH, cần có sự nhất quán giữa giá trị trong đối số match_type và thứ tự sắp xếp các giá trị trong phạm vi dò tìm, nếu không bạn sẽ gặp giá trị #N/A.
Lỗi #VALUE
Nếu bạn đang sử dụng chỉ mục dưới dạng công thức mảng cùng với kết quả phù hợp để có thể dò tìm một giá trị, bạn sẽ cần chuyển công thức của bạn thành công thức mảng bằng cách nhấn Ctrl+Shift+Enter, nếu không thì bạn sẽ thấy lỗi #VALUE! xuất hiện.
Trên đây là bài viết chia sẻ cho bạn cách dùng hàm INDEX kết hợp với hàm MATCH trong Excel. Mong rằng những thông tin này đã giúp ích cho bạn trong việc hiểu và kết hợp sử dụng 2 hàm này cho công việc của mình.