Chào các bạn,
Mình là một người dùng Excel lâu năm và thường xuyên gặp phải các vấn đề liên quan đến công thức. Gần đây, mình có tình cờ phát hiện ra một lỗi khá khó chịu nhưng cũng rất thú vị là lỗi #SPILL!. Lỗi này thường xuất hiện khi bạn sử dụng các hàm mảng động (dynamic array functions) như FILTER, UNIQUE, SORT, SEQUENCE,... và kết quả trả về của công thức cần nhiều hơn một ô để hiển thị, nhưng lại có dữ liệu hoặc chướng ngại vật ở các ô liền kề.
Sau một thời gian mày mò và tìm hiểu, mình đã đúc kết ra một vài cách để xử lý lỗi này một cách hiệu quả:
- Xóa dữ liệu hoặc chướng ngại vật: Đây là cách đơn giản nhất. Hãy kiểm tra các ô xung quanh ô chứa công thức mảng động của bạn. Nếu có bất kỳ dữ liệu nào (kể cả khoảng trắng) hoặc các đối tượng khác (hình ảnh, biểu đồ,...), hãy xóa chúng đi.
- Thay đổi kích thước vùng kết quả: Đôi khi, bạn có thể cần điều chỉnh lại kích thước của vùng dữ liệu mà hàm của bạn đang thao tác để kết quả trả về vừa vặn trong phạm vi cho phép.
- Sử dụng hàm IFERROR để bọc công thức: Nếu bạn không muốn người dùng thấy thông báo lỗi khó chịu, bạn có thể sử dụng hàm
IFERRORđể trả về một giá trị khác (ví dụ: chuỗi rỗng""hoặc số0) khi lỗi #SPILL! xảy ra. Ví dụ:=IFERROR(FILTER(A1:A10,B1:B10="A"), "") - Kiểm tra lại tham chiếu ô: Đảm bảo rằng các tham chiếu ô trong công thức của bạn là chính xác và không bị chồng chéo lên nhau một cách không mong muốn.
Mình hy vọng những chia sẻ này sẽ giúp ích cho các bạn khi gặp phải lỗi #SPILL!. Nếu có cách nào khác hiệu quả hơn, mọi người cùng thảo luận nhé!