Đánh giá lequocthai.com:
Lỗi #CALC! chủ yếu liên quan tới mảng động (dynamic arrays) được giới thiệu trong Microsoft 365 (Office 365); do đó các phiên bản Excel cũ hơn sẽ không gặp lỗi này. Bạn cũng có thể gặp lỗi này khi sử dụng các hàm FILTER và LAMBDA.
Để khắc phục, hãy thử viết lại công thức của bạn hoặc tham khảo các ví dụ dưới đây để hiểu rõ hơn.

Lỗi #CALC! là gì trong Excel?
Lỗi #CALC! chủ yếu xuất hiện khi bộ máy tính toán của Excel gặp vấn đề bất ngờ với các công thức mảng động.
Cách tốt nhất để giải quyết lỗi #CALC! trong Excel là quay lại các kiến thức cơ bản, viết lại công thức và tham khảo cú pháp của các hàm đã dùng.
Nếu công thức của bạn có lồng nhau, bạn có thể sử dụng công cụ Evaluate Formula (từ Formulas > Formula Auditing > Evaluate Formula) để tìm vị trí gây ra lỗi #CALC!.
Các kịch bản xuất hiện lỗi #CALC!
Dưới đây là một số kịch bản bạn có thể gặp lỗi #CALC! cùng ví dụ và cách khắc phục.
Kịch bản 1: Mảng rỗng trong hàm FILTER
Nếu công thức trả về một mảng rỗng, Excel sẽ đưa ra lỗi #CALC!. Khi dùng hàm FILTER, lỗi #CALC! xảy ra khi kết quả truy vấn không có dữ liệu khớp. Vì Excel không thể trả về một mảng rỗng nên nó sẽ trả về lỗi #CALC!.
Ví dụ 1
Trong ví dụ này, chúng ta đang xem điểm trung bình tích lũy (CGPA) của một lớp sinh viên kỹ thuật. Sử dụng hàm FILTER, chúng ta sẽ cố gắng lấy thông tin của các sinh viên có CGPA dưới 4. Công thức dưới đây là một điểm khởi đầu tốt:
=FILTER(A2:C13,C2:C13<4)
Chúng ta đã chỉ định phạm vi dữ liệu A2:C13 làm tham số thứ nhất, tiếp theo là điều kiện C2:C13<4 để kiểm tra các giá trị trong cột C có nhỏ hơn 4 hay không.

Như bạn thấy, không có nào có CGPA dưới 4, do đó kết quả rỗng. Vì vậy Excel trả về lỗi #CALC!. Lý do là chúng ta đã bỏ qua if_empty, đối số thứ 3 của hàm, nơi bạn cần chỉ định giá trị trả về khi mảng trống.
Giải pháp
Khi dùng hàm FILTER, lỗi #CALC! xảy ra khi kết quả truy vấn là mảng rỗng. Vì vậy bạn phải cung cấp đối số if_empty.
Để loại bỏ lỗi, chúng ta chỉnh công thức như sau:
=FILTER(A2:C13,C2:C13<4,"NULL")
Trong ví dụ trên, chúng ta thêm "NULL" (hoặc bất kỳ giá trị nào bạn muốn hiển thị khi không có kết quả). Nếu không muốn hiển thị gì, bạn có thể dùng "" (chuỗi văn bản rỗng).

Một cách khác để giải quyết lỗi #CALC! là điều chỉnh logic ở đối số đầu tiên của hàm, sao cho không trả về giá trị rỗng.
Ví dụ 2
Bộ dữ liệu trong ví dụ này chứa ngày và địa điểm của một danh sách sự kiện. Để lên kế hoạch, chúng ta muốn biết những sự kiện nào diễn ra trong khoảng thời gian nhất định. Giả sử muốn tìm các sự kiện từ 1‑12‑2022 đến 31‑12‑2022.
Công thức dùng FILTER là:
=FILTER(A2:C10,(A2:A10>=F1)*(A2:A10<=F2))

Do không có sự kiện nào trong khoảng thời gian đó, lỗi #CALC! xuất hiện.
Giải pháp
Thêm điều kiện if_empty để hiển thị "No Events" khi không có kết quả:
=FILTER(A2:C10,(A2:A10>=F1)*(A2:A10<=F2),"No Events")

Kịch bản 2: Excel Web
Theo thông tin trên trang chính thức, khi dùng Excel Web, bạn có thể gặp lỗi #CALC! nếu phép tính của bạn liên quan tới hơn 10 000 ô. Các hàm tùy chỉnh tham chiếu tới hơn 10 000 ô không thể tính được và sẽ trả về lỗi #CALC!.
Kịch bản 3: Khi dùng hàm LAMBDA
Hàm LAMBDA cho phép bạn tạo một hàm tùy chỉnh trong Excel. Khi hàm LAMBDA được tạo và lưu, bạn có thể chèn nó nhiều lần trong một workbook.
Lưu ý: hàm LAMBDA không thể được dùng trực tiếp mà không có tham chiếu tới ô. Nếu không có tham chiếu, Excel sẽ trả về lỗi #CALC!.
Ví dụ 1 – Chuyển đổi GBP sang USD
Trong thực tế, bạn sẽ dùng công thức `GBP/ tỷ giá` để tính. Trong Excel, nếu có nhiều giá trị cần chuyển đổi, bạn sẽ tham chiếu tới ô chứa giá trị GBP, như:
=A2/0.83

Nếu muốn dùng hàm LAMBDA để thực hiện chuyển đổi, công thức sẽ là:
=LAMBDA(x,x/0.83)
Vì không có tham chiếu tới ô nào cho biến "x", công thức sẽ gây ra lỗi #CALC!.

Giải pháp
Bạn phải gọi hàm LAMBDA và truyền vào ô chứa giá trị. Ví dụ:
=LAMBDA(x,x/0.83)(A2)

Khi cung cấp A2 làm tham chiếu, lỗi đã được khắc phục.
Ví dụ 2 – Hai tham số trong LAMBDA
Giả sử chúng ta có hai cột: X và Y, và muốn tính X² + Y². Công thức LAMBDA sẽ là:
=LAMBDA(X,Y,X^2+Y^2)

Nếu không truyền giá trị của X và Y, Excel sẽ báo lỗi #CALC!.
Giải pháp
Thêm các tham chiếu ô vào cuối công thức:
=LAMBDA(X,Y,X^2+Y^2)(A2,B2)
Khi truyền các giá trị từ hàng đầu tiên, lỗi #CALC! được giải quyết và phép tính được thực hiện:

Với những ví dụ trên, hy vọng bạn đã hiểu rõ các trường hợp có thể gây ra lỗi #CALC! và cách khắc phục chúng. Khi bạn luyện tập sửa lỗi #CALC!, chúng tôi sẽ chuẩn bị thêm nhiều hướng dẫn khác cho bạn.







