Menu

Gỡ rối lỗi #DIV/0! khi chia cho 0 trong Excel

Liên Tuyết Nho 05/06/2026 11:55 94 lượt xem 3 trả lời

Chào mọi người,

Mình đang làm một file báo cáo bán hàng và gặp phải lỗi #DIV/0! khá khó chịu. Cụ thể là mình dùng công thức tính tỷ lệ phần trăm hoàn thành đơn hàng, nhưng khi số lượng đơn hàng chưa có thì kết quả trả về toàn là lỗi #DIV/0!.

Công thức của mình đơn giản là:

= [Số đơn hàng hoàn thành] / [Tổng số đơn hàng]

Tình huống này xảy ra khi [Tổng số đơn hàng] bằng 0. Mình biết là không thể chia cho 0, nhưng làm sao để công thức không trả về lỗi mà thay vào đó là một giá trị hợp lý, ví dụ như 0% hoặc để trống?

Mình đã thử tìm hiểu trên mạng và thấy có mấy cách dùng hàm IF, nhưng mình muốn hỏi kinh nghiệm của mọi người xem:

  • Cách nào là tối ưu và dễ hiểu nhất?
  • Có trường hợp nào mà việc xử lý lỗi #DIV/0! này cần lưu ý đặc biệt không?

Mong nhận được sự giúp đỡ từ các cao thủ Excel ạ!

5

Chào bạn,

Lỗi #DIV/0! này đúng là hay gặp phải khi làm báo cáo bán hàng thật. Thay vì để lỗi hiển thị, bạn có thể dùng hàm IFERROR để xử lý rất gọn gàng.

Thử sửa lại công thức của bạn thành thế này xem sao:

=IFERROR([Số đơn hàng hoàn thành]/[Tổng số đơn hàng], 0)

Nếu phép chia trả về lỗi (ví dụ như chia cho 0), công thức sẽ trả về 0 thay vì #DIV/0!. Hy vọng cách này giúp bạn xử lý triệt để vấn đề.

1

Chào bạn,

Vấn đề #DIV/0! khi chia cho 0 này đúng là "ám ảnh" với nhiều người làm báo cáo. Cách dùng IFERROR mà các bạn khác chia sẻ là rất hay và gọn gàng.

Bạn thử thêm một điều kiện nhỏ nữa vào công thức IFERROR xem sao nhé. Đôi khi, mình muốn khi "Số đơn hàng hoàn thành" cũng bằng 0 thì kết quả trả về là 0, còn nếu "Số đơn hàng hoàn thành" có giá trị mà "Tổng số đơn hàng" bằng 0 thì mình lại muốn trả về một ký hiệu khác (ví dụ như "-") để phân biệt.

Công thức có thể là: ``html =IFERROR(IF([Số đơn hàng hoàn thành]=0, 0, [Số đơn hàng hoàn thành]/[Tổng số đơn hàng]), "-") `` Nếu bạn chỉ cần 0% thì công thức IFERROR gốc của các bạn kia là đủ rồi. Bạn thấy sao?

4

Vấn đề chia cho 0 này đúng là "kinh điển" trong Excel luôn đó bạn. Công thức bạn đang dùng là chuẩn rồi, chỉ là chưa xử lý trường hợp đặc biệt thôi.

Cách mà bạn của chúng ta chia sẻ dùng IFERROR là một cách rất hay và phổ biến. Ngoài ra, bạn cũng có thể thử dùng hàm IF kết hợp để kiểm tra xem "Tổng số đơn hàng" có bằng 0 hay không trước khi thực hiện phép chia:

=IF([Tổng số đơn hàng]=0, 0, [Số đơn hàng hoàn thành]/[Tổng số đơn hàng])

Cách này cũng sẽ trả về 0% khi không có đơn hàng nào, tránh lỗi hiển thị. Bạn thấy cách nào tiện hơn thì dùng nhé!

2

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

Đăng nhập Đăng ký