Trong thực tế, có nhiều trường hợp người dùng cần lập công thức tìm kiếm, trích xuất dữ liệu theo điều kiện nhưng kết quả trả về nhiều dòng như:
- Lập phiếu: Phiếu nhập, xuất, bán hàng, mua hàng,... => Tìm kiếm theo số phiếu nhưng trả về nhiều dòng
- Báo cáo chi tiết: Thẻ kho, Sổ quỹ,...=> Tìm kiếm theo mã và theo ngày tháng với kết quả nhiều dòng
- Trích lọc khác: Trích lọc sinh nhật trong tháng, danh sách tăng giảm,...
...
Bài toán này nếu dùng VLOOKUP thì phải qua cột phụ hoặc kết hợp với hàm CHOOSE, hoặc tạo tham chiếu cột phụ kết hợp với INDEX, MATCH...
Công thức dưới đây sẽ áp dụng không thông qua cột phụ
(Bảng dữ liệu mẫu phục vụ các ví dụ phía dưới)
HÀM INDEX KẾT HỢP CÙNG AGGREGATE VÀ ROW TRẢ VỀ KẾT QUẢ NHIỀU DÒNG(Áp dụng từ Office 2010 trở lên)
Ví dụ tình huống: Tìm kiếm dữ liệu theo số chứng từ. Điều kiện Số chứng từ tại ô J1Công thức lấy ra các dòng ngày của theo số chứng từ:
=IFERROR(INDEX($A$3:$A$15,AGGREGATE(15,6,ROW($1:$15)/($B$3:$B$15=$J$1),ROW(1:1))),"")
Trong đó:
- A3:A15 là cột ngày tương ứng của bảng dữ liệu. Khi đó các cột Diễn giải, mã hàng, số lượng,...thay bằng tham chiếu các cột tương ứng bên bảng dữ liệu nguồn
- ROW($1:$15) tham chiếu số dòng từ bảng dữ liệu (luôn bắt đầu từ dòng 1 tức $1:..)
- ($B$3:$B$15=$J$1) là mảng điều kiện: Cột số c.từ của bảng dữ liệu nguồn so sánh với ô J1 điều kiện
=> Thực hiện kéo công thức cho nhiều dòng (có thể kéo thừa dòng chờ)
DÙNG HÀM FILTER TRONG OFFICE 365 TRẢ VỀ KẾT QUẢ NHIỀU DÒNG
Công thức lấy ra dữ liệu các cột theo số chứng từ:
=FILTER(A3:G15,B3:B15=J1)
Hàm Filter trong Office 365 trả về mảng giá trị nên không phải kéo công thức
Liên hệ tư vấn khóa học Excel cho người đi làm hoặc đặt hàng đào tạo tại doanh nghiệp
{Đt+Zalo} - 038 696 1334
Cảm ơn A ạ!
Trả lờiXóa