htin1997
Dậm chân tại chỗ là đi lùi.
- Tham gia
- 12/10/20
- Bài viết
- 317
- Được thích
- 272
Có 2 cách làm:=index(công thức đã có, {1;2;3})
Có 2 cách làm:
1. như công thức trên thì cả cụm thành ra một mảng. Nhưng lợi ở chỗ Filter chỉ tính 1 lần.
2. nếu dùng công thức Index(Công thức đã có, Row($a1)) để kéo xuống thì các ô độc lập với nhau. Nhưng bất lợi ở chỗ mỗi ô là tính lại hàm Filter.
Thế nó không #SPILL khi bạn còn 2 ô sao?Họ đang dùng Excel365 đó anh. Nên công thức mảng không cần phải nhập vào một vùng đâu, chỉ cần nhập công thức vào 1 ô thôi.
Thế nó không #SPILL khi bạn còn 2 ô sao?
Nếu công thức mảng ở 365 ra kết quả n ô, nhưng chỉ có ít hơn n ô trống, sẽ bị lỗi #SPILL.Thế nó không #SPILL khi bạn còn 2 ô sao?
Nó vẫn là công thức trả về mảng thôi anh. Nên công thức đó sẽ trả về #SPILL nếu vùng trả kết quả đã có gì đó.
Nhưng giải quyết được yêu cầu đề ra là chủ động lựa chọn số lượng kết quả trả về.
Nếu công thức mảng ở 365 ra kết quả n ô, nhưng chỉ có ít hơn n ô trống, sẽ bị lỗi #SPILL.
Kết quả ở đây là kết quả cuối cùng (3 ô) chứ không phải n ô như ban đầu, nên chỉ cần 3 ô trống. Ít hơn 3 vẫn lỗi
Tôi không biết tác giả muốn lấy 3 dòng đầu với mục đích gì, nhưng hiển thị top 5, top 10 trên báo cáo là bình thườngTrong tôn chỉ làm việc của tôi, tin tức chỉ nhìn thấy một nửa là tin tức không đáng tin cậy.
Top N có sự sắp xếp, phân hạng.Tôi không biết tác giả muốn lấy 3 dòng đầu với mục đích gì, nhưng hiển thị top 5, top 10 trên báo cáo là bình thường
Tôi hiểu ý anh, chỉ phản biện những ý nhỏ:Top N có sự sắp xếp, phân hạng.
Filter không ngầm chứa sự sắp xếp - trừ phi ta thêm phần sắp xếp, phân hạng.
Nguyên tắc cũng giống như trình bày kết quả của SQL Query (hay bất cứ một query chuẩn nào). Nếu không sắp xếp thì người đọc phải hiểu là mọi dòng có ưu tiên ngang nhau.