Menu

Khắc phục lỗi #VALUE! khi dùng hàm SUMPRODUCT và điều kiện phức tạp

Đồng Thêu Thiện 11/06/2026 08:56 161 lượt xem 3 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 Online khá lớn, và gặp phải một vấn đề khá khó chịu khi dùng hàm SUMPRODUCT để tính toán dựa trên nhiều điều kiện. Cụ thể, khi các điều kiện trở nên phức tạp hơn (ví dụ: kết hợp nhiều phép toán logic hoặc tham chiếu đến các ô chứa công thức khác), mình thường xuyên nhận được lỗi #VALUE!. Điều này làm gián đoạn công việc và mất khá nhiều thời gian để dò lỗi.

Sau một hồi tìm tòi và thử nghiệm, mình đã phát hiện ra một vài nguyên nhân phổ biến và cách khắc phục hiệu quả:

  • Kiểm tra định dạng dữ liệu: Đôi khi, lỗi #VALUE! xảy ra do định dạng dữ liệu trong các cột dùng để so sánh không khớp. Ví dụ, một cột là số nhưng lại được định dạng là văn bản. Hãy đảm bảo tất cả các cột dùng trong điều kiện của SUMPRODUCT có định dạng nhất quán.
  • Sử dụng hàm VALUE() hoặc *1: Nếu bạn nghi ngờ có dữ liệu dạng văn bản xen lẫn số, hãy thử ép kiểu dữ liệu bằng cách nhân trực tiếp với 1 (ví dụ: (Điều kiện1)*(Điều kiện2)*1) hoặc dùng hàm VALUE() (ví dụ: SUMPRODUCT(VALUE(Điều kiện1), VALUE(Điều kiện2))). Cách này giúp Excel nhận diện đúng các giá trị số.
  • Phân tách điều kiện phức tạp: Thay vì viết một biểu thức điều kiện quá dài và phức tạp, hãy thử chia nhỏ nó ra. Bạn có thể tạo các cột phụ để tính toán từng phần của điều kiện, sau đó dùng SUMPRODUCT để kết hợp kết quả từ các cột phụ đó.
  • Sử dụng mảng tạm (Array Constants): Trong một số trường hợp, việc sử dụng mảng tạm có thể giúp đơn giản hóa logic. Ví dụ: SUMPRODUCT(--(A1:A100={
3

Mình cũng từng gặp lỗi #VALUE! với SUMPRODUCT khi điều kiện lồng nhau, đúng là đau đầu thật! Nguyên nhân mình hay gặp nhất là do một trong các mảng mà SUMPRODUCT xử lý có chứa ô trống hoặc giá trị không phải số. Khi đó, phép nhân sẽ bị lỗi và trả về #VALUE!.

Bạn thử kiểm tra kỹ xem các vùng dữ liệu mình đưa vào hàm có ô trống hay văn bản nào không. Đôi khi chỉ cần thêm một phép kiểm tra ISNUMBER() hoặc (vùng_dữ_liệu"") vào điều kiện là có thể khắc phục được đó.

Bạn có thể chia sẻ cụ thể hơn về các điều kiện phức tạp mà bạn đang dùng không? Biết đâu mọi người có thể đưa ra giải pháp chính xác hơn.

1

Mình gặp lỗi #VALUE! với SUMPRODUCT, có ai từng bị vậy không?

Chào bạn,

Đúng là lỗi #VALUE! với SUMPRODUCT khi điều kiện phức tạp thì "khó chịu" thật. Mình cũng hay gặp trường hợp này, đặc biệt là khi các điều kiện có liên quan đến việc so sánh văn bản hoặc ngày tháng.

Ngoài việc kiểm tra ô trống như bạn kia chia sẻ, mình còn hay gặp vấn đề do phép toán logic trong điều kiện trả về TRUE/FALSE thay vì 1/0. Khi SUMPRODUCT nhân với TRUE/FALSE thì nó sẽ báo lỗi.

Bạn có thể chia sẻ cụ thể hơn một chút về các phép toán logic hoặc cách bạn tham chiếu đến các ô chứa công thức khác không? Biết đâu mọi người có thể cùng nhau tìm ra cách xử lý tối ưu hơn.

3

Đúng là lỗi #VALUE! với SUMPRODUCT khá "nhạy cảm" với các điều kiện phức tạp thật. Mình cũng từng "đau đầu" với nó, nhất là khi các điều kiện liên quan đến ngày tháng hoặc chuỗi ký tự.

Ngoài việc kiểm tra ô trống, bạn có thể thử ép kiểu dữ liệu về số trước khi nhân không? Ví dụ, nếu một mảng chứa cả số và văn bản, bạn có thể dùng (mảng_dữ_liệu+0) hoặc VALUE(mảng_dữ_liệu) để chuyển đổi. Nếu có thể, bạn chia sẻ cụ thể hơn về các phép toán logic hoặc tham chiếu đến ô chứa công thức mà bạn đang gặp vấn đề được không? Mình tò mò muốn xem cách bạn đang xử lý!

2

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

Đăng nhập Đăng ký