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:
- 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.
- 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!