Hàm Index và Match trong Excel: Tìm kiếm dữ liệu nâng cao
Trong bài này chúng ta sẽ học hai hàm Index và Match trong Excel, đây là hàm tra cứu dữ liệu nâng cao được sử dụng khá nhiều trong Excel, thậm chí nó còn hay hơn cả hàm Vlookup và Hlookup.
1. Hàm Match trong Excel
Trong Excel, hàm match có công dụng tìm kiếm các cell nằm trên một hàng hoặc trên một cột, sau đó trả về vị trí xuất hiện. Nếu không tìm thấy thì nó trả về #N/A
.
Công thức của nó như sau:
=MATCH(lookup_value, lookup_array, [match_type])
Trong đó:
Bài viết này được đăng tại [free tuts .net]
lookup_value
là giá trị cần tìmlookup_array
là danh sách dãy ô cần tìmmatch_type
là cách tìm:- 1 là tìm bé hơn
- 0 là tìm bằng
- -1 là tìm lớn hơn
Ví dụ: Tìm vị trí xuất hiện của cột "Mã khoa cần tìm" trong danh sách Mã khoa.
Bước 1: Viết công thức cho ô đầu tiên (B9)
- Ta sẽ tìm cho ô đầu tiên đó là B9.
- Dãy cần tìm là C3:C6.
- Kết quả trả về trong vùng mình đã bôi đỏ.
Áp dụng cú pháp trên ta được công thức như sau:
=MATCH(B9,$C$3:$C$6,0)
Bước 2: Nhập công thức trên, sau đó nhấn Enter sẽ nhận được kết quả.
Bước 3: Dùng chuột kéo công thức xuống các ô còn lại phía dưới.
Như ta thấy, dòng thứ 2 không tìm thấy nên nó trả về giá trị #N/A
.
2. Hàm Index trong Excel
Hàm Index trong Excel sẽ trả về giá trị của một ô trong một danh sách. Vị trí được xác định dựa vào số thứ tự của ô đó nằm trong danh sách, ô đầu tiên là 1.
Cú pháp của hàm Index như sau:
=INDEX(array, row_num, [column_num])
Trong đó:
array
là danh sách cần tìmcolumn_num
là cột cần lấy, mặc định là cột đầu tiênrow_num
là số thứ tự cần lấy nằm trong cột cần lấy, bắt đầu danh sách là 1.
Ví dụ: Lấy tên khoa tại vị trí thứ 3 (B9), nằm trong danh sách C3:C6, in tên khoa trong ô C9.
=INDEX(C3:C6, B9, 0)
Giả sử mình muốn lấy số thứ tự của cột kế bên (tức giá trị ô D3) thì làm thế nào?
Lúc này ta phải thay đổi danh sách thành C3:D6 và chỉ số column_num = 2.
=INDEX(C3:D6, B9, 2)
3. Kết hợp hàm Match và Index để tìm kiếm nâng cao
Ta thấy, công dụng của hàm match là trả về vị trí xuất hiện, còn hàm index lại lấy giá trị của vị trí đó. Vì vậy ta có thể kết hợp hai hàm này để tìm kiếm nâng cao, thậm chí còn hay hơn cả hàm vlookup và hlookup.
Lưu ý:
- Hàm
Match
chỉ nhận vào dãy ô nằm trên một hàng hoặc một cột - Hàm
Index
thì có thể nhận vào một dãy ô gồm nhiều hàng và nhiều cột
Ví dụ: Cho bảng dữ liệu như sau.
Yêu cầu: hãy lấy học lực của sinh viên có mã là SV3 nằm trong danh sách B2:E6.
Để tiện cho việc thay đổi thì ở bảng thứ hai mình có lưu trữ mã sinh viên cần lấy nằm trong ô B9, và kết quả sẽ in ra ở ô C9.
Ý tưởng:
- Dùng hàm
match
để tìm vị trí xuất hiện của mã sinh viên SV3 nằm trong dãy C. - Có được vị trí rồi thì dùng hàm
Index
để đối chiếu qua dãy E để tìm học lực.
Bài giải:
=INDEX(B3:E6, MATCH(B9, C3:C6, 0), 4)
Trên là cách sử dụng hàm Index và Match trong Excel. Sự kết hợp của hai hàm này rất hữu dụng, có thể tìm kiếm một cách thông minh và chính xác.