Excel VLOOKUP函数三种查找模式深度解析:精准、近似与模糊匹配
1. 从“会用”到“精通”:VLOOKUP的三种模式为何总让人混淆?
如果你在办公室里问一句“Excel里哪个函数最常用又最让人头疼?”,十有八九会听到“VLOOKUP”。这个函数几乎是所有职场人从Excel小白迈向进阶的必经之路,也是数据处理中绕不开的“拦路虎”。很多人能照着教程写出公式,完成简单的匹配,但一旦遇到稍微复杂点的需求,比如数据表里有些是精确的编码,有些是模糊的分类,或者需要根据数值范围查找对应等级,公式就立刻“罢工”,返回一堆令人沮丧的#N/A错误。
问题的核心,往往出在对VLOOKUP最后一个参数——**“查找模式”**的理解上。这个参数只有两个选择:FALSE(或0)和TRUE(或1),但它却决定了函数是进行“精准查找”、“近似查找”还是“模糊查找”。很多教程和速成指南会告诉你:“精确匹配用FALSE,模糊匹配用TRUE”,这句话本身没错,但它就像只给了你一把钥匙,却没告诉你哪扇门是防盗门,哪扇门是保险柜。结果就是,你拿着“模糊匹配”这把钥匙去开“精确查找”的门,自然打不开,还怪钥匙不好用。
我见过太多同事,在处理员工绩效评级(比如根据得分90-100为A,80-89为B)时,因为用了FALSE而匹配失败;也见过不少人在核对两列订单号时,因为用了TRUE而匹配出完全错误的结果。这背后的区别,绝不是“精确”和“模糊”两个词能简单概括的。今天,我们就抛开那些笼统的说法,深入到VLOOKUP函数的骨髓里,把“精准查找”、“近似查找”和“模糊查找”这三种工作模式的底层逻辑、适用场景和那些“坑爹”的细节,一次性地、彻底地讲清楚。让你下次再遇到VLOOKUP时,不再是碰运气,而是胸有成竹地选择正确的模式。
2. 精准查找(VLOOKUP(…, FALSE)):数据核对的“铁面判官”
当我们谈论VLOOKUP的“精准查找”时,指的是将最后一个参数设置为FALSE或0。这是VLOOKUP最经典、最常用的模式,也是大多数人学会的第一个VLOOKUP用法。它的行为逻辑非常简单直接:在查找区域的第一列中,必须找到一个与查找值完全一致的单元格,然后返回该行指定列的数据。如果找不到一模一样的,它就毫不留情地返回错误值#N/A。
2.1 精准查找的核心逻辑与典型场景
你可以把精准查找想象成一个非常严格的仓库管理员。你给他一个完整的零件编号(比如P-2024-001A),他会走到货架(查找区域的第一列)前,从头到尾一个一个地核对标签。只有当他找到一个标签,上面写的编号和你给的一字不差,包括大小写、空格和符号,他才会从该货格(对应行)里取出你指定位置的零件(返回对应列的值)。如果编号对不上,哪怕只差一个字母或者多了一个空格,他都会告诉你“找不到”(#N/A)。
它的典型应用场景几乎都围绕着“唯一标识符”的匹配:
- 数据核对与合并:这是它的主战场。比如,你有一张新订单表(表A)和一张包含所有产品信息的母表(表B)。你需要根据表A里的“产品SKU”号,去表B里找到对应的“产品名称”和“单价”。这里的“产品SKU”就是唯一标识符,必须精确匹配。
- 根据代码查询信息:根据员工工号查询姓名部门,根据学号查询成绩,根据身份证号查询户籍信息等。这些代码在理想情况下都是唯一的。
- 检测数据是否存在:经常与
IFERROR或ISNA函数结合使用。例如,=IF(ISNA(VLOOKUP(A2, $D$2:$F$100, 1, FALSE)), “不存在”, “已存在”),可以快速判断A2的值是否在D列列表中。
2.2 精准查找的“天坑”与避坑指南
然而,正是这种“铁面无私”的特性,让精准查找成了错误的重灾区。90%的#N/A错误都发生在这个模式下,原因往往不是函数用错了,而是数据“不干净”。
坑一:肉眼不可见的字符这是最隐蔽的坑。两个单元格看起来都是“1001”,但一个可能是文本格式“1001”,另一个是数字格式1001。对于VLOOKUP来说,这完全是两个不同的东西。此外,单元格里可能隐藏着空格(首尾空格或中间空格)、换行符、非打印字符等。这些“幽灵字符”会让精确匹配失效。
避坑操作:使用
TRIM()函数清除首尾空格,用CLEAN()函数清除非打印字符。对于数字和文本格式不一致的问题,可以统一用TEXT(数值, “0”)转为文本,或用VALUE(文本)转为数字。更稳妥的方法是,在查找前,确保两边的数据格式完全一致。
坑二:查找区域未排序或未锁定这不是精准查找特有的问题,但在这里影响巨大。如果你的查找值在查找区域的第一列里重复出现,VLOOKUP(…, FALSE)只会返回它找到的第一个匹配项。这可能导致结果不符合预期。另外,如果没使用绝对引用(如$A$2:$C$100),下拉公式时查找区域会错位。
避坑操作:对于可能存在重复键的数据,考虑是否应该用精准查找。如果必须用,确保数据逻辑正确。务必养成习惯,对查找区域使用绝对引用(按F4键),例如
VLOOKUP(A2, $D$2:$F$100, 3, FALSE)。
坑三:第三参数“列索引号”数错了这是一个低级但常见的错误。VLOOKUP(查找值, 查找区域, 列索引号, FALSE)中的“列索引号”,是从查找区域的第一列开始数的,而不是从整个工作表的A列开始数。如果你的查找区域是D2:F100,那么D列是第1列,E列是第2列,F列是第3列。
避坑操作:可以用
COLUMN()函数辅助。假设你要返回查找区域$D$2:$F$100中的F列(即第3列)数据,可以写成VLOOKUP(A2, $D$2:$F$100, COLUMN(F1)-COLUMN($D$1)+1, FALSE)。这样即使区域变动,列号也能自动计算。
个人心得:在处理任何需要精准查找的任务前,我的第一件事不是写公式,而是花5分钟清洗数据。用“分列”功能统一格式,用TRIM()处理一遍,再用“删除重复项”检查键值唯一性。这5分钟的投入,能省下后面半小时的debug时间。记住,对于VLOOKUP(…, FALSE)来说,数据质量就是一切。
3. 近似查找(VLOOKUP(…, TRUE)):区间匹配的“智能导航”
现在,我们进入VLOOKUP的另一个世界:将最后一个参数设置为TRUE或1,或者直接省略(因为TRUE是默认值)。很多人称之为“模糊查找”,但我更倾向于叫它“近似查找”或“区间查找”,因为它的行为模式有非常明确的数学规则,并非字面意义上的“模糊”。
这是VLOOKUP最被误解的功能。它不是为了让你去匹配“苹果公司”和“苹果”(水果)这种文本上的模糊,而是为了解决“根据数值查找所在区间”这类经典问题。
3.1 近似查找的底层运行机制
近似查找有一个至关重要的前提:查找区域的第一列必须是升序排列的。如果数据没有排序,结果将不可预测,几乎肯定是错的。
它的工作原理是这样的:当VLOOKUP(…, TRUE)启动时,它不会去寻找一个完全相等的值。相反,它会在升序排列的查找列中,寻找小于或等于查找值的最大值。找到这个值所在的行,然后返回指定列的数据。
举个例子,假设我们有一个绩效评级标准表(已按“最低分”升序排列):
| 最低分 | 等级 |
|---|---|
| 0 | D |
| 60 | C |
| 80 | B |
| 90 | A |
现在,我们要为得分87分的员工查找等级。公式=VLOOKUP(87, $A$2:$B$5, 2, TRUE)的执行过程是:
- 在A列(0, 60, 80, 90)中寻找小于或等于87的最大值。
- 90大于87,跳过;80小于87,且比60更接近87(因为要找最大值),所以锁定80所在的行。
- 返回该行第2列(B列)的值,即“B”。
所以,87分属于“80-89”区间,得到B级。同理,92分会找到90,返回A级;若得分为60,则找到60本身,返回C级;若得分为-5(小于最小值0),则返回#N/A。
3.2 近似查找的经典应用场景
理解了机制,它的应用场景就非常清晰了:
- 分数转等级:如上例,根据考试成绩、KPI得分确定优良中差。
- 税率/费率计算:根据收入区间查找对应税率,根据重量区间查找运费。
- 根据数值匹配范围:在工程或财务中,根据某个参数值查找对应的系数或折扣率。
这里必须纠正一个常见的误解:很多人试图用VLOOKUP(…, TRUE)来匹配文本的部分内容,比如用“张”去查找“张三”。这是完全错误的,并且不会得到你期望的结果。对于文本,近似查找会基于字母或拼音的顺序进行比较,其行为难以预测且通常无用。文本的部分匹配需要用通配符,那是另一种“模糊查找”,我们稍后讲。
3.3 近似查找的配置要点与常见错误
要点一:强制升序排序是铁律这是使用近似查找模式时,必须、一定、绝对要检查的条件。如果你的基础数据表不是按查找列升序排列的,结果就是一团乱麻。我建议在创建这类查询表时,就明确将其设置为一个“参数表”或“标准表”,并做好排序。
操作建议:选中查找列,点击“数据”选项卡中的“升序”排序。如果数据是动态增加的,可以考虑使用“表”功能(Ctrl+T),它能在添加新行时提示是否扩展,但排序仍需手动或通过公式维护。
要点二:理解“小于等于”的边界在区间划分时,要特别注意边界值。在上面的绩效例子中,区间是[0,60)为D,[60,80)为C,[80,90)为B,[90, …)为A。这种“左闭右开”的区间是近似查找最自然的表达。如果你需要“左开右闭”或其他形式,就需要调整查找表中的“关键值”。例如,如果你想实现“大于80且小于等于90为B”,那么查找表里的B级对应值就应该设为80.0001(一个比80大的极小值),而不是80。
常见错误:最典型的错误就是忘记排序。当你发现近似查找结果完全不对时,第一个反应就应该是“我的查找列排序了吗?”。第二个错误是在该用精准查找(FALSE)的地方误用了近似查找(TRUE),导致匹配出错误的数据,这种错误比返回#N/A更可怕,因为它具有隐蔽性。
个人心得:我习惯为所有“区间匹配”场景单独建立一个参数表工作表,并命名为“标准”或“参数”。在这个表里,第一列(查找列)一定是升序排列的数值,并且我会在表旁边用注释明确写下区间的定义(如“>=90为A”)。这样,任何同事接手我的文件,都能一眼看懂这个VLOOKUP在干什么。对于边界处理,我有时会使用一个辅助列来更清晰地定义区间,但VLOOKUP的近似查找因其简洁,在标准区间划分上仍是首选。
4. 模糊查找的真面目:通配符的妙用
前面我们澄清了,VLOOKUP(…, TRUE)是“近似查找”,主要用于数值区间。那么,真正的文本“模糊查找”该如何实现呢?答案是:在精准查找(FALSE)模式下,使用通配符。
这才是处理文本模糊匹配的正确姿势。Excel支持两个通配符:
*(星号):代表任意数量的任意字符(0个、1个或多个)。?(问号):代表单个任意字符。
4.1 通配符模糊查找的实战应用
假设你有一个客户全名列表,现在你想根据输入的部分名称(比如只知道公司名里的关键词)来查找对应的联系人电话。
数据表(查找区域):
| 公司全名 | 联系人 | 电话 |
|---|---|---|
| 北京云创科技有限公司 | 张三 | 010-xxx1 |
| 上海云创数据有限公司 | 李四 | 021-xxx2 |
| 广州创新食品有限公司 | 王五 | 020-xxx3 |
场景一:查找以特定词开头的公司你想找所有以“北京”开头的公司信息。=VLOOKUP(“北京*”, $A$2:$C$4, 3, FALSE)这个公式会查找A列中以“北京”开头的任意文本,并返回电话。它会匹配到“北京云创科技有限公司”,返回010-xxx1。
场景二:查找包含特定词的公司你想找公司名里包含“云创”的公司信息。=VLOOKUP(“*云创*”, $A$2:$C$4, 3, FALSE)这个公式会查找A列中包含“云创”二字(无论前后有什么)的文本。它会匹配到第一行和第二行,但VLOOKUP只返回第一个匹配项,即“北京云创科技有限公司”的电话010-xxx1。
场景三:查找特定格式的文本你知道客户名是“张X”,但不确定中间那个字。=VLOOKUP(“张?”, $B$2:$C$4, 2, FALSE)这个公式会在联系人列(B列)查找以“张”开头,且只有两个字的姓名。它会匹配到“张三”,返回其电话。如果是“张三四”,则不会被?匹配(因为“三四”是两个字符)。
4.2 模糊查找的局限性与其替代方案
虽然通配符很强大,但VLOOKUP的模糊查找有一个致命的局限性:它只能返回第一个匹配到的结果。在上面的场景二中,明明有两家“云创”公司,但VLOOKUP只返回了第一个。这在很多需要汇总或列出所有匹配项的场景下是不够的。
此外,通配符查找依然是“精准查找”模式,它要求查找列必须是文本格式,且匹配模式固定。
当VLOOKUP的模糊查找力不从心时,我们需要更强大的工具:
- 需要返回所有匹配项:
FILTER函数(Office 365 / Excel 2021及以上)是完美选择。例如:=FILTER(C2:C4, ISNUMBER(SEARCH(“云创”, A2:A4)))会返回所有公司名包含“云创”的电话,形成一个数组。 - 更复杂的文本匹配:
XLOOKUP函数(新版本Excel)直接支持通配符,且语法更简洁。或者结合SEARCH/FIND函数(判断文本是否包含某字符串)与INDEX/MATCH组合,实现更灵活的查找。例如,用MATCH找到包含“云创”的第一个位置:=MATCH(“*云创*”, A2:A4, 0),再结合INDEX获取其他列信息。 - 多条件模糊查找:这通常是
VLOOKUP的盲区。你可以使用SUMIFS、COUNTIFS进行条件统计,或者使用INDEX/MATCH组合搭配多个条件。例如,查找公司名包含“云创”且联系人为“李四”的记录,VLOOKUP单函数无法实现。
个人心得:对于简单的、“只取第一个”的文本模糊查找,VLOOKUP配合通配符是快速解决方案。但在实际工作中,涉及文本模糊匹配的需求往往更复杂。我的建议是,尽早学习和过渡到INDEX/MATCH组合,或者直接拥抱Excel的新函数XLOOKUP和FILTER。它们不仅功能更强大,而且避免了VLOOKUP必须从第一列查找、返回列数容易数错等问题。把VLOOKUP的通配符用法当作一个快捷小技巧,而把INDEX/MATCH或XLOOKUP作为你查找引用工具箱里的主力军。
5. 三种模式的横向对比与决策流程图
为了让你在实战中能快速、准确地选择正确的模式,我将三者的核心区别总结成下表:
| 特性 | 精准查找 (VLOOKUP(…, FALSE)) | 近似查找 (VLOOKUP(…, TRUE)) | 模糊查找 (VLOOKUP(…, FALSE) + 通配符) |
|---|---|---|---|
| 核心目的 | 依据唯一标识符进行精确匹配核对。 | 依据数值区间进行等级/系数匹配。 | 依据文本模式进行部分内容匹配。 |
| 查找值类型 | 文本、数字均可,但双方格式须严格一致。 | 必须是数值,或可按数值顺序比较的数据。 | 必须是文本,或可被理解为文本的内容。 |
| 查找列要求 | 无排序要求,但重复值只返回第一个。 | 必须升序排列,否则结果错误。 | 无排序要求,但重复模式只返回第一个。 |
| 匹配逻辑 | 全等匹配(=)。查找值与查找列内容必须完全相同。 | 区间匹配(≤)。找小于等于查找值的最大值。 | 模式匹配(*, ?)。按通配符规则匹配文本模式。 |
| 返回结果 | 找到则返回对应值;找不到则返回#N/A。 | 找到区间则返回对应值;低于最小值返回#N/A。 | 找到匹配模式则返回第一个对应值;找不到则返回#N/A。 |
| 典型场景 | 根据工号查姓名、根据订单号查详情、数据核对。 | 分数转等级、按收入区间定税率、根据重量算运费。 | 根据关键词查公司、查找特定格式的编码(如A-???-001)。 |
根据这张表,你可以遵循下面的决策流程来选择模式:
第一步:明确你的查找值是什么?
- 是像工号、身份证号、订单号这样的“唯一代码”吗?→ 进入路径A。
- 是一个具体的数字,并且你想知道这个数字落在哪个范围/区间吗?→ 进入路径B。
- 是一段文本,并且你想根据这段文本里的部分关键词或特定格式来查找吗?→ 进入路径C。
第二步:根据路径选择模式。
- 路径A(唯一代码核对):选择精准查找(VLOOKUP(…, FALSE))。重点检查:双方数据格式(文本/数字)是否一致?有无空格等隐藏字符?
- 路径B(数值区间匹配):选择近似查找(VLOOKUP(…, TRUE))。重点检查:你的参数表(查找区域第一列)是否已经按升序排列妥当?
- 路径C(文本模式匹配):选择模糊查找(VLOOKUP(…, FALSE) + 通配符)。重点检查:你的需求是不是“只要找到第一个”就行?如果需要找到所有,请考虑
FILTER等函数。
第三步:验证与错误处理。
- 无论选择哪种模式,写好公式后,用几个典型值(特别是边界值)测试一下。
- 对于可能出现的
#N/A错误,使用IFERROR函数使其更美观,例如:=IFERROR(VLOOKUP(…), “未找到”)。
这个决策流程能覆盖95%的日常场景。剩下的5%,可能涉及多条件查找、反向查找、提取所有匹配项等,那就需要请出INDEX/MATCH、XLOOKUP、FILTER这些更高级的函数组合了。
6. 超越VLOOKUP:为何INDEX/MATCH是更优选择
在深入理解了VLOOKUP的三种模式之后,我必须向你介绍一个更强大、更灵活的组合:INDEX/MATCH。虽然本文主角是VLOOKUP,但作为一名资深用户,我认为知道“何时该换工具”同样重要。INDEX/MATCH几乎可以完成VLOOKUP的所有工作,并且规避了它的主要缺陷。
VLOOKUP的三大“硬伤”:
- 查找值必须在查找区域的第一列。这是最不灵活的一点,如果你的数据表结构不允许这样排列,就需要调整数据,非常麻烦。
- 插入/删除列会导致公式出错。因为
VLOOKUP的第三个参数是固定的列索引号。如果你在查找区域中间插入了一列,所有后续的列号都需要手动修改,否则就会取错数据。 - 从左到右查找。它只能返回查找列右侧的数据。如果你想返回查找列左侧的数据,VLOOKUP无能为力。
INDEX/MATCH组合如何解决?INDEX函数的作用是“根据位置,返回区域内对应单元格的值”。MATCH函数的作用是“查找某个值在某个区域中的位置”。 把它们结合起来:用MATCH找到行号,用INDEX根据这个行号和指定的列返回数据。
语法示例:假设你要在A2:A100中查找“张三”的位置,然后返回C2:C100中对应位置的值。=INDEX(C2:C100, MATCH(“张三”, A2:A100, 0))
MATCH(“张三”, A2:A100, 0):在A2:A100中精确查找(0代表精确匹配)“张三”,返回其所在的行号(相对于区域A2:A100)。INDEX(C2:C100, …):在C2:C100区域中,返回上一步得到的行号所对应的值。
它的优势显而易见:
- 突破方向限制:查找列(A列)和返回列(C列)可以是任意位置,
INDEX和MATCH的区域可以独立指定。轻松实现“向左查找”。 - 动态列引用:
INDEX的列可以是动态的。例如,INDEX($B$2:$Z$100, MATCH(…), MATCH(“单价”, $B$1:$Z$1, 0)),可以根据表头“单价”动态定位列,完全不怕中间插入新列。 - 性能更优:在处理大型数据表时,
INDEX/MATCH通常比VLOOKUP计算速度更快,因为它不需要处理整个表格区域。
个人迁移建议:如果你已经熟练掌握了VLOOKUP的三种模式,那么学习INDEX/MATCH的曲线会非常平缓。你可以从一两个简单的任务开始尝试替换,比如一次“向左查找”的需求,就是绝佳的练习机会。一旦你习惯了这种“先定位,再取值”的思维,你会发现它比VLOOKUP的“一站式”更清晰、更可控。对于Office 365用户,XLOOKUP函数是更现代的终极解决方案,它集成了VLOOKUP和INDEX/MATCH的优点,语法更简洁。但在此之前,掌握INDEX/MATCH能让你在任何版本的Excel中游刃有余。
7. 综合实战:从混乱需求到清晰公式的拆解过程
理论讲得再多,不如一个实战案例来得透彻。假设你现在是公司的销售数据分析员,手头有一个混乱的任务清单,我们一起来一步步拆解,并选择合适的VLOOKUP模式或替代方案来解决。
任务背景:你有一张“2024年订单明细表”,列包括:订单ID(A列),产品代码(B列),销售金额(C列),销售员(D列)。另有一张“产品信息表”,列包括:产品代码(F列),产品类别(G列),成本单价(H列)。还有一张“销售提成标准表”,列包括:金额下限(J列),金额上限(K列),提成比例(L列),此表已按金额下限升序排列。
你需要完成以下查询:
- 在订单明细表里,根据
产品代码,从产品信息表中查找并填入对应的产品类别。 - 计算每笔订单的毛利润:(销售金额 - 成本单价 * 数量)。数量需要从另一张“发货记录表”的
订单ID列匹配过来(假设该表订单ID在M列,数量在N列)。 - 根据每笔订单的
销售金额,在提成标准表中查找对应的提成比例,用于计算销售员提成。
拆解与公式选择:
任务1:根据产品代码查找产品类别。
- 分析:
产品代码是唯一标识符,需要精确匹配。查找值在订单表的B列,查找区域是产品信息表的F:H列,需要返回的产品类别在查找区域的第2列(G列)。 - 模式选择:精准查找(VLOOKUP(…, FALSE))。
- 公式实现:在订单明细表的E列(产品类别)输入:
=VLOOKUP(B2, $F$2:$H$100, 2, FALSE)B2:本行的产品代码(查找值)。$F$2:$H$100:产品信息表区域(查找区域),绝对引用。2:因为产品类别在查找区域F:H的第2列(F是1,G是2)。FALSE:精确匹配。
- 潜在坑点:确保两边的“产品代码”格式一致(都是文本或都是数字)。下拉公式前,先测试几个值。
任务2:根据订单ID查找发货数量。
- 分析:
订单ID也是唯一标识符,需要精确匹配。但注意,发货记录表中,订单ID在M列,数量在N列。我们需要根据A列的订单ID,去M列查找,并返回N列的数量。 - 模式选择:依然是精准查找。但这里有一个小问题:VLOOKUP要求查找值必须在查找区域的第一列。而在发货记录表中,
订单ID(M列)确实是第一列,数量(N列)是第二列,这符合要求。 - 公式实现:在订单明细表新增一列(如F列)输入:
=VLOOKUP(A2, $M$2:$N$500, 2, FALSE)A2:本行的订单ID。$M$2:$N$500:发货记录区域。2:数量在M:N区域的第2列。FALSE:精确匹配。
- 进阶思考:如果发货记录表的结构是
数量在M列,订单ID在N列(即查找列不在第一列),VLOOKUP就无法直接完成。这时就必须使用INDEX/MATCH:=INDEX($M$2:$M$500, MATCH(A2, $N$2:$N$500, 0))这个组合完美解决了“向左查找”的问题。
任务3:根据销售金额查找提成比例。
- 分析:
销售金额是一个数值,我们需要知道它落在哪个金额区间(由金额下限和金额上限定义),从而确定提成比例。提成标准表已按金额下限升序排列。 - 模式选择:典型的近似查找(VLOOKUP(…, TRUE))场景。
- 公式实现:在订单明细表新增一列(如G列)输入:
=VLOOKUP(C2, $J$2:$L$50, 3, TRUE)C2:本行的销售金额(查找值)。$J$2:$L$50:提成标准表区域。关键:第一列J列必须是金额下限,且已升序排序。3:提成比例在J:L区域的第3列。TRUE:近似匹配,查找小于等于销售金额的最大金额下限。
- 原理验证:假设提成标准是:0-9999元提成3%,10000-49999元提成5%,50000元以上提成8%。那么表应该是:
金额下限 金额上限 提成比例 0 9999 3% 10000 49999 5% 50000 8% 对于一笔38000元的销售,VLOOKUP会在 金额下限列找小于等于38000的最大值,即10000,然后返回该行第3列的5%。完全符合“10000-49999”这个区间。
通过这个综合案例,你可以看到,面对一个复杂的多步骤数据查询任务,核心在于冷静地拆解每一个子任务,判断其数据特征(是唯一码、数值区间还是文本模式),然后套用我们前面总结的决策流程,选择合适的VLOOKUP模式或升级方案。这种思路,远比死记硬背一个公式要重要得多。
