Chào mọi người,
Dạo này mình hay làm việc với hàm FILTER mới của Excel để trích xuất dữ liệu. Tuy nhiên, thỉnh thoảng lại gặp phải cái lỗi khó chịu mang tên #SPILL!. Lỗi này báo hiệu rằng kết quả của công thức cần nhiều hơn một ô để hiển thị, nhưng lại không có đủ ô trống.
Mình đã thử nhiều cách và đúc kết được một vài nguyên nhân và cách xử lý phổ biến cho lỗi này, hy vọng giúp ích được cho các bạn:
- Nguyên nhân 1: Có dữ liệu/kết quả khác trong các ô đích. Đơn giản là Excel không thể ghi đè lên dữ liệu có sẵn. Cách khắc phục: Xóa hết dữ liệu hoặc các công thức ở những ô mà bạn muốn kết quả của
FILTERhiển thị. - Nguyên nhân 2: Bảng kết quả bị thu hẹp. Nếu bạn đang kéo công thức
FILTERra nhiều cột hoặc nhiều hàng, mà có một phần nào đó bị giới hạn bởi các cột/hàng khác, nó cũng gây ra lỗi#SPILL!. Cách khắc phục: Đảm bảo vùng dữ liệu mà công thứcFILTERtrả về là hoàn toàn trống và có đủ không gian. - Nguyên nhân 3: Sử dụng
FILTERtrong một bảng (Table). Đôi khi, việc lồngFILTERvào một bảng Excel có thể gây ra xung đột. Cách khắc phục: Thử chuyển vùng dữ liệu thành dạng thông thường (không phải Table) rồi áp dụng lạiFILTER. Hoặc, nếu bạn muốn kết quả trả về một bảng động, hãy thử dùng các phiên bản Excel mới nhất có hỗ trợ Dynamic Arrays. - Nguyên nhân 4: Lỗi logic trong điều kiện lọc. Mặc dù ít gặp hơn, nhưng đôi khi điều kiện lọc quá phức tạp hoặc có sai sót cũng có thể dẫn đến việc kết quả không như mong đợi và gây lỗi tràn. Cách khắc phục: Kiểm tra lại từng điều kiện trong hàm
FILTER, thử tách riêng từng điều kiện để kiểm tra.
Một mẹo nhỏ là khi gặp lỗi này, hãy thử xóa công thức cũ và nhập lại, đôi khi Excel sẽ tự nhận diện đúng vùng cần trả về. Hoặc bạn có thể chọn thủ công vùng trả về cho công thức FILTER nếu phiên bản Excel của bạn hỗ trợ.
Có bạn nào có kinh nghiệm hay cách xử lý lỗi #SPILL! này hiệu quả hơn không, chia sẻ thêm cho mọi người cùng học hỏi nhé!