Kiến Thức Excel Nguyên nhân và cách xử lý lỗi #SPILL! trong Excel

Nguyên nhân và cách xử lý lỗi #SPILL! trong Excel

Với các phiên bản Excel mới (Excel 365, Excel 2021 trở lên) các hàm như SEQUENCE, FILTER, SORT, UNIQUE, TEXTSPLIT, RANDARRAY… đều có khả năng tạo ra mảng động (dynamic array). Khi Excel không thể “đổ” (spill) kết quả mảng này vào các ô xung quanh, lỗi #SPILL! sẽ xuất hiện.

1. Lỗi #SPILL! trong Excel

Lỗi #SPILL! xuất hiện khi Excel muốn trả về một vùng dữ liệu gồm nhiều dòng/cột, nhưng không thể tràn kết quả xuống vì:

  • Vùng chứa kết quả không trống,
  • Vùng chứa kết quả có ô bị gộp ô (merge),
  • Vùng chứa kết quả nằm trong Excel Table,
  • Hoặc không đủ không gian để hiển thị.

2. Nguyên nhân và cách xử lý lỗi #SPILL!

Dưới đây là các nguyên nhân phổ biến nhất, kèm theo cách khắc phục cụ thể:

Nguyên nhân 1: Có ô đã bị gộp (Merge)

Các hàm tạo ra kết quả mảng động cần trải kết quả ra nhiều ô, nhưng 1 phần vùng đang chứa ô đang bị gộp Merge & Center.

Ví dụ: Ta gộp ô A3:B3 với Merge & Center, sau đó tại ô A1 ta nhập công thức =SEQUENCE(20) để tạo ra danh sách thứ tự từ 1 đến 20.

lỗi Spill trong Excel vì có ô gộp

Lúc này lỗi #SPILL! sẽ xuất hiện vì vùng trả về kết quả đã bị chặn bởi 1 ô gộp.

=> Xử lý: Để xử lý ta chỉ cần bỏ gộp ô đi để kết quả hàm được trả đầy đủ thì sẽ không còn lỗi SPILL nữa.

xử lý lỗi Spill do có ô gộp

Nguyên nhân 2: Vùng trả kết quả bị chặn do có dữ liệu

Nếu vùng trả về kết quả của các hàm như SEQUENCE trong Excel mà đã có dữ liệu thì nó cũng sẽ báo tạo ra lỗi #SPILL!

Ví dụ tại ô A3 ta đã có dữ liệu là Kế Toán VN, thì khi ta nhập hàm =SEQUENCE(20) để tạo danh sách thứ tự thì lỗi Spill sẽ xuất hiện:

lỗi spill trong Excel vì có ô chứa dữ liệu

Để xử lý lỗi SPILL lúc này, ta chỉ cần xóa dữ liệu tại ô đang chặn đi để hàm trả về kết quả mảng động có đủ không gian trả kết quả là được.

Nguyên nhân 3: Mảng động nằm trong Excel Table

Excel Table (tạo bằng Ctrl + T) không cho phép công thức tạo mảng động ra ngoài. Do đó, khi sử dụng các công thức tạo mảng động mà kết quả trả ra ngoài vùng của bảng thì sẽ tạo ra lỗi #SPILL!

lỗi spill trong excel vì dùng hàm tạo mảng động trong bảng

Nguyên nhân khác gây ra lỗi SPILL

Ngoài 3 nguyên nhân chính trên, lỗi #SPILL! còn xảy ra khi mảng quả lớn không đủ số dòng để hiển thị hoặc công thức tạo ra mảng nhưng lại tham chiếu vào chính cùng kết quả gây ra vòng lặp khiến lỗi.

3. Cách xác định nguyên nhân gây ra lỗi SPILL

Khi xuất hiện lỗi #SPILL!, Excel luôn hiển thị biểu tượng cảnh báo lỗi bên cạnh. Ta có nhấn vào biểu tượng đó để xem lỗi gây ra là gì?

cách xác định nguyên nhân gây ra lỗi SPILL

Dưới đây là các thông báo và các lỗi tương ứng:

Thông báo Lỗi tương ứng
Spill range isn’t blank Có ô chứa dữ liệu trong vùng trả kết quả
Blocked by merged cells Có ô đã bị gộp
Out of worksheet bounds Vượt biên ngang
Cannot spill into table Đang nằm trong Table

Trên đây là hướng dẫn chi tiết cách xử lý khi gặp lỗi Spill trong Excel. Chúc các bạn áp dụng thành công!