Menu

Gỡ rối lỗi #VALUE! khi SUM dữ liệu có lẫn ký tự Text

Phùng Toàn Huy 05/04/2026 20:43 430 lượt xem 3 trả lời

Chào mọi người,

Mình gặp một vấn đề khá khó chịu khi làm việc với file Excel báo cáo. Dữ liệu của mình có một cột số liệu mà đôi khi lại lẫn một vài ô chứa ký tự Text (ví dụ: 'N/A', 'Chưa có', hoặc ký tự đặc biệt nào đó).

Khi mình dùng hàm SUM để tính tổng cột này, nó báo lỗi #VALUE!. Mình biết là hàm SUM không thể cộng trực tiếp với ký tự Text.

Mình đã thử vài cách như dùng IFERROR nhưng không hiệu quả lắm vì nó chỉ xử lý khi có lỗi, còn bản chất ô đó vẫn là Text.

Hiện tại, mình đang tạm khắc phục bằng cách:

  • Chọn cột dữ liệu đó.
  • Vào mục Data -> Text to Columns.
  • Chọn Delimited, Next, Next.
  • Ở bước cuối, chọn General và Finish.

Cách này giúp chuyển các ô Text thành số (hoặc để trống nếu không chuyển được) và hàm SUM hoạt động lại bình thường. Tuy nhiên, cách này hơi thủ công và mất thời gian nếu file có nhiều cột cần xử lý.

Có cao nhân nào trong diễn đàn có cách nào dùng công thức để xử lý trực tiếp trường hợp này không? Ví dụ, làm sao để hàm SUM tự động bỏ qua hoặc coi các ô Text là 0?

Mình đang dùng Excel 365.

Xin cảm ơn!

2

Chào bạn,

Lỗi #VALUE! khi SUM dữ liệu có lẫn ký tự Text là tình huống khá phổ biến. Thay vì dùng IFERROR để xử lý lỗi, bạn có thể thử dùng hàm SUMPRODUCT kết hợp với VALUE để chuyển đổi ký tự Text thành số. Nếu không chuyển đổi được, nó sẽ trả về 0, và SUMPRODUCT sẽ cộng như bình thường.

Công thức có thể là:

=SUMPRODUCT(--(ISNUMBER(VALUE(A1:A10))))

Hoặc nếu bạn muốn bỏ qua hoàn toàn các ô không phải số:

=SUMPRODUCT(--ISNUMBER(A1:A10)*A1:A10)

Bạn thử xem cách này có khắc phục được không nhé!

3

Mình cũng hay gặp tình huống này, đúng là rất phiền phức!

Thay vì dùng IFERROR, bạn thử cách này xem sao: Dùng hàm SUM kết hợp với IFERROR ngay trong mảng điều kiện.

Ví dụ, nếu dữ liệu của bạn ở cột A từ A1 đến A10, bạn có thể thử công thức sau:

``html =SUM(IFERROR(VALUE(A1:A10),0)) `

Bạn cần nhập công thức này dưới dạng công thức mảng bằng cách nhấn Ctrl + Shift + Enter sau khi gõ xong. Hàm VALUE sẽ cố gắng chuyển đổi từng ô thành số, nếu gặp ký tự Text (như 'N/A', 'Chưa có'), nó sẽ trả về lỗi #VALUE!, và IFERROR sẽ thay thế lỗi đó bằng 0. Cuối cùng, SUM` sẽ tính tổng các giá trị đã được chuyển đổi hoặc là 0.

Cách này sẽ giúp bạn loại bỏ ảnh hưởng của các ô không phải số một cách tự động. Bạn thử xem có hiệu quả không nhé!

1

Mình hiểu cảm giác của bạn khi gặp lỗi #VALUE! này, nó đúng là làm mất thời gian thật.

Để giải quyết triệt để, thay vì chỉ xử lý lỗi, bạn có thể thử dùng hàm SUM kết hợp với SUMPRODUCTISNUMBER.

Ví dụ, nếu dữ liệu của bạn nằm trong vùng A1:A10, bạn có thể dùng công thức: ``html =SUMPRODUCT(ISNUMBER(A1:A10)*A1:A10) ` Hàm ISNUMBER sẽ kiểm tra xem ô đó có phải là số hay không. Nếu là số thì trả về TRUE (tương đương 1), còn nếu là Text thì trả về FALSE (tương đương 0). Sau đó, SUMPRODUCT` sẽ nhân từng ô với kết quả kiểm tra, chỉ giữ lại các giá trị là số và tính tổng. Các ô Text sẽ bị nhân với 0 nên sẽ không ảnh hưởng đến kết quả cuối cùng.

Bạn thử xem cách này có hiệu quả hơn không nhé!

3

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

Đăng nhập Đăng ký