网友提问:
EXCEL中如何使用VLOOKUP函数提取单元格字符串中的数值?
优质回答:
感谢邀请,雷哥跟大家分享下如何使用vlookup函数提取字符。
基本知识讲解
① Vlookup函数语法
② MID函数和LEFT函数讲解
大家理解了vlookup函数和MID等函数的基本含义后,下面我们一起来看看,如何使用vlookup提取数字。
Vlookup提取数字
大家先来看效果,输入公式,按下【ctrl+shift+enter】后,可以发现数值已经提取出来了。 修改数字后,数字依然可以自动提取出来。
那么,公式那么长,很多小伙伴估计会说,“哀家搞不懂,宝宝心里苦”。鉴于此,雷哥来跟大家讲解下公式哈,请大家认真阅读哦。
=VLOOKUP(9E+307,MID(A1,MIN(IF(ISNUMBER(–MID(A1,ROW($1:$99),1)),ROW($1:$99))),ROW($1:$99))*{1,1},2)
① 参数1:9E+307: 是科学计数法,是指9*10^307,表示很大的数字;常被用来数字查找。
② 参数2:MID(A1,MIN(IF(ISNUMBER(–MID(A1,ROW($1:$99),1)),ROW($1:$99))),ROW($1:$99))*{1,1}, 查找区域。
-Min函数,表示取最小值;
-IF函数,逻辑函数;
-ISNUMBER,返回数值数据;
-ROW,返回数据的行号。
③ 参数3:2,表示返回第2列;
④ 参数4:省略了,表示模糊查询;
先用MID+ ROW函数对字符串截取每一位字符,在用ISNUMBER判断数据类型是否是数值类型。对于数值类型的数据,返回其位置数,并用MID函数提取最小值(数值的第一个符号的位置,即数字起点),然后从该位置做为起点,截取1-99之前的数值。
因为MID提取的是文本,因此需要数据*1,把数据格式转化为数值格式。
最后,借助Vlookup函数的模糊查询,返回目标结果。
常见错误汇总:
萌新小西瓜了解了Vlookup函数的基本语法,可还是经常会遇到一些错误。于是满怀期待了走进了雷哥诊室,希望能够药到病除。
1 查找目标和查找区域第一列的格式不一致
场景:萌新小西瓜需要通过员工工号查询到电脑号码。使用
=VLOOKUP(G3,A2:D12,4,1) 查询时,返回错误值#N/A 。
诊断分析:雷哥通过他的火眼金睛,立马就发现了问题。这是因为查找值(11208)与查找范围第一列(工号)数据格式不一致导致的。
药方:通过【分列】功能,把G列的数据转化为常规格式
2 查找目标不在查找区域的第一列
场景:萌新小西瓜需要通过员工姓名查询到电脑号码。使用 =VLOOKUP(G3,A2:D12,4,FALSE)查询时,返回错误值#N/A 。
诊断分析:雷哥指出,这是因为查找目标(金鹏)不在查找区域(A2:D12)的第一列。
药方:因此只要把查找区域改为B2:D12,返回列数改为3即可
3 返回的列数超过了查询的范围
场景:萌新小西瓜需要通过员工姓名查询到电脑号码。使用 =VLOOKUP(G3,B2:D12,4,FALSE)查询时,返回错误值#REF!。
诊断分析:萌新小西瓜来到雷哥诊所,发现了问题所在。查找区域一共是3列,而返回值则是4,即返回第4列,因此出现了错误。
药方:返回列数由4改为3即可
① 可以通过Vlookup提取文本中的数字,关键是参数2的理解;
② 使用Vlookup时,有常见的3种错误。平时一定要引起注意!
雷哥:自媒体【雷哥office】创始人,《竞争力:玩转职场Excel,从此不加班》作者,微软Excel专家认证,office培训师,职场老司机,分享职场经验 / 办公技能 / 提高职场效率!
其他网友回答
office2016之后的版本都可以用Ctrl+E智能提取,无需用函数