處理錯誤的 IFNA 跟 IFERROR

更新於 發佈於 閱讀時間約 4 分鐘
這次要介紹的是 IFNA 和 IFERROR 這兩個函式,它們可以幫助我們在試算表中可以靈活處理錯誤和缺失的數據。(延伸閱讀:#N/A、#ERROR! —— 我到底哪裡做錯了?錯誤疑難排解術
語法很單純,但也很實用!我們一起來看看怎麼做。

IFNA

按照 IFNA 字面上的意思來看,它就是「如果值發生 #N/A 錯誤,那就做點什麼事」,的意思。語法很簡單:
=IFNA(值, [#N/A 錯誤時要做的事])
  • 值:要給 IFNA 函式檢查是否有 #N/A 錯誤的值、或儲存格位址。
  • #N/A 時顯示的值:選填,選填,你可以在這裡寫像是「有錯誤」、「!!!」或任何提醒自己有錯誤的文字、數字,或是要執行的函式也可以。如果這邊什麼都不寫的話,IFNA 則會在有 N/A 錯誤時回傳空白;如果沒有 N/A 錯誤的話,那就會正常回傳第一個參數的值。
舉例來說:
=IFNA(A1, 0)
把上面這東西翻成白話文的話,就是:
  • 如果 A1 是 #N/A 錯誤,那就回傳 0。
  • 如果 A1 不是 #N/A 錯誤,那就回傳 A1。
所以你可以把它 IFNA(還有等等要介紹的 IFERROR)當作一個保險,來確保就算函式運算出現 #N/A,也還會顯現對應的值,讓你做後續的計算或是除錯。
如果我要用 XLOOKUPVLOOKUP、HLOOKUP、MATCH、QUERY 這類查詢類的函式,也預期到有可能會發生 N/A 錯誤的話,我通常就會包一層 IFNA,像是這樣:
=IFNA(VLOOKUP(...
=IFNA(QUERY(...

IFERROR

再來是 IFERROR。它其實也是類似的概念,也就是「如果值發生任何錯誤,那就做點什麼事」的意思。語法也很像:
=IFERROR(值, 錯誤時要做的事)
定義也和剛剛差不多:
  • 值:要給 IFERROR 函式檢查是否有錯誤的值、或儲存格位址。
  • 錯誤時要做的事:選填,你可以在這裡寫像是「有錯誤」、「!!!」或任何提醒自己有錯誤的文字、數字,或是要執行的函式也可以。如果這邊什麼都不寫的話,IFERROR 則會在有錯誤時回傳空白;如果沒錯誤的話,那就會正常回傳第一個參數的值。
例如說:
=IFERROR(AVERAGE(A1:A10), "有錯誤!")
把上面這串一樣翻成白話文的話:
  • 如果 AVERAGE 的運算有錯誤,就會回傳「有錯誤!」這串文字
  • 如果 AVERAGE 的運算沒有錯誤,就會回傳 AVERAGE 的計算結果
它跟剛剛看到的 IFNA 的唯一差別,就是 IFERROR 可以處理任何一種錯誤,而 IFNA 只會處理 N/A 錯誤。
那你可能會問:

我可以用 IFERROR 就好了嗎?

當然可以!但我喜歡把 IFNA 跟 IFERROR 這兩個函式分開用途用。在這邊分享一個在實務上遇到的例子,或許可以說明為什麼我喜歡這麼做。
我某天在寫函式的時候,拼錯了一個字母:
=IFERROR(VLOKUP("我想找這個", A1:B10, 2, false), "有錯誤!")
我原本想寫的是 VLOOKUP,但沒意識到拼錯了。IFERROR 的確會讓我會知道這串函式「有錯誤!」:
可是我當時以為是 VLOOKUP 沒在指定的範圍內找到值、或是我資料格式沒做對、或是什麼我沒遇過的狀況,可是繞了一大圈後,才發現原來是自己函式拼錯,資料根本沒問題。
可是如果我一開始寫的是:
=IFNA(VLOKUP("我想找這個", A1:B10, 2, false), "有錯誤!")
這時候 IFNA 會回傳 #NAME? 錯誤:
這樣我一開始就根本不用花時間瞎忙瞎猜,因為它明確提示我的函式可能拼錯了!

如果你喜歡這次的文章,歡迎你透過這些方法支持我:
・按下愛心、按下儲存
・留言告訴我你的想法
・加入喜特先生的官方沙龍,即時看到我發布的教學
・付費訂閱喜特先生的官方沙龍,加入每月小額訂閱方案
・追蹤喜特先生的 Facebook
・按這邊小額贊助我的創作!
想要看更多文章,歡迎來到我的 Notion 頁面找找有沒有你需要的資源喔!
我是喜特先生,Mr. Sheet,我們下個教學見!
avatar-img
喜特先生官方沙龍
16.9K會員
149內容數
簡潔,快速,有效, 讓你的日常生活、工作生產力大提升! ___ 快按「加入」,馬上追蹤所有喜特先生的更新,有 Google 試算表教學、Google Apps Script 的研究、數據分析課程的開箱,還有 Google 試算表疑難雜症的解題分享唷!💪
留言
avatar-img
留言分享你的想法!
喜特先生 Mr. Sheet -avatar-img
發文者
2023/10/16
AND、OR、NOT(二):實際應用提及了這篇文章,趕快過去看看吧!
喜特先生官方沙龍 的其他內容
之前提過 IF 跟 IFS 這兩個可以做條件判斷的函式,但你知道其實條件判斷還有一手!今天要介紹的叫 SWITCH 函式,它跟 IF、IFS 一樣,可以做多條件的判斷,且可以在沒有相符結果時,傳回你指定的預設值。
這次要介紹的兩個叫做 VSTACK 跟 HSTACK,可以讓你把範圍縱向或橫向堆疊起來,省去合併資料的一點麻煩!
2023 到了,今年有什麼新規劃嗎?或是有什麼重要的日子值得倒數一下呢?我們可以在試算表用三個方法,計算兩個日期的相差天數,當然計算倒數日也可以。一起來看看吧!
終於要來完成資料驗證系列文的最後一塊拼圖,核取方塊了! 核取方塊能做的應用有很多,在這邊我會分享兩個,歡迎大家來看看~
在資料驗證(三):自訂公式的教學,我寫了一串可以驗證身分證字號的公式: 如果 A1 是正確的身分證字號格式就會是 TRUE、錯誤的話則是 FALSE。 我會在這篇文稍稍解釋一下上面這串是怎麼做的,也歡迎大家在文章下方留言,告訴我你的看法、或是有更好的建議也可以跟我說說!
上兩週我們介紹了資料驗證是什麼,要怎麼利用它來製作下拉式選單、驗證使用者是否輸入特定的文字、日期和數字,還有當輸入不符合驗證規則的時候、試算表會怎麼樣提醒使用者的設定方式。那麼,這次我們要來接著介紹怎麼用「自訂公式」來設定資料驗證。
之前提過 IF 跟 IFS 這兩個可以做條件判斷的函式,但你知道其實條件判斷還有一手!今天要介紹的叫 SWITCH 函式,它跟 IF、IFS 一樣,可以做多條件的判斷,且可以在沒有相符結果時,傳回你指定的預設值。
這次要介紹的兩個叫做 VSTACK 跟 HSTACK,可以讓你把範圍縱向或橫向堆疊起來,省去合併資料的一點麻煩!
2023 到了,今年有什麼新規劃嗎?或是有什麼重要的日子值得倒數一下呢?我們可以在試算表用三個方法,計算兩個日期的相差天數,當然計算倒數日也可以。一起來看看吧!
終於要來完成資料驗證系列文的最後一塊拼圖,核取方塊了! 核取方塊能做的應用有很多,在這邊我會分享兩個,歡迎大家來看看~
在資料驗證(三):自訂公式的教學,我寫了一串可以驗證身分證字號的公式: 如果 A1 是正確的身分證字號格式就會是 TRUE、錯誤的話則是 FALSE。 我會在這篇文稍稍解釋一下上面這串是怎麼做的,也歡迎大家在文章下方留言,告訴我你的看法、或是有更好的建議也可以跟我說說!
上兩週我們介紹了資料驗證是什麼,要怎麼利用它來製作下拉式選單、驗證使用者是否輸入特定的文字、日期和數字,還有當輸入不符合驗證規則的時候、試算表會怎麼樣提醒使用者的設定方式。那麼,這次我們要來接著介紹怎麼用「自訂公式」來設定資料驗證。
你可能也想看
Google News 追蹤
Thumbnail
【vocus 精選投資理財/金融類沙龍,輸入 "moneyback" 年訂閱 9 折】 市場動盪時,加碼永遠值得的投資標的——「自己」 川普政府再度拋出關稅震撼彈,全球市場應聲重挫,從散戶到專業投資人,都急著找尋買進殺出的訊號,就是現在,輪到知識進場!把握時機讓自己升級,別放過反彈的機會!
Thumbnail
就能get 同款 韓系質感包👜 而且獨家下殺 299元up 讓它成為你的 必備單品吧! - momo優惠折扣碼 領取超簡單❤️ 點擊右下角 會員中心 - 折價券 輸入 FLOWERMOMO 點擊歸戶 就能領取 商店優惠券 啦! - https://momo.dm/RaFNzR
Thumbnail
momo店+ S999純銀四葉草項鍊,精緻細膩,代表愛情、希望、信念與幸運,是送給自己或別人的完美禮物。限時下殺299元起,超取免運!
Thumbnail
剛剛介紹了壁癌的各種可能的成因, 現在補充說明, 處理壁癌的第一步就是要把牆面打乾淨, 打到見結構,清乾淨了, 後續泥做再進場施作防水工程, 同時在水泥粉光之前, 也要按照比例加入防水粉,防水劑, 這樣一來比較能確保持久. 舉例我處理過最嚴重的是外牆面滲漏嚴重到內牆面有一道道水流.
Thumbnail
我們系統目前仍然是以支持協助先生外遇的太太們為主,太太外遇的先生,我們也有協助一對一流動情緒,一樣可以上課,但要上課只能自己看影片寫作業再跟我約一對一,不能進課程群,主要原因是風暴期間大家都心靈受傷很容易互相同理甚至互相吸引,為避免擦槍走火,因此把男性女性分開來。 然而如果只是流動情緒,對走過風暴
Python 中的錯誤處理機制十分靈活,能讓我們捕捉、管理並處理程式中可能出現的各種錯誤和異常情況。本文將深入介紹 Python 中的錯誤處理語法,包括 try-except 結構、raise 用法以及如何自訂例外類別,讓程式更具容錯性和健壯性。
Thumbnail
在 Python 中,你可以使用 raise 關鍵字手動觸發錯誤。這對於測試異常處理或在特定情況下停止程式執行非常有用。 本文主說明在影像處理中常見的異常情況,展示如何使用 raise 來觸發不同類型的錯誤。 1. 檔案不存在 (FileNotFoundError) 在影像處理中,如果要讀取
在處理數據時,最可能會遇到數據中含有None的時候,若沒有處理就進行運算就會造成程式崩潰或者報錯 數據中含有None input_list = [(42, 292), (28, 296), (999, 92), (993, 46), (219, 4), (279, 2), (None, None
Thumbnail
當你在開發程式時,難免會遇到各種錯誤和異常情況。這些錯誤可能是因為代碼中的錯誤、外部資源無法訪問或其他不可預期的狀況。為了提高程式的可靠性、穩定性和可維護性,我們使用「例外處理」來處理這些異常情況。
Thumbnail
本文深入探討 Power Automate Desktop 中除錯的重要性,介紹了中斷點、從這裡執行和逐步執行這三個功能的使用方法和效益。除錯過程中的重要性和影響也得到了詳細闡述,讀者可藉此瞭解如何輕鬆應對 RPA 流程開發中的各種挑戰。
Thumbnail
本章節介紹C#的「例外處理」,包括使用try-catch語法處理錯誤,finally關鍵字的使用,以及如何主動引發和自定義異常。
Thumbnail
例外處理是Python中的重要概念,用於控制並處理程序異常,防止程序崩潰和數據損失。它包括try, except, else和finally等語法結構,可用於對特定錯誤進行處理,或主動觸發和自定義異常。
Thumbnail
在今年1月19日,日本的甲府地方法院對被告遠藤裕喜判決死刑,判決當天,各大媒體爭相報導,因為這是在日本少年法修法後,第一件對「特定少年」做出的死刑判決[1],這名少年後續撤回上訴,成為日本第一宗「特定少年」死刑確定的案件[2]。這位被告遠藤裕喜,是對同班的女同學求愛不成,便前往對方的家中刺殺其父母,
Thumbnail
【vocus 精選投資理財/金融類沙龍,輸入 "moneyback" 年訂閱 9 折】 市場動盪時,加碼永遠值得的投資標的——「自己」 川普政府再度拋出關稅震撼彈,全球市場應聲重挫,從散戶到專業投資人,都急著找尋買進殺出的訊號,就是現在,輪到知識進場!把握時機讓自己升級,別放過反彈的機會!
Thumbnail
就能get 同款 韓系質感包👜 而且獨家下殺 299元up 讓它成為你的 必備單品吧! - momo優惠折扣碼 領取超簡單❤️ 點擊右下角 會員中心 - 折價券 輸入 FLOWERMOMO 點擊歸戶 就能領取 商店優惠券 啦! - https://momo.dm/RaFNzR
Thumbnail
momo店+ S999純銀四葉草項鍊,精緻細膩,代表愛情、希望、信念與幸運,是送給自己或別人的完美禮物。限時下殺299元起,超取免運!
Thumbnail
剛剛介紹了壁癌的各種可能的成因, 現在補充說明, 處理壁癌的第一步就是要把牆面打乾淨, 打到見結構,清乾淨了, 後續泥做再進場施作防水工程, 同時在水泥粉光之前, 也要按照比例加入防水粉,防水劑, 這樣一來比較能確保持久. 舉例我處理過最嚴重的是外牆面滲漏嚴重到內牆面有一道道水流.
Thumbnail
我們系統目前仍然是以支持協助先生外遇的太太們為主,太太外遇的先生,我們也有協助一對一流動情緒,一樣可以上課,但要上課只能自己看影片寫作業再跟我約一對一,不能進課程群,主要原因是風暴期間大家都心靈受傷很容易互相同理甚至互相吸引,為避免擦槍走火,因此把男性女性分開來。 然而如果只是流動情緒,對走過風暴
Python 中的錯誤處理機制十分靈活,能讓我們捕捉、管理並處理程式中可能出現的各種錯誤和異常情況。本文將深入介紹 Python 中的錯誤處理語法,包括 try-except 結構、raise 用法以及如何自訂例外類別,讓程式更具容錯性和健壯性。
Thumbnail
在 Python 中,你可以使用 raise 關鍵字手動觸發錯誤。這對於測試異常處理或在特定情況下停止程式執行非常有用。 本文主說明在影像處理中常見的異常情況,展示如何使用 raise 來觸發不同類型的錯誤。 1. 檔案不存在 (FileNotFoundError) 在影像處理中,如果要讀取
在處理數據時,最可能會遇到數據中含有None的時候,若沒有處理就進行運算就會造成程式崩潰或者報錯 數據中含有None input_list = [(42, 292), (28, 296), (999, 92), (993, 46), (219, 4), (279, 2), (None, None
Thumbnail
當你在開發程式時,難免會遇到各種錯誤和異常情況。這些錯誤可能是因為代碼中的錯誤、外部資源無法訪問或其他不可預期的狀況。為了提高程式的可靠性、穩定性和可維護性,我們使用「例外處理」來處理這些異常情況。
Thumbnail
本文深入探討 Power Automate Desktop 中除錯的重要性,介紹了中斷點、從這裡執行和逐步執行這三個功能的使用方法和效益。除錯過程中的重要性和影響也得到了詳細闡述,讀者可藉此瞭解如何輕鬆應對 RPA 流程開發中的各種挑戰。
Thumbnail
本章節介紹C#的「例外處理」,包括使用try-catch語法處理錯誤,finally關鍵字的使用,以及如何主動引發和自定義異常。
Thumbnail
例外處理是Python中的重要概念,用於控制並處理程序異常,防止程序崩潰和數據損失。它包括try, except, else和finally等語法結構,可用於對特定錯誤進行處理,或主動觸發和自定義異常。
Thumbnail
在今年1月19日,日本的甲府地方法院對被告遠藤裕喜判決死刑,判決當天,各大媒體爭相報導,因為這是在日本少年法修法後,第一件對「特定少年」做出的死刑判決[1],這名少年後續撤回上訴,成為日本第一宗「特定少年」死刑確定的案件[2]。這位被告遠藤裕喜,是對同班的女同學求愛不成,便前往對方的家中刺殺其父母,