複製鏈接
請複製以下鏈接發送給好友

IsError函數

鎖定
IsError函數是Excel軟件中的一個函數。語法IsError(expression)必需的 expression 參數,可以是任何有效表達式。IsError 函數被用來確定一個數字或表達式是否錯誤。如果 expression 參數表示一個錯誤,則 IsError 返回 True;否則返回 False。
中文名
IsError函數
使用格式
ISERROR(value)
參數説明
Value表示需要測試的值或表達式
功    能
用於測試函數式返回的數值是否有錯誤
隸    屬
Excel軟件
配    套
IF函數

IsError函數簡介

函數名稱:ISERROR
主要功能:用於測試函數式返回的數值是否有錯。如果有錯,該函數返回TRUE,反之返回FALSE。
使用格式:ISERROR(value)
參數説明:Value表示需要測試的值或表達式。
應用舉例:輸入公式:=ISERROR(A35/B35),確認以後,如果B35單元格為空或“0”,則A35/B35出現錯誤,此時前述函數返回TRUE結果,反之返回FALSE。
特別提醒:此函數通常與IF函數配套使用,如果將上述公式修改為:=IF(ISERROR(A35/B35),"",A35/B35),如果B35為空或“0”,則相應的單元格顯示為空,反之顯示A35/B35的結果。 [1] 
IsError函數返回Boolean值,指出表達式是否為一個錯誤值。

IsError函數語法

必需的expression參數,可以是任何有效表達式。
利用CVErr函數將實數轉換成錯誤值就會建立錯誤值。IsError函數被用來確定一個數值表達式是否表示一個錯誤。如果expression參數表示一個錯誤,則IsError返回True;否則返回False。
ISERROR()函數主要用於判斷公式運行結果是否出錯。常用在容易出現錯誤的公式中,比如VLOOKUP函數的搜索的區域中找不到搜索值時就會出現“#N/A”的錯誤值:=VLOOKUP("張三",A:B,2,0)
當表中A列沒有內容為"張三"的單元格時,公式就返回“#N/A”的錯誤值。
這時只要在公式中加入ISERROR函數進行判斷就可以避免出現錯誤值而返回一個空值。公式如下:
=IF(ISERROR(VLOOKUP("張三",A:B,2,0)),"",VLOOKUP("張三",A:B,2,0))
當用sum函數對上述返回的”空值“累加時會出現錯誤,此時可把返回類型“空值”改為返回“零“值,則變為:=IF(ISERROR(VLOOKUP("張三",A:B,2,0)),"0",VLOOKUP("張三",A:B,2,0))

IsError函數公式解讀

=IF(ISERROR(VLOOKUP($A10,服裝批次!$A:$G,6,FALSE)),0,(VLOOKUP($A10,服裝批次!$A:$G,6,FALSE)))
先看內層:VLOOKUP($A10,服裝批次!$A:$G,6,FALSE)指的是在服裝批次表的a列查找當前表的A10單元格的值,找到後顯示找到的那個單元格向後第6列的單元格的值,false指精確匹配。
第二層:ISERROR函數指VLOOKUP($A10,服裝批次!$A:$G,6,FALSE)這個函數的值是不是存在(存在為false,不存在為true)。
最外層:if函數指如果ISERROR函數返回的是true(就是VLOOKUP($A10,服裝批次!$A:$G,6,FALSE)返回的值不存在)則當前單元格顯示0,否則顯示VLOOKUP($A10,服裝批次!$A:$G,6,FALSE)函數的值。
=IF(ISERROR(VLOOKUP($A1,$B$1:$B$8,1,FALSE)),TRUE,FALSE)
IF(iserror(這個套用格式是為了表格更美觀,其意義是:VLOOKUP函數顯示錯誤值的時候,顯示IF函數中指定的兩個結果。我通常是用""也就是空值來表示。而你這個公式是用的true和false表示。
至於1,那是根據你要得到的結果來確定的,比如,你這個公式中VLOOKUP函數的查詢區域只有一列,返回結果當然也不可能返回第二列,但有的時候是根本首列查詢到行,對應返回的是後邊某一列的值,這時就要用到數字了,比如2,是你查詢區域的第二列,注意是查詢區域的第二列,不是表格的第二列。

IsError函數用法介紹

圖1 圖1
Excel中iserror函數和iferror函數都是容錯而用的。看幫助文件,知道iserror函數用法是檢驗指定值,並根據參數取值返回結果:TRUE 或 FALSE。比如圖1所示A列的內容為一些錯誤值和數字。根據上面iserror函數用法介紹知道:=ISERROR(A2),返回TRUE;=ISERROR(A3),返回FALSE。如果需要使用iserror函數來實現這樣的效果:如果是錯誤值,返回0,如果是數字,返回本身數字,效果如C列這樣。我們可以用IF函數加一個判斷,公式為:=IF(ISERROR(A2),0,A2),下拉複製。

IsError函數使用情況

Excel中IFERROR函數的作用是:如果公式的計算結果為錯誤,則返回指定的值;否則返回公式的結果 [2] 
圖2 圖2
IFERROR函數用法:iferror(公式,錯誤值顯示的值)。通過圖2,可以看出來IFERROR函數第二參數為錯誤值需要顯示的值,同樣的,我們需要將A列的錯誤值顯示為0,其餘數字返回本身。可以使用公式:=IFERROR(A2,0),下拉完成。提示:IFERROR函數第二參數為0可以省略,因此公式還可以進一步簡化為:=IFERROR(A2,)。

IsError函數異同

兩個函數都可以起到容錯的作用,同樣的效果,使用IFERROR函數可以使公式更簡短。
總結兩個函數達到上面的效果:=IF(ISERROR(A2),0,A2)和=IFERROR(A2,),因此實際中建議多用IFERROR函數解決同類問題。
參考資料
  • 1.    IsError函數在Excel中的用途  .新浪.2011-05-07[引用日期2014-03-26]
  • 2.    袁梅枝, 王加松, 董娟. IF和ISERROR、MATCH函數在血吸蟲病資料對比分析中的應用[J]. 公共衞生與預防醫學, 2008, 19(5):97-98.