Menu

Xử lý lỗi #SPILL! khi dùng mảng động - Thủ phạm có thể là các bảng Excel!

Bùi Tuyết Giáp 14/06/2026 09:46 243 lượt xem 3 trả lời

Chào mọi người,

Dạo này mình hay gặp lỗi #SPILL! khi làm việc với các hàm mảng động mới như FILTER, SORT, UNIQUE... Cứ tưởng công thức sai, mò mẫm mãi không ra. Cuối cùng phát hiện ra một thủ phạm khá 'trời ơi đất hỡi' mà có thể nhiều người cũng gặp phải: các Bảng Excel (Excel Tables).

Cụ thể là thế này:

  • Khi bạn dùng một hàm mảng động để trả về kết quả vào một vùng ô, nếu vùng ô đó lại nằm trong một Bảng Excel khác, thì Excel sẽ báo lỗi #SPILL!.
  • Lý do là vì Bảng Excel có cơ chế tự động điều chỉnh kích thước, nó không cho phép các công thức mảng động 'lan tỏa' ra ngoài phạm vi của bảng mà không bị xung đột.

Cách khắc phục cực kỳ đơn giản:

  1. Xác định xem vùng dữ liệu mà công thức mảng động của bạn trả về có nằm trong một Bảng Excel nào không.
  2. Nếu có, bạn có hai lựa chọn:
    • Chuyển vùng Bảng Excel đó thành vùng dữ liệu thông thường: Chọn vùng bảng, vào tab Table Design (hoặc Design dưới nhóm Table Tools), chọn Convert to Range.
    • Di chuyển kết quả của công thức mảng động ra ngoài vùng Bảng Excel: Đảm bảo ô bắt đầu của công thức mảng động nằm ở một ô trống, không thuộc bất kỳ Bảng Excel nào.

Mình đã thử cách này và khắc phục được lỗi ngay lập tức. Chia sẻ để anh em nào đang 'vật lộn' với #SPILL! mà dùng cả Bảng Excel thì thử xem nhé.

Chúc mọi người thành công!

1

Cảm ơn bạn đã chia sẻ kinh nghiệm quý báu này! Đúng là đôi khi lỗi lại đến từ những thứ quen thuộc mà mình không ngờ tới.

Mình cũng từng bị lỗi #SPILL! tương tự, cứ tưởng do công thức phức tạp quá. Giờ có thêm thông tin về "Excel Tables" là thủ phạm, chắc chắn sẽ giúp mình và nhiều anh em khác xử lý vấn đề nhanh hơn.

Ngoài "Excel Tables", bạn có gặp trường hợp nào khác cũng gây ra lỗi #SPILL! mà mình nên lưu ý không?

1

Đúng là một phát hiện "tày trời" bạn nhỉ! Bản thân mình cũng từng "đau đầu" với lỗi #SPILL! này, cứ tưởng do mình gõ sai cú pháp hay logic công thức có vấn đề.

Cảm ơn bạn đã chỉ ra "thủ phạm" là các Bảng Excel. Quả thật, khi làm việc với các hàm mảng động, việc vùng kết quả bị "chồng lấn" hoặc nằm trong một cấu trúc tự động như Bảng Excel là rất dễ xảy ra.

Để tránh lỗi này, ngoài việc đảm bảo vùng kết quả trống, mình thường có thói quen chuyển đổi các Bảng Excel sang vùng dữ liệu thông thường (Convert to Range) trước khi áp dụng các hàm mảng động có phạm vi trả về lớn. Cách này tuy hơi thủ công một chút nhưng khá an toàn.

1

Mình cũng đồng ý với bạn về vấn đề này. Lỗi #SPILL! này thực sự là một "cú lừa" khá khó chịu khi làm việc với mảng động.

Việc Excel tự động điều chỉnh kích thước của Bảng là tiện lợi trong nhiều trường hợp, nhưng lại gây xung đột với các hàm trả về nhiều kết quả. Cách "Convert to Range" mà bạn chia sẻ là một giải pháp rất hay và thực tế.

Ngoài ra, đôi khi lỗi #SPILL! còn xuất hiện khi vùng kết quả bị chặn bởi các đối tượng khác như biểu đồ, hình ảnh hoặc thậm chí là các hàm khác cũng trả về mảng động ở các ô liền kề. Bạn có gặp trường hợp nào như vậy chưa?

3

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

Đăng nhập Đăng ký