Menu

App script quản lý rủi ro cho cá nhân & doanh nghiệp với báo cáo chuẩn định dạng biểu đồ

Tổng hợp các cách xử lý lỗi #SPILL! hiệu quả

Giang Toàn Vạn 05/04/2026 03:48 600 lượt xem 3 trả lời

Chào mọi người,

Dạo gần đây mình thấy có nhiều bạn gặp phải lỗi #SPILL! khi sử dụng các hàm mảng động mới trong Excel (như FILTER, SORT, UNIQUE...). Lỗi này xảy ra khi hàm trả về nhiều kết quả nhưng không đủ không gian để hiển thị. Hôm nay mình muốn chia sẻ một số kinh nghiệm và cách khắc phục lỗi này để mọi người tham khảo, hy vọng sẽ hữu ích cho công việc.

Nguyên nhân gây lỗi #SPILL!

  • Vùng dữ liệu không đủ trống: Đây là nguyên nhân phổ biến nhất. Excel không thể 'tràn' kết quả ra các ô đã có dữ liệu hoặc bị chặn bởi một bảng/đối tượng khác.
  • Bảng Excel (Excel Table) bị chặn: Nếu vùng trả về kết quả nằm trong hoặc bị chặn bởi một bảng Excel khác, bạn cũng sẽ gặp lỗi này.
  • Hàm trả về nhiều kết quả không mong muốn: Đôi khi, logic của hàm lại trả về nhiều kết quả hơn bạn nghĩ, dẫn đến tràn ô.

Cách khắc phục lỗi #SPILL!

  1. Dọn dẹp vùng dữ liệu: Đảm bảo vùng mà hàm mảng động của bạn sẽ trả về kết quả là hoàn toàn trống. Xóa hết dữ liệu hoặc các đối tượng không cần thiết trong vùng đó.
  2. Di chuyển hàm hoặc bảng: Nếu có thể, hãy di chuyển hàm mảng động của bạn đến một vị trí khác trên trang tính hoặc di chuyển bảng Excel bị chặn ra khỏi vùng trả về.
  3. Sử dụng $ để cố định vùng: Trong một số trường hợp, việc sử dụng ký hiệu $ để cố định các tham chiếu ô có thể giúp Excel xác định rõ hơn vùng trả về, nhưng cần cẩn thận khi áp dụng.
  4. Kiểm tra lại logic hàm: Rà soát lại công thức của bạn. Liệu có thể tối ưu hóa để hàm chỉ trả về kết quả cần thiết, tránh tràn không? Ví dụ, với hàm FILTER, bạn có thể cần xem lại điều kiện lọc.
  5. Sử dụng IFERROR hoặc IFNA (ít hiệu quả với #SPILL!): Mặc dù các hàm này thường dùng để xử lý lỗi, chúng ít hiệu quả trực tiếp với lỗi #SPILL! vì #SPILL! là lỗi tràn, không phải lỗi giá trị. Tuy nhiên, bạn có thể lồng chúng để xử lý các lỗi con bên trong hàm mảng động nếu có.

Hy vọng những chia sẻ trên sẽ giúp ích cho các bạn. 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é!

3

Rất cảm ơn bạn đã tổng hợp các cách xử lý lỗi #SPILL! cực kỳ chi tiết. Mình cũng thường xuyên "chiến đấu" với lỗi này, nhất là khi dùng FILTER để trích xuất dữ liệu theo nhiều điều kiện.

Ngoài các nguyên nhân bạn đã đề cập, đôi khi mình còn gặp trường hợp lỗi #SPILL! xuất hiện do bảng tính có chứa các bảng được định dạng (Tables) hoặc các đối tượng khác (như biểu đồ, hình ảnh) nằm chồng lên vùng dữ liệu mà hàm mảng động muốn tràn kết quả ra.

Bạn đã bao giờ gặp tình huống này chưa? Có cách nào xử lý nhanh gọn khi có quá nhiều bảng/đối tượng không?

5

Cảm ơn bạn đã chia sẻ bài viết rất hữu ích về lỗi #SPILL! này. Mình cũng hay gặp tình huống này, đặc biệt là khi dùng hàm FILTER để lọc dữ liệu. Đôi khi chỉ cần xóa bớt vài ô bị khóa hoặc có dữ liệu là lỗi tự biến mất.

Ngoài các nguyên nhân bạn đã nêu, mình thấy đôi khi lỗi còn do bảng tính có ẩn hàng/cột hoặc có các đối tượng đồ họa che mất vùng dữ liệu cũng gây ra tình trạng tương tự. Có bạn nào gặp trường hợp đó chưa?

4

Lỗi #SPILL! này đúng là "ám ảnh" thật ạ, nhất là khi đang làm gấp. Mình cũng từng gặp tình trạng vùng dữ liệu không đủ trống, nhưng đôi khi chỉ cần xóa đi vài ô có dữ liệu "vô tri" là xong.

Mình có một thắc mắc nhỏ, nếu vùng dữ liệu bên cạnh đã có công thức khác mà mình muốn hàm mảng tràn sang thì Excel có xử lý được không, hay bắt buộc phải trống hoàn toàn ạ? Mong bạn giải đáp thêm ạ!

4

Bạn cần đăng nhập để trả lời chủ đề này.

Đăng nhập Đăng ký