Chào mọi người,
Mình vừa gặp phải một lỗi khá khó chịu khi sử dụng hàm FILTER trong Excel phiên bản mới, đó là lỗi #SPILL!. Cụ thể là khi mình cố gắng lọc ra một danh sách các mục dựa trên nhiều điều kiện phức tạp, mảng kết quả trả về lại lớn hơn phạm vi ô trống có sẵn để hiển thị.
Ví dụ, mình có một bảng dữ liệu lớn và muốn lọc ra tất cả các giao dịch của một nhân viên trong một quý nhất định. Khi dùng hàm FILTER với các điều kiện này, kết quả trả về là một danh sách khá dài. Tuy nhiên, ngay bên dưới vùng dữ liệu gốc, mình lại có một vài ô đã bị điền sẵn công thức khác hoặc bị khóa, dẫn đến việc mảng kết quả của FILTER không thể “tràn” ra hết.
Nguyên nhân chính của lỗi #SPILL! này là do:
- Có dữ liệu hoặc định dạng khác trong các ô mà kết quả của hàm mong muốn tràn vào.
- Có một bảng hoặc mảng động khác đã được tạo ra trong phạm vi tràn.
- Phạm vi tràn ra ngoài bảng tính Excel.
Cách khắc phục mình đã thử và thấy hiệu quả:
- Dọn dẹp vùng dữ liệu xung quanh: Đảm bảo các ô xung quanh nơi bạn mong đợi kết quả trả về là hoàn toàn trống. Xóa hết dữ liệu, công thức hoặc định dạng không cần thiết.
- Di chuyển công thức hoặc kết quả khác: Nếu có các công thức hoặc bảng khác nằm trong đường đi “tràn” của
FILTER, hãy di chuyển chúng sang một vị trí khác không bị ảnh hưởng. - Sử dụng
IFERRORđể ẩn lỗi (tùy trường hợp): Nếu bạn chỉ muốn hiển thị kết quả khi có thể, còn lại thì để trống, bạn có thể bọc hàmFILTERcủa mình trongIFERROR. Ví dụ:=IFERROR(FILTER(A1:A100, B1:B100=