0Pricing
Excel Formulas Academy · 课时

完全匹配与近似匹配

在 VLOOKUP 中选择 TRUE 或 FALSE 作为匹配类型

完全匹配与近似匹配 是 CoddyKit 上的免费 Excel Formulas Academy 课时。 这是第 2 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Excel Formulas Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Excel Formulas Academy 课程共包含 4 节课。

第四个参数很重要

VLOOKUP 的最后一个参数区域查找决定了查找方式。它虽然简单,却非常重要:

  • FALSE(或 0)表示精确匹配
  • TRUE(或 1)表示近似匹配

选错参数是电子表格中最常见的错误之一。本课将准确说明各自的使用时机。

=VLOOKUP(value, table, col, FALSE)

使用 FALSE 进行精确匹配

精确匹配会查找完全相同的值。如果找不到该值,VLOOKUP 会返回 #N/A 错误,而不是进行猜测。

当您查找产品编码、员工编号或电子邮件地址等唯一标识符时,请使用 FALSE,因为只有完全匹配才是正确结果。

进行精确匹配时,表格不需要排序。VLOOKUP 会逐项扫描,直到找到该值。

=VLOOKUP("A100", A1:C4, 3, FALSE)

精确匹配会返回什么

在我们的价格表中(A100 苹果 0.50、B200 香蕉 0.30、C300 樱桃 1.20),查找已存在的编码可以得到正确结果:

返回1.20。但是,如果您查找不存在的编码,例如 "Z999",就会得到 #N/A。这个错误其实很有用:它能告诉您该项目确实缺失,而不是返回错误的相邻项。

=VLOOKUP("C300", A1:C4, 3, FALSE)

使用 TRUE 进行近似匹配

近似匹配会查找小于或等于查找值的最大值。它适用于区间和分档,而不是精确的编号。

典型用途是分档表:税率档位、运费区间、成绩分界或批量折扣等。在这些情况下,某个值会落在两个阈值之间。

使用 TRUE 有一条关键规则,下一场景将介绍这条规则。

=VLOOKUP(value, table, col, TRUE)

TRUE 要求表格已排序

要使近似匹配正常工作,第一列必须按升序排列(从小到大)。VLOOKUP 会沿着这一列向下查找,并停在最后一个不超过查找值的值上。

如果这一列没有排序,TRUE 会返回不可预测的错误结果,而且不会显示任何错误。这种静默失败正是许多人除非确实需要分档,否则会避免使用 TRUE 的原因。

成绩分档示例

假设成绩表位于 A1:B5,并且按最低分数升序排列:

  • 0 = F
  • 60 = D
  • 70 = C
  • 80 = B
  • 90 = A

分数为76时,应返回C,因为 76 落在 70-79 分档中。公式使用 TRUE,以便找到不超过 76 的最高阈值:

=VLOOKUP(76, A1:B5, 2, TRUE)

逐步了解分档匹配

当查找值为 76 且使用 TRUE 时,VLOOKUP 会沿着已排序的阈值向下读取:0、60、70、90……它会逐一比较。

  • 0 小于或等于 76:继续查找
  • 60 小于或等于 76:继续查找
  • 70 小于或等于 76:继续查找
  • 90 大于 76:停止

它会回退到最后一个有效行(70),并返回该分档:C。近似匹配本质上是在两个阈值之间进行查找。

=VLOOKUP(76, A1:B5, 2, TRUE)

省略参数的风险

如果完全省略第四个参数,VLOOKUP 会默认使用 TRUE(近似匹配)。这会让许多原本期待精确匹配的人感到意外。

在未排序的列表中使用 =VLOOKUP(A2, Data!A:B, 2) 这样的公式,可能会在不显示任何错误的情况下返回错误值。安全的做法是:除非您确实要在已排序的表格中进行分档匹配,否则始终输入 FALSE。

=VLOOKUP(A2, Data!A:B, 2, FALSE)

并列比较

下面可以一目了然地看出区别:

  • FALSE / 精确匹配:表格不必排序,缺失值返回 #N/A,最适合编号和编码
  • TRUE / 近似匹配:表格必须按升序排列,处于范围内的值不会返回 #N/A,最适合分档和区间

请根据您要回答的问题进行选择:“这个完全相同的项目是否存在?”使用 FALSE;“这个值属于哪个分档?”使用 TRUE。

实际应用:运费分档

D2 中的重量需要从 A2:B6 中已排序的分档表获取运费(阈值为 0、1、5、10、20 千克)。近似匹配会选择正确的分档:

如果 D2 为 7,它会落入 5 千克分档,并返回该分档的费用。修改重量后,分档会立即更新,无需列出每一种可能的重量。

=VLOOKUP(D2, $A$2:$B$6, 2, TRUE)

速度与可靠性的权衡

这里还有一个细微的性能因素。在非常大的已排序表格中,近似匹配(TRUE)可能更快,因为电子表格可以在已排序的值中快速跳转,而不必扫描每一行。

但是,速度永远不能牺牲正确性。如果您的数据未排序,或者您需要查找精确编号,请始终选择 FALSE。快速返回错误结果比稍慢地返回正确结果更糟糕。对于现代电子表格和通常大小的表格,两者的差异很少明显,因此为了安全起见,请默认使用 FALSE。

=VLOOKUP(A2, $A$1:$C$1000, 3, FALSE)

快速检查

请根据具体情况选择正确的匹配类型。

回顾:精确匹配与近似匹配

关键要点:

  • FALSE = 精确匹配,表格未排序也没有问题,缺失值返回 #N/A
  • TRUE = 近似匹配,第一列必须按升序排列,会查找不超过目标值的最大值
  • 省略参数时默认使用 TRUE,因此请始终明确指定该参数
  • 编号和编码使用精确匹配;分档和区间使用近似匹配

接下来,您将改变查找方向,使用 HLOOKUP 跨行查找。

=VLOOKUP(A2, $A$1:$C$100, 3, FALSE)

常见问题解答

「完全匹配与近似匹配」课时是免费的吗?

是的 — 「完全匹配与近似匹配」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Excel Formulas Academy 课程的其余内容,请升级到 CoddyKit PRO。 Excel Formulas Academy 课程共包含 4 节课。

「完全匹配与近似匹配」这节课中我会学到什么?

在 VLOOKUP 中选择 TRUE 或 FALSE 作为匹配类型 你通过在浏览器中直接运行的动手代码来练习 Excel Formulas Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 Excel Formulas Academy 需要有经验吗?

无需任何先前经验。CoddyKit 上的 Excel Formulas Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 2 节课,共 4 节。

「完全匹配与近似匹配」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 Excel Formulas Academy 课中编写并运行代码吗?

能。每节 Excel Formulas Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. VLOOKUP 如何搜索表格
  2. 完全匹配与近似匹配
  3. 使用 HLOOKUP 跨行搜索
  4. 为什么 VLOOKUP 有时会失败
← 返回 Excel Formulas Academy