Chào mọi người,
Dạo này mình có làm việc với Google Sheets nhiều, và nhận thấy một nhu cầu khá phổ biến là làm sao để lấy ra một danh sách duy nhất (unique list) dựa trên một hoặc nhiều điều kiện.
Ví dụ, mình có một bảng dữ liệu bán hàng bao gồm: Ngày, Sản phẩm, Khách hàng, Số lượng, Thành tiền. Bây giờ mình muốn lấy ra danh sách tất cả các Khách hàng đã mua Sản phẩm A trong Tháng 1.
Trước đây, mình hay làm thủ công bằng cách lọc, copy rồi paste vào một sheet khác, sau đó dùng chức năng Remove Duplicates. Tuy nhiên, cách này tốn thời gian và dễ sai sót nếu dữ liệu thay đổi.
Sau khi tìm hiểu, mình phát hiện ra Google Sheets có hàm rất mạnh mẽ để giải quyết vấn đề này mà không cần Apps Script phức tạp, đó là sự kết hợp của FILTER và UNIQUE.
Cụ thể, để lấy danh sách khách hàng duy nhất đã mua Sản phẩm A trong Tháng 1, mình sẽ dùng công thức sau:
=UNIQUE(FILTER(TenCotKhachHang, TenCotSanPham="Sản phẩm A", TenCotThang=1))Trong đó:
TenCotKhachHanglà cột chứa tên khách hàng.TenCotSanPhamlà cột chứa tên sản phẩm.TenCotThanglà cột chứa tháng (giả sử bạn đã có cột này hoặc có thể trích xuất ra từ cột Ngày).
Hàm FILTER sẽ lọc ra tất cả các dòng thỏa mãn điều kiện về Sản phẩm và Tháng, sau đó hàm UNIQUE sẽ loại bỏ các giá trị trùng lặp, trả về một danh sách duy nhất.
Cách này rất nhanh chóng và tự động cập nhật khi dữ liệu gốc thay đổi. Mọi người thử áp dụng xem sao nhé!
Có ai có cách nào khác hay hơn hoặc gặp khó khăn gì với công thức này thì cùng thảo luận nha!