處理錯誤的 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,我們下個教學見!
12.5K會員
147內容數
簡潔,快速,有效, 讓你的日常生活、工作生產力大提升! ___ 快按「加入」,馬上追蹤所有喜特先生的更新,有 Google 試算表教學、Google Apps Script 的研究、數據分析課程的開箱,還有 Google 試算表疑難雜症的解題分享唷!💪
留言0
查看全部
發表第一個留言支持創作者!
喜特先生官方沙龍 的其他內容
之前提過 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
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
11/20日NVDA即將公布最新一期的財報, 今天Sell Side的分析師, 開始調高目標價, 市場的股價也開始反應, 未來一週NVDA將重新回到美股市場的焦點, 今天我們要分析NVDA Sell Side怎麼看待這次NVDA的財報預測, 以及實際上Buy Side的倉位及操作, 從
Thumbnail
Hi 大家好,我是Ethan😊 相近大家都知道保濕是皮膚保養中最基本,也是最重要的一步。無論是在畫室裡長時間對著畫布,還是在旅途中面對各種氣候變化,保持皮膚的水分平衡對我來說至關重要。保濕化妝水不僅能迅速為皮膚補水,還能提升後續保養品的吸收效率。 曾經,我的保養程序簡單到只包括清潔和隨意上乳液
Thumbnail
在今年1月19日,日本的甲府地方法院對被告遠藤裕喜判決死刑,判決當天,各大媒體爭相報導,因為這是在日本少年法修法後,第一件對「特定少年」做出的死刑判決[1],這名少年後續撤回上訴,成為日本第一宗「特定少年」死刑確定的案件[2]。這位被告遠藤裕喜,是對同班的女同學求愛不成,便前往對方的家中刺殺其父母,
Thumbnail
當我們談論 Web 應用開發時,錯誤處理和日誌記錄是兩個相對容易被忽視,但卻非常重要的環節。在本文中,我們將探索如何在 Gin Web 框架中實現這兩項功能。
Thumbnail
學習軟體開發的路上常常苦於網路資訊爆炸嗎? 教學何其多,但卻遇到無法明確選擇的困境呢? 歡迎加入「🔒 阿Han的軟體心法實戰營」, 這裡不給您冗餘的雜訊, 單刀直入直接送您業界開發重點, 避開選擇障礙的困境, 讓您獲得業界標準的開發起手式, 成為Top 1的頂尖人才。 人生的道路中總會來點意外與
Thumbnail
👨‍💻簡介 在軟體開發中,錯誤無所不在。無論是網路請求失敗、檔案不存在,還是數學計算錯誤,處理錯誤是任何開發者的日常工作,系統的穩定度基本取決於對於錯誤處理是否全面,好的錯誤處理也可以產生適當的錯誤訊息,讓 Debug 更加容易。
Thumbnail
在程式設計中,錯誤處理是一個不可或缺的部分。C#提供了強大的錯誤處理機制,讓我們能夠更有效地管理和處理程式執行中可能出現的問題。本篇文章將帶你深入了解如何在C#中捕捉與處理錯誤,確保你的程式在遇到問題時能夠優雅地回應。
Thumbnail
身為人資或是用人主管都一定清楚找到"對的人"很重要,找到"對的人"不但可以減少公司各項成本,幸運的話,還可能馬上替企業帶來不錯的績效! 但現實總是殘酷,不一定每次招募都這麼順利,難免都會看走眼,找到"不對的人"進到公司。而另一種狀況更是特別,所謂"對的人"不一定永遠都是"對"的,也可能未來變成"不對
Thumbnail
Netflix韓劇《少年法庭》劇情講述一個在極度厭惡少年犯的心情及追求公義刑罰的堅定信念間努力求取平衡的法官,在凡事講求情分的同僚協同下,面對不同的少年犯罪事件,在每次審判的過程中,隨著主角們的調查一步步揭開加害者與被害者完全不同的心境,也帶出主角們隨之而生的情緒轉折與碰撞。
Thumbnail
裁判字號:臺灣高雄地方法院 109 年度勞訴字第 145 號民事判決 裁判日期:民國 111 年 06 月 29 日 裁判案由:確認僱傭關係存在等 主  文:確認原告與被告間僱傭關係存在。 原告主張: 原告受僱於被告公司,月薪新臺幣43,000元,原告於民國106年8月2日上班途中,在進入工作場所高
Thumbnail
身為B2B業務,應該有遇過這樣的狀況,收到客戶訂單,高興沒幾分鐘後發現,慘了,價格算錯了。 這種時候該怎麼辦? 基本上也就兩個處理方向 摸摸鼻子認帳。 不認帳,跟代理商說報錯了,並提供正確的報價。 但實務處理上根據以下兩種狀況要考慮
在寫程式裡面,錯誤的檢查和處理是一定要有的,也是相對重要的,但Solidity裡面並沒有ErrorMessage這種東西,有的是Require()、Revert()、Assert()這三個函數,作用大概也跟ErrorMessage差不多,這裡介紹這三種函數的用法
Thumbnail
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
11/20日NVDA即將公布最新一期的財報, 今天Sell Side的分析師, 開始調高目標價, 市場的股價也開始反應, 未來一週NVDA將重新回到美股市場的焦點, 今天我們要分析NVDA Sell Side怎麼看待這次NVDA的財報預測, 以及實際上Buy Side的倉位及操作, 從
Thumbnail
Hi 大家好,我是Ethan😊 相近大家都知道保濕是皮膚保養中最基本,也是最重要的一步。無論是在畫室裡長時間對著畫布,還是在旅途中面對各種氣候變化,保持皮膚的水分平衡對我來說至關重要。保濕化妝水不僅能迅速為皮膚補水,還能提升後續保養品的吸收效率。 曾經,我的保養程序簡單到只包括清潔和隨意上乳液
Thumbnail
在今年1月19日,日本的甲府地方法院對被告遠藤裕喜判決死刑,判決當天,各大媒體爭相報導,因為這是在日本少年法修法後,第一件對「特定少年」做出的死刑判決[1],這名少年後續撤回上訴,成為日本第一宗「特定少年」死刑確定的案件[2]。這位被告遠藤裕喜,是對同班的女同學求愛不成,便前往對方的家中刺殺其父母,
Thumbnail
當我們談論 Web 應用開發時,錯誤處理和日誌記錄是兩個相對容易被忽視,但卻非常重要的環節。在本文中,我們將探索如何在 Gin Web 框架中實現這兩項功能。
Thumbnail
學習軟體開發的路上常常苦於網路資訊爆炸嗎? 教學何其多,但卻遇到無法明確選擇的困境呢? 歡迎加入「🔒 阿Han的軟體心法實戰營」, 這裡不給您冗餘的雜訊, 單刀直入直接送您業界開發重點, 避開選擇障礙的困境, 讓您獲得業界標準的開發起手式, 成為Top 1的頂尖人才。 人生的道路中總會來點意外與
Thumbnail
👨‍💻簡介 在軟體開發中,錯誤無所不在。無論是網路請求失敗、檔案不存在,還是數學計算錯誤,處理錯誤是任何開發者的日常工作,系統的穩定度基本取決於對於錯誤處理是否全面,好的錯誤處理也可以產生適當的錯誤訊息,讓 Debug 更加容易。
Thumbnail
在程式設計中,錯誤處理是一個不可或缺的部分。C#提供了強大的錯誤處理機制,讓我們能夠更有效地管理和處理程式執行中可能出現的問題。本篇文章將帶你深入了解如何在C#中捕捉與處理錯誤,確保你的程式在遇到問題時能夠優雅地回應。
Thumbnail
身為人資或是用人主管都一定清楚找到"對的人"很重要,找到"對的人"不但可以減少公司各項成本,幸運的話,還可能馬上替企業帶來不錯的績效! 但現實總是殘酷,不一定每次招募都這麼順利,難免都會看走眼,找到"不對的人"進到公司。而另一種狀況更是特別,所謂"對的人"不一定永遠都是"對"的,也可能未來變成"不對
Thumbnail
Netflix韓劇《少年法庭》劇情講述一個在極度厭惡少年犯的心情及追求公義刑罰的堅定信念間努力求取平衡的法官,在凡事講求情分的同僚協同下,面對不同的少年犯罪事件,在每次審判的過程中,隨著主角們的調查一步步揭開加害者與被害者完全不同的心境,也帶出主角們隨之而生的情緒轉折與碰撞。
Thumbnail
裁判字號:臺灣高雄地方法院 109 年度勞訴字第 145 號民事判決 裁判日期:民國 111 年 06 月 29 日 裁判案由:確認僱傭關係存在等 主  文:確認原告與被告間僱傭關係存在。 原告主張: 原告受僱於被告公司,月薪新臺幣43,000元,原告於民國106年8月2日上班途中,在進入工作場所高
Thumbnail
身為B2B業務,應該有遇過這樣的狀況,收到客戶訂單,高興沒幾分鐘後發現,慘了,價格算錯了。 這種時候該怎麼辦? 基本上也就兩個處理方向 摸摸鼻子認帳。 不認帳,跟代理商說報錯了,並提供正確的報價。 但實務處理上根據以下兩種狀況要考慮
在寫程式裡面,錯誤的檢查和處理是一定要有的,也是相對重要的,但Solidity裡面並沒有ErrorMessage這種東西,有的是Require()、Revert()、Assert()這三個函數,作用大概也跟ErrorMessage差不多,這裡介紹這三種函數的用法