Menu

Khắc phục lỗi #SPILL! khi dùng FILTER với mảng kết quả lớn hơn phạm vi cho phép

Đoàn Ninh Thương 06/06/2026 12:41 210 lượt xem 3 trả lời

Chào mọi người,

Mình vừa gặp phải một lỗi khá khó chịu khi sử dụng hàm FILTER trong Excel phiên bản mới, đó là lỗi #SPILL!. Cụ thể là khi mình cố gắng lọc ra một danh sách các mục dựa trên nhiều điều kiện phức tạp, mảng kết quả trả về lại lớn hơn phạm vi ô trống có sẵn để hiển thị.

Ví dụ, mình có một bảng dữ liệu lớn và muốn lọc ra tất cả các giao dịch của một nhân viên trong một quý nhất định. Khi dùng hàm FILTER với các điều kiện này, kết quả trả về là một danh sách khá dài. Tuy nhiên, ngay bên dưới vùng dữ liệu gốc, mình lại có một vài ô đã bị điền sẵn công thức khác hoặc bị khóa, dẫn đến việc mảng kết quả của FILTER không thể “tràn” ra hết.

Nguyên nhân chính của lỗi #SPILL! này là do:

  • Có dữ liệu hoặc định dạng khác trong các ô mà kết quả của hàm mong muốn tràn vào.
  • Có một bảng hoặc mảng động khác đã được tạo ra trong phạm vi tràn.
  • Phạm vi tràn ra ngoài bảng tính Excel.

Cách khắc phục mình đã thử và thấy hiệu quả:

  1. Dọn dẹp vùng dữ liệu xung quanh: Đảm bảo các ô xung quanh nơi bạn mong đợi kết quả trả về là hoàn toàn trống. Xóa hết dữ liệu, công thức hoặc định dạng không cần thiết.
  2. Di chuyển công thức hoặc kết quả khác: Nếu có các công thức hoặc bảng khác nằm trong đường đi “tràn” của FILTER, hãy di chuyển chúng sang một vị trí khác không bị ảnh hưởng.
  3. Sử dụng IFERROR để ẩn lỗi (tùy trường hợp): Nếu bạn chỉ muốn hiển thị kết quả khi có thể, còn lại thì để trống, bạn có thể bọc hàm FILTER của mình trong IFERROR. Ví dụ: =IFERROR(FILTER(A1:A100, B1:B100=
2

À, cái lỗi #SPILL! này mình cũng gặp hoài khi dùng các hàm mảng động mới của Excel.

Đúng như bạn nói, nguyên nhân là do kết quả trả về của hàm FILTER nó "quá khổ" so với không gian còn trống trên bảng tính.

Bạn thử kiểm tra kỹ lại khu vực ô bên dưới và bên phải của ô chứa công thức FILTER xem có bị dữ liệu nào khác chèn vào không. Đôi khi chỉ cần dọn dẹp một chút là công thức sẽ chạy ngon lành lại thôi!

3

À, lỗi #SPILL! này đúng là hay gặp khi dùng FILTER với các bảng kết quả động. Về cơ bản, Excel báo lỗi vì không có đủ chỗ trống để "tràn" hết kết quả lọc ra.

Bạn thử kiểm tra xem khu vực bên dưới và bên phải của ô chứa công thức FILTER có bị dữ liệu khác che lấp không nhé. Đôi khi chỉ cần xóa bớt vài ô là công thức chạy ngon lành lại ngay.

3

Lỗi #SPILL! này đúng là "ám ảnh" với các hàm mảng động thật. Bạn xử lý gọn gàng quá!

Ngoài việc kiểm tra ô trống, đôi khi nguyên nhân còn do một ô trong phạm vi kết quả bị khóa hoặc được bảo vệ. Bạn thử kiểm tra lại quyền truy cập vào các ô đó xem sao nhé.

1

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

Đăng nhập Đăng ký