ý nghĩa hoạt động của công thức này là gì vậy các anh
6 chính là khoảng cách từ dòng đầu tiên của bảng tính đến dòng dữ liệu chúng ta cần xét điều kiện, ở ví dụ này dòng dữ liệu chúng ta cần xét thỏa mãn điều kiện bắt đầu từ ô A7 trở đi...Trừ 6 để đánh dấu dòng bắt đầu xét điều kiện trở thành dòng đầu tiên trong mảng do name DK tạo ra.
Trong trường hợp bạn chèn thêm dòng phía trên ô A7 thì công thức trong name của tôi sẽ không cho kết quả đúng nữa, vì lúc này khoảng cách từ dòng đầu tiên của bảng tính đến dòng chứa dữ liệu xét điều kiện không phải bằng 6 nữa mà là một số khác.
Để khắc phục tình trạng này bạn có thể sửa name DK thành :
Và công thức tại ô J9 thành :PHP:=IF((Sheet1!$K$5<=Sheet1!$A$7:$A$27)*(Sheet1!$A$7:$A$27<=Sheet1!$M$5),ROW(Sheet1!$A$7:$A$27)-ROW(Sheet1!$A$7)+1,"")
Bạn có thể chèn dòng thoải mái mà không cần quan tâm ta phải trừ đi bao nhiêu nữa mà vẫn cho kết quả đúng.PHP:=IF(ROWS($1:1)>COUNT(DK),"",INDEX($A$7:$H$27,SMALL(DK,ROWS($1:1)),COLUMN(A1)))
IF(ROW(1:1)>COUNT(DK),"",INDEX($A$7:$H$27,SMALL(DK,ROW(1:1)),COLUMN(B1)))