Chào mọi người,
Dạo này mình đang làm việc với một file Google Sheets khá lớn, và gặp phải một vấn đề khá khó chịu. Cụ thể là mình muốn lấy giá trị ô đầu tiên thỏa mãn một điều kiện nào đó. Ví dụ, mình có danh sách các sản phẩm và số lượng tồn kho, mình muốn tìm số lượng tồn kho của sản phẩm 'Bàn phím' LẦN ĐẦU TIÊN xuất hiện trong danh sách.
Mình đã thử dùng các hàm như VLOOKUP nhưng nó chỉ lấy giá trị của hàng đầu tiên tìm thấy, không phải là ô đầu tiên thỏa mãn điều kiện.
Mình đã mày mò và tìm ra một cách kết hợp khá hay ho giữa FILTER và INDEX. Cụ thể:
=INDEX(FILTER(Cột_chứa_giá_trị, Cột_điều_kiện = Giá_trị_cần_tìm), 1)Trong đó:
Cột_chứa_giá_trị: Là cột chứa dữ liệu bạn muốn lấy (ví dụ: cột số lượng tồn kho).Cột_điều_kiện: Là cột chứa điều kiện bạn muốn kiểm tra (ví dụ: cột tên sản phẩm).Giá_trị_cần_tìm: Là giá trị bạn muốn tìm (ví dụ: "Bàn phím").
Hàm FILTER sẽ trả về một mảng chứa tất cả các giá trị trong Cột_chứa_giá_trị mà thỏa mãn điều kiện. Sau đó, INDEX(..., 1) sẽ lấy ra phần tử đầu tiên từ mảng kết quả đó.
Cách này rất hiệu quả và mình nghĩ nó hữu ích cho nhiều bạn đang gặp tình huống tương tự. Mọi người có cách nào khác hay hơn thì chia sẻ thêm nhé!