使用 IFNA 定向处理缺失查找
仅处理查找产生的 NA 错误,同时保留其他错误
使用 IFNA 定向处理缺失查找 是 CoddyKit 上的免费 Excel Formulas Academy 课时。 这是第 3 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Excel Formulas Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Excel Formulas Academy 课程共包含 4 节课。
IFNA 的作用
IFERROR 功能强大,但会隐藏所有错误。有时这会隐藏得太多。如果查找失败是因为数据错误,而不是因为缺少匹配项,您应该看到这个问题,而不是把它掩盖起来。
IFNA 函数解决了这个问题。它只处理 #N/A 错误,让其他所有错误正常显示。
这使它成为查找场景中的精准工具:在查找中,#N/A 是预期且无害的错误,而其他任何错误都可能是真正值得发现的缺陷。
IFNA 语法
IFNA 看起来与 IFERROR 类似,并接受两个参数:
- 值 要尝试的公式
- 出现 #N/A 时的值 仅当结果为
#N/A时要显示的内容
其形式为 =IFNA(your_formula, fallback)。如果公式返回 #N/A,您会看到备用值;如果公式返回其他错误,该错误会继续显示。
=IFNA(VLOOKUP(A2,Data!A:B,2,FALSE), "Not found")IFNA 与 IFERROR 的区别
这个区别很重要。请考虑这样一种查找:列索引错误,导致出现 #REF! 错误。
IFERROR会用您的备用值替换该#REF!,从而掩盖真正的错误。IFNA会让#REF!继续显示,这样您就知道需要修复公式。
对于真正缺少匹配项的情况,两者的行为相同,都会返回您的友好提示。IFNA 只是不会掩盖错误。
清晰的查找结果
下面是一种典型用法:您要查找客户姓名,并希望在姓名不在表中时显示清晰的标签。
如果客户确实不存在,您会得到 "Unknown customer"。但如果您误指向了错误的表,或破坏了列索引,底层错误就会显示出来,这样您可以修复它。
这可以避免您在不知情的情况下信任错误的数字。
=IFNA(VLOOKUP(A2,Customers!A:C,3,FALSE), "Unknown customer")IFNA 与 XLOOKUP 搭配使用
XLOOKUP 在找不到匹配项时也会返回 #N/A,因此 IFNA 同样适合与它搭配使用。
虽然 XLOOKUP 自带未找到时的值参数,但在编辑较旧的公式,或希望在多个查找中保持一致时,IFNA 会很有用。
两种方法都能为查找失败提供清晰的结果,同时让真正的错误保持可见。
=IFNA(XLOOKUP(A2,Names,Emails), "No email on file")改为返回数字
备用值也可以是数字。当缺少匹配项时,后续计算应将其视为零,请返回 0,而不是文本。
例如,查找一项不适用的折扣时,可以合理地默认为 0,这样合计仍能正常计算。
在数值列中返回 "None" 这样的文本,会在后续计算中导致 #VALUE! 错误,因此请根据单元格的用途匹配备用值的类型。
=IFNA(VLOOKUP(A2,Discounts!A:B,2,FALSE), 0)使用 IFNA 进行诊断
在测试期间,一个很好的习惯是在构建公式时使用 IFNA,而不是 IFERROR。
由于 IFNA 只会隐藏预期的 #N/A,任何意外错误(例如 #VALUE! 或 #REF!)都会立即显现出来。
如果您确实想要抑制所有错误,之后可以切换到 IFERROR;但从 IFNA 开始有助于您尽早发现错误。
与实际计算结合
您可以将 IFNA 放在为更大公式提供数据的查找外面。在这里,缺失的价格默认为零,然后将数量与其相乘。
如果价格存在,您会得到实际的行合计。如果产品不在价格表中,价格会变成 0,行合计也会是 0;而任何结构性错误仍会显示出来。
这样可以让销售工作表既整洁又值得信赖。
=IFNA(VLOOKUP(A2,Prices!A:B,2,FALSE),0) * C2可用性说明
IFNA 在新版 Excel 和 Google Sheets 中均可用,因此适用于您今天使用的大多数电子表格。
在非常旧的 Excel 版本中,它可能不存在。这时,人们会将 IF 与 ISNA 组合起来模拟它;ISNA 专门检查 #N/A 错误。
您将在下一课中学习 IS 系列错误测试,从而获得更加精细的控制。
=IF(ISNA(VLOOKUP(A2,Data!A:B,2,0)), "Not found", VLOOKUP(A2,Data!A:B,2,0))在整列中使用 IFNA
当您将查找公式填充到数百行时,IFNA 尤其有用。有些键能够匹配,有些则无法匹配,而您希望为未匹配项显示整洁的标签。
向下填充此公式后,已知商店会显示真实的区域,而尚未出现在主列表中的商店则会显示 "Region TBD"。
由于 IFNA 会保留其他错误,列顶部的单个损坏引用仍会提醒您,而不会被标签隐藏。
=IFNA(VLOOKUP(A2,Stores!A:C,3,FALSE), "Region TBD")选择 IFNA 还是 IFERROR
一个简单的规则可以帮助您做出选择:
- 对于查找,如果您想处理未匹配项但仍要查看真正的错误,请使用 IFNA。
- 当任何错误都是预期的且无害时,例如除法比率,请使用 IFERROR。
IFNA 是更谨慎、更精准的选项。它只隐藏一种情况,并让您负责修复其余问题。
快速检查
测试您对 IFNA 的理解。
回顾:IFNA
您学会了针对性的查找辅助函数:
=IFNA(value, value_if_na)仅处理 #N/A 错误。- 所有其他错误都会继续显示,因此真正的错误不会被隐藏。
- 对于 VLOOKUP 和 XLOOKUP 的未匹配项,它是安全的选择。
- 请根据单元格后续的使用方式,将回退值设置为相应的文本或数字类型。
接下来,您将学习 ISERROR 及其相关函数,以便在处理错误之前先进行测试。
用 AI 导师学习 Excel — 免费
在浏览器中编写并运行真实代码,获得全天候 AI 导师的即时帮助,并在网页或应用中继续学习。
- 课程
- 30
- 课程
- 120
常见问题解答
「使用 IFNA 定向处理缺失查找」课时是免费的吗?
是的 — 「使用 IFNA 定向处理缺失查找」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Excel Formulas Academy 课程的其余内容,请升级到 CoddyKit PRO。 Excel Formulas Academy 课程共包含 4 节课。
「使用 IFNA 定向处理缺失查找」这节课中我会学到什么?
仅处理查找产生的 NA 错误,同时保留其他错误 你通过在浏览器中直接运行的动手代码来练习 Excel Formulas Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 Excel Formulas Academy 需要有经验吗?
无需任何先前经验。CoddyKit 上的 Excel Formulas Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 3 节课,共 4 节。
「使用 IFNA 定向处理缺失查找」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 Excel Formulas Academy 课中编写并运行代码吗?
能。每节 Excel Formulas Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。
此课程中的所有课时
- 了解错误类型
- 使用 IFERROR 捕获错误
- 使用 IFNA 定向处理缺失查找
- 使用 ISERROR 检测问题