欢迎转发和点一下“在看”,文末留言互动!
置顶公众号或设为星标及时接收更新不迷路
小伙伴们好,今天来和大家分享一道简单的查找题目。我可以肯定的说,我们使用的最频繁的查找函数一定是VLOOKUP函数,它是初学者最早接触的函数之一,具有非常高的使用频率。今天的这道题目就和VLOOKUP函数有关。
原题目是这样的:
题目要求很简单,找到绰号就可以了。
观察一下源数据结构,姓名在左侧,绰号在右侧,正好可以使用VLOOKUP函数来查找。唯一的麻烦就是,源数据是多列分布的。也就是说,还要解决查找区域的问题。
01
多列源数据,VLOOKUP函数也能找到目标值
在单元格I2中输入下列公式,三键确认即可。
=VLOOKUP(H2,OFFSET(A$2:A$13,,MAX(IF($A$2:$F$13=H2,COLUMN($A:$F)))-1,,2),2,0)
公式不复杂,简单介绍一下。想要获得动态的查找区域,首先要确定列号。
IF($A$2:$F$13=H2,COLUMN($A:$F))
利用IF函数做条件判断,并返回对应的列号。这部分的结果是一个12行6列的内存数组。由于姓名具有唯一性,因此返回的列号也是唯一的。
MAX(IF($A$2:$F$13=H2,COLUMN($A:$F)))
这样,我们通过MAX函数就可以得到列号了。
OFFSET(A$2:A$13,,MAX(IF($A$2:$F$13=H2,COLUMN($A:$F)))-1,,2)
以单元格区域A2:A13为基点,向右偏移。偏移量来自于MAX函数的返回值再减去1。
VLOOKUP(H2,OFFSET(A$2:A$13,,MAX(IF($A$2:$F$13=H2,COLUMN($A:$F)))-1,,2),2,0)
最后,利用VLOOKUP函数返回正确答案。
本期内容练习文件提取方式:
链接: https://pan.baidu.com/s/1_03W_Gac9YVQTi0qo9xOTw?pwd=nmbq 提取码: nmbq
-END-
长按下方二维码关注EXCEL应用之家
面对EXCEL操作问题时不再迷茫无助
我就知道你“在看”