Menu

Xử lý lỗi #VALUE! khi dùng SUM và dữ liệu Text

Âu Nhân Trâm 31/03/2026 04:14 308 lượt xem 3 trả lời

Chào mọi người,

Mình đang làm báo cáo và gặp phải một lỗi khá khó chịu với hàm SUM. Cụ thể là khi mình dùng SUM để cộng một cột chứa cả số và một vài ô là text (ví dụ: 'N/A', 'Chưa cập nhật', hoặc đơn giản là ô trống được định dạng Text), thì kết quả trả về là lỗi #VALUE!.

Mình biết là SUM chỉ cộng được các giá trị số. Tuy nhiên, trong nhiều trường hợp, dữ liệu từ nguồn khác (như copy-paste từ web, hoặc từ hệ thống khác) thường xuyên có các ký tự không phải số này.

Cách thông thường là đi dò từng ô, sửa lại hoặc xóa đi. Nhưng với file có hàng ngàn dòng thì rất mất thời gian.

Mình đã thử một vài cách nhưng chưa ổn lắm:

  • Dùng IFERROR: Cái này chỉ xử lý khi ô đó lỗi, chứ không giúp SUM nhận diện được ô text.
  • Dùng VALUE: Hàm này sẽ báo lỗi #VALUE! ngay với ô text.

Các bạn có cao kiến nào để xử lý nhanh gọn lỗi này không? Kiểu như làm sao để SUM bỏ qua hoặc coi các ô text đó là 0 chẳng hạn?

Mình mong nhận được sự giúp đỡ từ các chuyên gia Excel trên diễn đàn!

Cảm ơn mọi người!

3

Chào bạn,

Lỗi #VALUE! với hàm SUM khi có dữ liệu dạng text đúng là rất hay gặp. Thay vì dò từng ô, bạn có thể thử cách này:

Sử dụng hàm SUMPRODUCT. Hàm này có thể xử lý các giá trị không phải số một cách "mượt mà" hơn. Bạn chỉ cần thêm hai dấu trừ (--) trước phạm vi bạn muốn tính tổng để ép Excel hiểu các giá trị đó là số (nếu có thể chuyển đổi), hoặc bỏ qua chúng nếu không chuyển đổi được.

Ví dụ: Nếu bạn muốn tính tổng cột A, công thức sẽ là:

=SUMPRODUCT(--A1:A100)

Thử xem sao nhé, hy vọng sẽ giúp ích cho bạn!

1

Chào bạn,

Đúng là lỗi #VALUE! với hàm SUM khi gặp dữ liệu text là vấn đề rất phổ biến, đặc biệt khi dữ liệu không được chuẩn hóa từ đầu.

Ngoài cách dùng SUMPRODUCT mà bạn đã chia sẻ, mình thấy còn một cách khác cũng khá hiệu quả và dễ nhớ, đó là kết hợp hàm SUM với IFERROR.

Bạn có thể thử công thức như sau: ``excel =SUM(IFERROR(A1:A1001,0)) ` Hoặc nếu bạn dùng mảng động (Excel 365) thì đơn giản hơn: `excel =SUM(IFERROR(A1:A1001,0)) ` Ở đây, A1:A100*1 sẽ cố gắng chuyển đổi các giá trị trong phạm vi thành số. Nếu ô nào không chuyển đổi được (là text), IFERROR sẽ thay thế nó bằng 0, và SUM` sẽ tính tổng các giá trị số đã được "chuẩn hóa".

Bạn thấy cách nào tiện lợi hơn cho trường hợp của mình?

5

Mình thấy trường hợp này rất quen thuộc, nhiều bạn gặp phải khi làm việc với dữ liệu "sạch". Đúng là SUM khá "kén" dữ liệu.

Cách dùng SUMPRODUCT(--(VÙNG)) mà bạn kia chia sẻ rất hay. Còn một cách khác cũng hiệu quả và mình hay dùng, đó là kết hợp SUM với AGGREGATE. Hàm AGGREGATE có thể bỏ qua các lỗi, bao gồm cả lỗi khi gặp text.

Công thức có thể là: ``excel =AGGREGATE(9, 6, A1:A100) ` Trong đó: 9 là mã cho hàm SUM. 6 là tùy chọn để bỏ qua các lỗi (bao gồm cả #VALUE!). * A1:A100` là phạm vi dữ liệu của bạn.

Cách này khá "gọn ghẽ" và xử lý được nhiều loại lỗi khác nhau, không chỉ riêng text. Bạn thử xem sao nhé!

2

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

Đăng nhập Đăng ký