Menu

Khắc phục lỗi #VALUE! khi dùng hàm SUM với ô văn bản xen kẽ

Dai Huân Nắng 21/03/2026 17:02 391 lượt xem 3 trả lời

Chào mọi người,

Mình vừa gặp một lỗi khá khó chịu khi dùng hàm SUM trong Excel. Cụ thể là khi mình muốn cộng một dãy số, nhưng trong dãy đó lại có lẫn một vài ô chứa ký tự văn bản (ví dụ: 'N/A', 'chưa cập nhật', hoặc đơn giản là nhập nhầm). Kết quả là hàm SUM trả về lỗi #VALUE!.

Tìm hiểu thì mình biết nguyên nhân là do hàm SUM không thể cộng trực tiếp giá trị văn bản với số. Dù mình đã thử các cách như SUMPRODUCT(--ISNUMBER(A1:A10)*A1:A10) nhưng nó vẫn báo lỗi nếu có ô hoàn toàn là văn bản.

Cuối cùng, mình tìm được một giải pháp khá đơn giản và hiệu quả, đó là sử dụng kết hợp hàm SUM với IFERROR. Cách này sẽ bỏ qua các ô gây lỗi và chỉ cộng những ô hợp lệ.

Công thức mình dùng là:

=SUM(IFERROR(A1:A10*1, 0))

Hoặc một cách khác là dùng SUMPRODUCT với ISNUMBER:

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

Cách này sẽ kiểm tra xem ô đó có phải là số không, nếu đúng thì lấy giá trị của nó, nếu sai thì bỏ qua. Tuy nhiên, với các ô chứa text hoàn toàn, cách dùng IFERROR có vẻ trực quan hơn.

Mọi người có gặp trường hợp tương tự không? Có cách nào khác hay hơn để xử lý lỗi này không? Chia sẻ cho mình với nhé!

2

Chào bạn,

Lỗi #VALUE! khi dùng SUM với dữ liệu có lẫn văn bản là tình huống khá phổ biến. Bạn đã thử cách dùng SUMPRODUCT(--ISNUMBER(A1:A10)A1:A10) là một hướng đi rất tốt. Tuy nhiên, như bạn nói, nếu ô đó hoàn toàn là văn bản thì phép nhân --ISNUMBER(...) A1:A10 sẽ gặp vấn đề.

Một cách khác bạn có thể thử là dùng SUMIF hoặc SUMIFS để chỉ cộng những ô là số. Ví dụ, nếu vùng dữ liệu của bạn là A1:A10, bạn có thể dùng công thức:

=SUMIF(A1:A10,">0")

Hoặc:

=SUMIFS(A1:A10,A1:A10,">0")

Hai công thức này sẽ bỏ qua các ô chứa văn bản và chỉ cộng các ô có giá trị là số. Bạn thử xem sao nhé!

1

Mình cũng từng gặp lỗi #VALUE! này rồi, đúng là khó chịu thật!

Bạn đã đi đúng hướng với SUMPRODUCT và ISNUMBER. Đối với trường hợp có ô hoàn toàn là văn bản, mình hay dùng một biến thể khác của SUMPRODUCT, kết hợp với IFERROR để xử lý luôn những ô không phải số:

``excel =SUMPRODUCT(IFERROR(VALUE(A1:A10),0)) ``

Cách này sẽ cố gắng chuyển đổi từng ô trong mảng A1:A10 thành số. Nếu ô đó là văn bản và không thể chuyển đổi, IFERROR sẽ trả về 0, và SUMPRODUCT sẽ cộng tất cả lại.

Bạn thử xem sao nhé!

4

Mình cũng từng gặp lỗi #VALUE! này rồi, đúng là khó chịu thật! Bạn đã đi đúng hướng với SUMPRODUCT và ISNUMBER. Đối với trường hợp có ô hoàn toàn là văn bản, mình hay dùng một biến thể khác của SUMPRODUCT, kết hợp với IFERROR để xử lý luôn những ô không phải số:

=SUMPRODUCT(IFERROR(VALUE(A1:A10),0))

Cách này sẽ cố gắng chuyển đổi từng ô trong mảng A1:A10 thành số. Nếu ô đó là văn bản và không thể chuyển đổi, IFERROR sẽ trả về 0, và SUMPRODUCT sẽ cộng tất cả lại. Bạn thử xem sao nhé!

4

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

Đăng nhập Đăng ký