2011-07-06 24 views
40

Tôi có một cột với average(K23:M23) bắt đầu bằng #DIV/0! khi các ô K23 thông qua M23 trống. Tốt hơn là tôi chỉ muốn làm trung bình các ô có chứa các giá trị khác không, không trống. Tôi nghĩ rằng nó có thể sử dụng lệnh truy vấn:Làm cách nào để tránh "# DIV/0!" lỗi trong bảng tính tài liệu của Google?

https://docs.google.com/support/bin/answer.py?hl=en&answer=159999

Nhưng tấm gương của họ không giúp tôi.

+2

Thuộc về webapps.stackexchange.com. –

+1

Rất tiếc. 0/3 phải là 0, không phải lỗi chia cho 0. –

Trả lời

82

Bọc công thức của bạn với IFERROR.

=IFERROR(yourformula) 
+3

Điều này có vẻ là câu trả lời đơn giản nhất, mặc dù tôi muốn google sẽ thêm các chức năng để cho phép kiểm tra các loại lỗi cụ thể. Việc gói hàm trong một IFERROR chung làm cho việc gỡ rối khó khăn hơn nếu xảy ra một lỗi khác. – Brionius

+1

Điều này phá vỡ một số nguyên tắc rất cơ bản trong logic và lập trình. Nếu bạn biết lỗi/ngoại lệ nào bạn đang tránh, thì bạn nên xử lý một cách rõ ràng theo cách đó. Câu trả lời của Peregrination là tốt hơn trong ý nghĩa đó. Nhưng tôi sẽ đăng một câu trả lời khác. – Suamere

21

Bạn có thể sử dụng câu lệnh IF để kiểm tra (các) ô được tham chiếu và trả lại một kết quả bằng 0 hoặc trống và trả về kết quả công thức của bạn.

Một ví dụ đơn giản:

=IF(B1=0,"",A1/B1) 

này sẽ trả về một chuỗi rỗng nếu số chia B1 là trống hay không; ngược lại, nó trả về kết quả phân chia A1 bằng B1.

Trong trường hợp của bạn chạy trung bình, bạn có thể kiểm tra xem có hay không bộ dữ liệu của bạn có giá trị:

=IF(SUM(K23:M23)=0,"",AVERAGE(K23:M23)) 

Nếu không có gì nhập vào, hoặc chỉ số không là, nó sẽ trả về một chuỗi rỗng; nếu có một hoặc nhiều giá trị, bạn sẽ nhận được giá trị trung bình.

0

Vì bạn rõ ràng cũng yêu cầu xử lý các cột chưa được điền, và tôi giả sử cũng không muốn gây rối với chúng nếu chúng có một từ thay vì một số, bạn có thể xem xét điều này:

=If(IsNumber(K23), If(K23 > 0, ........., 0), 0) 

Điều này chỉ nói ... Nếu K23 là số; Và nếu con số đó lớn hơn 0; Sau đó, làm điều gì đó ......... Nếu không, trả về số không.

Trong ........., bạn có thể đặt phương trình phân chia của bạn ở đó, chẳng hạn như A1/K23 và bạn có thể yên tâm rằng K23 là một số lớn hơn 0.

Các vấn đề liên quan