Tìm kiếm với 3 giá trị dò tìm trở lên

Các ví dụ dưới đây sẽ hướng dẫn cách tra cứu dữ liệu trong bảng khi có 3 giá trị cần dò tìm trở lên.

Lưu ý: Tất cả mẫu data sử dụng trong bài đều có trong file đính kèm

Ví dụ 1: 

Bảng A5:F14 là bảng chứa số liệu kinh doanh của các vùng và chi nhánh qua các năm, bảng A1:C2 là các thông tin cần cần tra cứu.

Vì có tới 3 tiêu chí để tìm kiếm nên chúng ta sẽ gặp khó khăn với việc sử dụng hàm INDEX hay VLOOKUP thông thường, tuy nhiên vấn đề này có thể xử lý bằng việc sử dụng công thức mảng như sau.

Bước 1: Tại ô D2, nhập câu lệnh =INDEX(C6:F14,MATCH(A2&B2,A6:A14&B6:B14,0),MATCH(C2,C5:F5,0))

Bước 2: Vì đây là công thức mảng nên giữ Ctrl + Shift và ấn Enter. Kết quả là trong năm 2013, chi nhánh Hà Nội của vùng 1 có số lượng bán là 19070

Câu lệnh ở trên có khác gì so với các câu lệnh index thông thường? Đó là việc sử dụng đoạn công thức mảng MATCH(A2&B2,A6:A14&B6:B14,0).  Chúng ta sẽ phân tích câu lệnh để hiểu tại sao nó lại đưa ra kết quả chính xác

–  Bôi đen phần A2&B2 trong câu lệnh, ấn F9 nhận được giá trị là “1Hà Nội”

–  Tiếp tục bôi đen phần A6:A14&B6:B14, nhấn F9

Điều này có nghĩa là  thay vì tìm từng giá trị  A2 và B2 thì câu lệnh sẽ tìm kiếm 1 giá trị gộp là A2&B2 (“1Hà Nội”)  trong 1 mảng lớn hơn là A6:A14&B6:B14, như 2 hình trên có thể thấy kết quả sẽ trả ra là 1. Câu lệnh ở ô D2 tương đương với câu =INDEX(C6:H14, 1, 5)

Ví dụ 2:

Ở ví dụ trên các giá trị năm để tìm kiếm nằm trong các cột khác nhau, vậy nếu chúng cùng nằm trong 1 cột, như bảng A8:D24 như hình dưới, câu lệnh INDEX có còn sử dụng được không? Câu trả lời là có, ngoài ra với trường hợp này chúng ta còn có thể sử dụng thêm 2 loại câu lệnh nữa là SUMIFS và DGET.

–  Dùng hàm INDEX:

Nhập câu lệnh =INDEX(D9:D24,MATCH(A2&B2&C2,A9:A24&B9:B24&C9:C24,0)) ấn Ctrl + Shift + Enter

Lệnh MATCH(A2&B2&C2,A9:A24&B9:B24&C9:C24,0)  sẽ tìm kiếm số thứ tự của dòng trong vùng D9:D24 thỏa mãn ba điều kiện A2&B2&C2 sau đó trả ra kết quả cần tìm

 

–  Dùng hàm SUMIFS:

Nhập câu lệnh =SUMIFS(D9:D24,A9:A24,A2,B9:B24,B2,C9:C24,C2), click OK ta sẽ nhận được kết quả

 

– Dùng hàm DGET:

Nhập câu lệnh =DGET(A8:D24,D8,A1:C2), click OK. Trong đó:

  •  A8:D24: vùng dữ liệu cần tìm kiếm
  • D8: Tên cột cần lấy (ở đây là cột “Doanh số”)
  • A1:C2: vùng sử dụng làm giá trị tìm kiếm (tên cột ở vùng này bắt buộc phải giống với tên cột ở vùng dữ liệu cần tìm kiếm)

Hai hàm SUMIFS và DGET tỏ ra hiệu quả và đơn giản hơn rất nhiều so với việc sử dụng hàm INDEX trong VD này, nhưng nếu quay trở lại VD trên thì 2 hàm này lại không sử dụng được.

 

Với trường hợp 4,5 hay nhiều hơn nữa số giá trị dò tìm chúng ta có thể làm hoàn toàn tương tự. Để thực hành và xem thêm 1 số VD , các bạn có thể download file mẫu đính kèm.

Download Attachments

Comments ( 4 )

  1. / ReplyVan Duc
    Cho em hỏi là em làm lệnh như vậy nhưng khi dùng chuột kéo xuống lại báo lỗi #REF! là sao ạ
    • / ReplyKhoa
      Su dung phim $ de khoa dieu kien tim kiem nhe ban.
  2. / ReplyBùi Văn Kiệt
    trên trqng web www.link4u.vn có giới thiệu hàm Vlookup4u cho Bạn tìm kiếm với 10 điều kiện.
  3. / ReplyAnh Tuan Vu
    Cho mình hỏi chút xíu Bảng giống của bạn. Mình gõ =MATCH(A2&B2;A6&B6;0) Kết quả báo lỗi #VALUE!

Gửi nhận xét