Chào mọi người, dạo gần đây khi làm việc với Excel 365, mình hay gặp phải cái lỗi #SPILL! này. Lúc đầu hơi bối rối không biết nó là lỗi gì và tại sao lại xuất hiện. Sau khi tìm hiểu và thử nghiệm, mình muốn chia sẻ lại cách hiểu và khắc phục nó cho anh em nào cũng đang gặp phải.
Lỗi #SPILL! (tràn ô) xảy ra khi một công thức trả về nhiều kết quả (công thức mảng động) nhưng không đủ chỗ để hiển thị tất cả các kết quả đó.
Nguyên nhân phổ biến:
- Có dữ liệu hoặc định dạng trong các ô mà công thức dự định sẽ tràn tới.
- Giới hạn của bảng tính Excel (ví dụ: 1 triệu dòng).
- Công thức cố gắng trả về một mảng có kích thước lớn hơn kích thước của mảng đầu vào.
- Có các bảng Excel khác hoặc các ô được hợp nhất trong vùng mà công thức cần tràn tới.
Cách khắc phục:
- Dọn dẹp vùng dữ liệu: Đảm bảo các ô xung quanh nơi công thức của bạn sẽ tràn ra là trống. Xóa bất kỳ dữ liệu, khoảng trắng hoặc định dạng không cần thiết nào.
- Kiểm tra giới hạn: Nếu bạn đang cố gắng tạo ra một mảng quá lớn, hãy xem xét lại logic công thức hoặc chia nhỏ bài toán.
- Phân tách công thức: Nếu có thể, hãy chia công thức mảng lớn thành các công thức nhỏ hơn, hoặc sử dụng các hàm hỗ trợ như
FILTER,UNIQUE,SORTmột cách hợp lý. - Loại bỏ ô hợp nhất: Nếu có các ô được hợp nhất trong vùng ảnh hưởng, hãy bỏ hợp nhất chúng.
Ví dụ, nếu bạn dùng công thức =UNIQUE(A1:A10) và các ô từ B1 trở xuống đã có dữ liệu, bạn sẽ gặp lỗi #SPILL!. Để khắc phục, bạn cần xóa dữ liệu ở B1 trở xuống.
Hy vọng chia sẻ này giúp ích cho mọi người. Nếu ai có kinh nghiệm hay cách xử lý nào khác, cùng thảo luận nhé!