II. CÔNG THỨC VÀ HÀM TRONG EXCEL
f. Nhóm hàm tìm kiếm và tra cứu:
Nhóm hàm tìm kiếm cho phép tìm kiếm theo khóa và trả về một thông tin liên quan đến khoá đó.
* Hàm VLOOKUP
Cấu trúc hàm:
Hàm VLOOKUP (lookup_value,table_array,col_index_num, range_lookup)
Chứcc năng : Hàm VLOOKUP tìm trên cột bên trái của vùng
table_array cho đến khi thấy lookup_value thì dò sang ngang lấy ô nằm ở cột được chỉ ra bởi col_index_num.
- Lookup_value là giá trị tìm kiếm trong hàng thứ nhất của bảng table_array
- Table_array là một bảng cần tìm thông tin trong đó. Dùng một tham chiếu đến một vùng hoặc tên vùng.
- Col_index_num là số thứ tự của cột trong bảng table_array tính từ trái qua phải để trả về giá trị tìm được.
- Range_lookup giá trị logic xác định có dò tìm một cách chính xác hay không. Nếu nó là TRUE (1) hoặc bỏ qua, tìm gần đúng (nếu không tìm được chính xác, nó trả về giá trị lớn nhất tiếp theo mà nhỏ hơn lookup_value). Nếu bằng FALES (0), VLOOKUP sẽ tìm chính xác. Nếu không tìm thấy nó cho lỗi #N/A
Ví dụ bạn hãy xem hình dưới đây:
Table_arr ay
Lookup_value
Col_index =2
* Hàm HLOOKUP.
Cấu trúc lệnh:
Hàm HLOOKUP (lookup_value,table_array,row_index_num, range_lookup)
Chức năng :Hàm HOOKUP tìm trên hàng đầu của vùng table_array
cho đến khi thấy lookup_value thì dò xuống đến hàng chỉ ra bởi
row_index_num. Tham số:
- Lookup_value là giá trị tìm kiếm trong hàng thứ nhất của bảng table_array
- Table_array là một bảng cần tìm thông tin trong đó. Dùng một tham chiếu đến một vùng hoặc tên vùng.
- Row_index_num là số thứ tự của hàng trong bảng kể từ trên xuống dưới của table_array để trả về giá trị tìm được. Nếu row_index_num bằng 1 thì là hàng đầu tiên table_array, row_index_num bằng 2 thì là hàng thứ hai trong table_array và...
- Range_lookup giá trị logic xác định có dò tìm một cách chính xác hay không. Nếu nó là TRUE (1) hoặc bỏ qua, tìm gần đúng (nếu không tìm được chính xác, nó trả về giá trị lớn nhất tiếp theo mà nhỏ hơn lookup_value). Nếu bằng FALSE (0), HLOOKUP sẽ tìm chính xác. Nếu không tìm thấy nó cho lỗi #N/A
Ví dụ bạn hãy xem hình dưới đây:
Table_ar ray
Lookup_value
row_inde x =2
Chú ý: Đối với Table_array của cả hai hàm VLOOKP và HLOOKUP đều phải lấy địa chỉ tuyệt đối (bạn hãy xem ví dụ trên hình).
* Hàm INDEX .
Chức năng: Cho tham chiếu tới hay giá trị của một ô hay một mảng.
Cú pháp: có hai dạng
= INDEX(array,row_num,column_num)
= INDEX(reference, row_num, column_num, area_num)
Dạng đầu trả về trị của một ô hay mảng các giá trị của các ô. Dạng hai trả về tham chiếu tới một ô hay mảng các ô.
Tham số:
- array là địa chỉ mảng
- row_num số thứ tự của hàng - column_num số thứ tự của cột. - reference là địa chỉ vùng lớn
- area_num là số thứ tự của vùng con trong vùng lớn
- Kết quả: trả về gía trị của ô, mảng trị cho dạng 1; tham chiếu ô, mảng tham chiếu cho dạng 2.
Ví dụ: = INDEX({2,3,4;10,11,12},2,1) =10.
Ví dụ sau trả về tham chiếu tới ô C5, nằm ở hàng thứ hai và cột thứ ba trong vùng thứ nhất.
* Hàm MATCH.
Cú pháp: MATCH(lookup_value, lookup_array, match_type)
Chức năng : trả về vị trí tương đối của lookup_value trong
lookup_array. Kiểu tìm do match_type chi phối. Giá trị Lookup_value có thể là số, chuỗi, giá trị logic hay địa chỉ ô. MATCH trả lại vị trí của hàng hay cột trong mảng có chứa giá trị tìm thấy. Thường được sử dụng kết hợp với hàm INDEX để tra một trị trong mảng.
Các giá trị có thể nhận của Match _type:
+ 1 : giá trị lớn nhất nhỏ hơn hoặc bằng lookup_value.Lookup_array
phải được sắp xếp tăng. + 0 : Dò tìm chính xác.
+ -1 : giá trị bé nhất lớn hơn hoặc bằng lookup_value. Lookup_array
phải được sắp xếp giảm dần. Tham số:
+ Lookup_value là trị cần tìm trên mảng. + Lookup_array là mảng chứa giá trị;
+ Match_type (tuỳ chọn) là một trong các số 1, 0 hay -1 chi phối cách tìm kiếm.
Kết quả: Vị trí tương đối lookup_value trong lookup_array.