Menu

Khắc phục lỗi #SPILL! với Dynamic Arrays - Kinh nghiệm cá nhân

Tôn Nhân Quỳnh 06/06/2026 05:59 457 lượt xem 2 trả lời

Chào các anh em trong diễn đàn Sheet & Excel,

Dạo gần đây mình có làm việc nhiều với các hàm mảng động (Dynamic Arrays) mới của Excel và gặp phải lỗi #SPILL! khá thường xuyên. Lỗi này xảy ra khi một mảng kết quả không thể tràn hết vào các ô trống liền kề. Sau một thời gian mày mò, mình đã tìm ra một vài cách để khắc phục hiệu quả, muốn chia sẻ lại cho mọi người tham khảo.

Nguyên nhân phổ biến của lỗi #SPILL!:

  • Có dữ liệu hoặc định dạng trong các ô mà mảng kết quả muốn tràn vào.
  • Vùng tràn bị giới hạn bởi các cột hoặc hàng khác.
  • Các hàm khác đã sử dụng các ô đó.
  • Trong một số trường hợp, đơn giản là do bảng tính quá lớn hoặc cấu trúc phức tạp.

Cách khắc phục:

  1. Kiểm tra vùng tràn: Đây là bước đầu tiên và quan trọng nhất. Hãy xóa hết dữ liệu hoặc định dạng thừa trong các ô mà mảng kết quả sẽ tràn vào. Đảm bảo các ô đó hoàn toàn trống.
  2. Sử dụng hàm FILTER hoặc UNIQUE thay thế: Đôi khi, việc sử dụng các hàm này với tham số phù hợp có thể giúp bạn kiểm soát tốt hơn kích thước mảng trả về, tránh tràn không mong muốn.
  3. Kiểm tra các hàm xung quanh: Xem xét liệu có hàm nào khác (ví dụ: SUM, AVERAGE) đang tham chiếu đến vùng mà mảng động của bạn dự định tràn vào không. Nếu có, hãy điều chỉnh lại công thức hoặc di chuyển chúng.
  4. Chia nhỏ mảng: Nếu mảng kết quả quá lớn, hãy thử chia nó thành các mảng nhỏ hơn bằng cách sử dụng các hàm như INDEX hoặc OFFSET để lấy từng phần.
  5. Sử dụng IFERROR để xử lý: Trong trường hợp không thể tránh lỗi hoàn toàn, bạn có thể bọc công thức mảng động của mình trong IFERROR để trả về một giá trị mặc định (ví dụ: 0 hoặc chuỗi trống) thay vì thông báo lỗi. Ví dụ: =IFERROR(HÀM_MẢNG_ĐỘNG, "").

Hy vọng những kinh nghiệm nhỏ này sẽ giúp ích cho các bạn khi làm việc với Dynamic Arrays. Nếu ai có thêm mẹo hay hoặc gặp tình huống khác, đừng ngần ngại chia sẻ nhé!

1

Lỗi #SPILL! đúng là ám ảnh thật ạ! Bài viết của bạn rất hữu ích, mình đặc biệt thích cách bạn chỉ ra nguyên nhân "có dữ liệu hoặc định dạng trong các ô mà mảng kết quả muốn tràn vào".

Mình xin bổ sung thêm một chút kinh nghiệm cá nhân. Đôi khi, việc xóa bỏ các khoảng trắng thừa ở cuối hoặc đầu dữ liệu trong vùng đích cũng có thể giải quyết được lỗi này. Có trường hợp mảng nhìn có vẻ tràn được nhưng chỉ vì một vài khoảng trắng vô hình mà báo lỗi.

Rất mong được học hỏi thêm từ bạn và mọi người!

4

Lỗi #SPILL! này đúng là đau đầu thật ạ! Mình cũng hay gặp khi dùng FILTER hoặc UNIQUE. Cảm ơn bạn đã chia sẻ kinh nghiệm khắc phục. Ngoài việc kiểm tra các ô liền kề có dữ liệu, mình còn thấy đôi khi do bảng bị định dạng Table nên mảng không tràn được. Không biết bạn có gặp trường hợp này bao giờ chưa?

3

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

Đăng nhập Đăng ký