1、如下圖數據,A列為總金額,B列為數量,在C2輸入公式=A2/B2求平均價格,在C7單元格求C列平均價格的合計數。
此時,由於某些原因(假設這是合理的)B4單元格數量是0,因此C4的公式由於一個數值除以0產生了錯誤值。由此導致在C7單元格求平均價格合計時也出現了錯誤值。
2、下面介紹利用各種方法屏蔽C4和C7產生的錯誤值。
屏蔽錯誤值的若干方法及注意事項
第一種方法:從該問題產生的直接原因出發。本例錯誤值產生的直接原因是B4單元格參與運算時被認為是數值0,因此可以嵌套IF函數來使C列單元格在B列單元為空或0時返回另外的計算結果。
第二種方法:用IF和錯誤值判斷函數來屏蔽錯誤值的產生。
注意:ISERR可判斷不包括#N/A在內的其他錯誤值;ISERROR函數可以判斷任意錯誤值(包括,#N/A、#VALUE!、#REF!、#DIV/0!、#NUM!、#NAME? 或 #NULL!);ISNA只能判斷錯誤值 #N/A(表示值不存在)。
第三種方法:用IF和其他IS類判斷函數來屏蔽錯誤值的產生。
注意:就本例這種特殊情況,可以用ISBLANK函數判斷B列的空格。類似,可以用ISTEXT函數判斷文本內容,ISNUMBER判斷數字內容。
第四種方法:利用IFERROR函數來屏蔽錯誤值。IFERROR函數包括兩個參數,它表示的意義是這樣的:假如第一參數的運算返回的結果是錯誤值,則在單元格內返回第二參數的值。在本例中,如果A列數據除以B列數據返回錯誤,則在單元格中返回0。
注意:此函數僅在2007及以上版本Excel中才可以使用。
第五種方法:改變引用錯誤值數據的公式。這種方法是在不改變原有的可能產生錯誤值公式的基礎上,通過改變下一步運算公式來得到正確結果。本方法中,將C7單元格公式改成:=SUM(IFERROR(C2:C6,0)),按照數組方式運行也達到了將C列數據錯誤值轉化成0參與運算的目的。
注意:此時單元格中錯誤值仍然可以顯示出來,對閱讀版面和打印效果產生不利影響,可以通過第六種方法屏蔽。
第六種方法:在第五種方法的基礎上,用條件格式將錯誤值所在單元格的字體顏色改成和單元格底色一樣的顏色,視覺效果上就看不到了。步驟如下:
1)從C2起,選中C2:C6區域
2)【開始】-【條件格式】-【新建規則】-【使用公式確定要設置格式的單元格】
3)在【編輯規則說明】處輸入:=ISERROR(C2)
4)點擊【格式】-【字體】-【顏色】- 選擇【白色】,確定即可
這時單元仍然返回#DIV/0!的錯誤值,但是已經看不到了,且不影響打印效果。
注意事項
函數、公式返回結果出現了錯誤值第一時間要查看錯誤值產生的原因,不要輕易使用上述屏蔽方法。因為很可能是函數、公式書寫錯誤導致錯誤值的產生。