首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

你做梦都想不到,Vlookup函数竟然可以这么用!

Vlookup函数的教程到处都是,做梦都想不到的用法是不是太夸张了?嘿嘿,是不是夸张,看完下面这个问题你再判断。

【问题】如下图所示,要求把B列每个单元格中的电缆规格(红色字体部分),用公式提取到C列中。

这是一个Excel高手看到都会头痛的难题。首先提取的内容在换行后的单元格中,其次它在单元格的行次不定。

对于这样的问题,我们可能会想到的函数有FIND、MID等字符串处理函数,好像和本文主角Vlookup函数八杆子也够不着。耐心看完兰色的思路解析,你就知道Vlookup函数在这里的用法有多妙。

思路解析:

首先,用FIND查找到“规格”在字符串的位置,再+3(“规格: ”占3个字符)正好是要截取的开始位置。

=FIND("规格",B2)+3

虽然截取的开始位置计算出来了,但每个规格的长度不定。该截多少合适呢?

在大致判断规格最大长度不大于100的前提下,用MID函数截取99次,截取的个数分别是1,2,3,4,5....99

=MID(B2,FIND("规格",B2)+3,ROW(1:99))

注:row(1:99)可以生成1~99的99个数字

截取的结果是99行字符。(当字符

W

WD

WDZ

WDZA

WDZA-

WDZA-YJY23-1.8/3kv

WDZA-YJY23-1.8/3kv 3

WDZA-YJY23-1.8/3kv 3*

WDZA-YJY23-1.8/3kv 3*7

WDZA-YJY23-1.8/3kv 3*70+1*35

WDZA-YJY23-1.8/3kv 3*70+1*35

WDZA-YJY23-1.8/3kv 3*70+1*354

WDZA-YJY23-1.8/3kv 3*70+1*354.

WDZA-YJY23-1.8/3kv 3*70+1*354.材

WDZA-YJY23-1.8/3kv 3*70+1*354.材料

上面这么多行中,有2行看上去是我们想要的(蓝色和红色行),可能有同学不太明白,明明截取的个数不同,为什么会有两个看似相同的结果。答案是因为红色行有强制换行符的存在,虽然它不可见,但它也占一个位置。

而正是有这个换行符,我们就可以用Vlookup的模糊查找把它给挑选出来。

=VLOOKUP("*"&CHAR(10),MID(B2,FIND("规格",B2)+3,ROW(1:99)),1,0)

注:在Vlookup函数可以借用*实现模糊查找,而char(10)表示换行符。"*"&CHAR(10)表示查找以换行符结尾的字符。

因为公式需要向下复制,ROW(1:99)还需要锁定行数ROW($1:99),最终的公式为:

=VLOOKUP("*"&CHAR(10),MID(B2,FIND("规格",B2)+3,ROW($1:$90)),1,0)

注:因为这个一个数组公式,非office365版本还需要在公式最后按ctrl+shift+enter以数组形式输入。

兰色说:看完本文,是不是被VLOOKUP的巧妙用法给震撼到了。在Excel中千万不要认为你已精通了某个函数,因为只学习的只有它的最最最基本用法,而应用扩展是千变万化的。

另外,2月11日还有一个大型函数实例讲解直播,同学们也可以提前预约。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20230130A00QQL00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券