今天 有朋友留言:“ 你好!图中红色标记会对应两个不同的值。但我用的vlookup查找结果,两个是相同的。这种情况用什么公式能够完善查找呢?谢谢”。朋友附来的图片:
一看,这是“一对多查找”的问题,可以用高级筛选来实现。但,如果是用高级筛选,那如果原数据改变,还要重新筛选。研究出一个一对多查找的公式,现述如下:
把自编了一个进货量表,如下:
要求把鼠标几次的进货量填写到C12:C15的连续区域。
问题分析
VLOOKUP函数查找相同内容的相关数据,结果是返回该内容对应的第一个相关值。
所以,解决问题关键之处,就是要营造一个新的查找区域,让查找内容“鼠标”不再完全相同。
公式实现
在C2单元格输入公式“=VLOOKUP($B$12&ROW(B1),IF({1,0},$B$2:$B$9&COUNTIF(INDIRECT(“b2:b”&ROW($2:$9)),$B$12),$C$2:$C$9),2,0)”。
其中:
IF({1,0},$B$2:$B$9&COUNTIF(INDIRECT(“b2:b”&ROW($2:$9)),$B$12),$C$2:$C$9)的功能是实现一个新的查找区域:
INDIRECT(“b2:b”&ROW($2:$9)),$B$12)是分别指向b2:b2,b2:b3,b2:b4,b2:b5,b2:b6,b2:b7,b2:b8,b2:b9八个数组。
因为要用到数组计算,所以公式结束的时候要用“CTRL+SHIFT+ENTER”。