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 đồ

Khắc phục lỗi #SPILL! khi dùng hàm FILTER với nhiều điều kiện

Tống Cao Dạ 09/04/2026 00:54 303 lượt xem 1 trả lời

Chào mọi người,

Dạo gần đây mình có làm việc với một file excel khá lớn và cần lọc dữ liệu theo nhiều tiêu chí khác nhau. Mình có thử dùng hàm FILTER nhưng liên tục gặp lỗi #SPILL!, gây khó chịu vô cùng. Sau một hồi mò mẫm và tìm hiểu, mình đã tìm ra nguyên nhân và cách khắc phục.

Lỗi #SPILL! (hay còn gọi là lỗi tràn mảng) xảy ra khi một công thức mảng trả về nhiều kết quả, nhưng không có đủ không gian trống để hiển thị tất cả các kết quả đó. Khi dùng hàm FILTER với nhiều điều kiện, nếu các điều kiện của bạn không được kết hợp đúng cách, nó có thể tạo ra một mảng kết quả lớn hơn dự kiến, dẫn đến lỗi này.

Nguyên nhân phổ biến:

  • Kết hợp các điều kiện logic (AND, OR) không chính xác trong mảng điều kiện của FILTER.
  • Sử dụng các phép toán số học không phù hợp với mảng.

Cách khắc phục:

  1. Kiểm tra không gian trống: Đảm bảo rằng khu vực bạn muốn hiển thị kết quả lọc có đủ ô trống, không bị che bởi dữ liệu khác hoặc các công thức khác.
  2. Sử dụng dấu ngoặc đơn để nhóm điều kiện: Khi kết hợp nhiều điều kiện, hãy đặt mỗi điều kiện trong một cặp dấu ngoặc đơn () và sử dụng toán tử * cho điều kiện AND, + cho điều kiện OR. Ví dụ, để lọc theo điều kiện A > 10 VÀ B = 'X', bạn sẽ viết: FILTER(vung_du_lieu, (vung_A > 10) * (vung_B = "X"), "Không tìm thấy").
  3. Đơn giản hóa điều kiện: Nếu có thể, hãy thử tách các điều kiện phức tạp thành các bước nhỏ hơn hoặc sử dụng các hàm hỗ trợ khác.

Hy vọng chia sẻ này giúp ích được cho các bạn nào đang gặp phải lỗi tương tự. 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é!

1

Chào bạn,

Lỗi #SPILL! với hàm FILTER đúng là "ám ảnh" thật! Cảm ơn bạn đã chia sẻ kinh nghiệm. Đúng như bạn nói, nguyên nhân chính là do công thức trả về quá nhiều kết quả mà Excel không có đủ chỗ để "tràn" ra.

Mình cũng hay gặp tình huống này khi lọc theo nhiều tiêu chí phức tạp. Một cách mình hay dùng để tránh lỗi này là đảm bảo vùng dữ liệu trả về của FILTER chỉ nằm trên một cột hoặc một hàng trống hoàn toàn. Đôi khi, chỉ cần xóa bớt dữ liệu ở ô ngay bên cạnh thôi là mọi thứ lại đâu vào đấy!

Bạn có thể chia sẻ thêm về cách bạn "mò mẫm" ra nguyên nhân và cách khắc phục không? Mình tò mò muốn biết thêm chi tiết về các điều kiện lọc của bạn.

4

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

Đăng nhập Đăng ký