Tôi có 1 giãi pháp như sau: Ở đây đễ ý nếu ta tạo 1 công thức mãng:
=(YEAR(DS)=Sheet1!$F$6)*(MONTH(DS)=Sheet1!$G$6)
Thì dử liệu trong mãng này toàn là số 0 và 1, với những em =1 thì ứng với d/k đúng... Vậy ta sẽ có công thức MATCH như sau:
{=MATCH(1,((YEAR(DS)=$F$6)*(MONTH(DS)=$G$6)),0)}
Nếu đặt =(YEAR(DS)=Sheet1!$F$6)*(MONTH(DS)=Sheet1!$G$6) thành 1 Name, giã sử tên là DK thì lại càng ngon, ta sẽ có vị trí của cell đầu tiên trùng khớp với d/k là:
=MATCH(1,DK,0)
Và tổng số phần tử trùng khớp d/k là:
=SUM(DK)
Khỏi dùng SUMPRODUCT luôn...và nếu ko đặt name thì hàm SUM và MATCH này phải Ctrl + Shift + Enter (ở đây chỉ cần Enter)
Ngắn gọn nhỉ?
Tôi test dử liệu = 20.000 dòng, chạy cực nhanh (tất nhiên là kết hợp với OFFSET đễ tạo 1 mãng động)
Xin hỏi còn cách nào ngắn hơn nữa ko?
ANH TUẤN