Chào mọi người,
Mình thường xuyên làm việc với các bảng dữ liệu lớn và hay sử dụng hàm SUBTOTAL để tính toán các giá trị đã được lọc. Tuy nhiên, dạo gần đây mình hay gặp phải lỗi #CALC! khi dùng hàm này, đặc biệt là khi có các ô trống xen kẽ hoặc khi sử dụng các hàm tính toán phức tạp bên trong SUBTOTAL.
Sau một hồi tìm tòi và thử nghiệm, mình phát hiện ra nguyên nhân phổ biến là do:
- Các ô trống trong vùng dữ liệu mà
SUBTOTALđang tham chiếu đến. - Sử dụng các hàm như
AVERAGE,MAX,MIN,STDEV,... bên trongSUBTOTALmà gặp phải các giá trị không hợp lệ (như text hoặc lỗi). - Các phép tính bên trong
SUBTOTALdẫn đến kết quả không xác định.
Cách mình thường khắc phục là:
- Đảm bảo vùng dữ liệu tham chiếu của
SUBTOTALkhông có ô trống hoặc xử lý các ô trống đó (ví dụ: dùngIFERRORđể điền giá trị 0 hoặc một giá trị mặc định khác). - Kiểm tra kỹ các hàm tính toán lồng bên trong
SUBTOTAL, đảm bảo chúng trả về giá trị số hợp lệ. - Nếu là phép tính phức tạp, nên tách ra thành các bước nhỏ hơn để dễ dàng gỡ lỗi.
Ví dụ, thay vì:
=SUBTOTAL(9, A1:A10)Nếu bạn biết có thể có ô trống, bạn có thể sửa thành:
=SUBTOTAL(9, IF(A1:A10"", A1:A10, 0))(Lưu ý: Công thức mảng này cần nhấn Ctrl+Shift+Enter trên các phiên bản Excel cũ).
Hoặc sử dụng AGGREGATE, hàm này mạnh mẽ hơn và có thể bỏ qua lỗi:
=AGGREGATE(9, 5, A1:A10)Số 5 trong AGGREGATE có nghĩa là bỏ qua các hàng chứa lỗi và các hàng trống.
Không biết mọi người có gặp lỗi này và có cách khắc phục nào khác hiệu quả hơn không? Chia sẻ với mình nhé!