利用VLOOKUP引用的数据如果重复怎么处理?

来源:百度知道 编辑:UC知道 时间:2024/05/12 17:44:37
比如SHEET1中D1的公式为VLOOKUP(A1,SHEET2!E1:H300,4,0),只要在sheet1的A1输入sheet2!E列中相应数据,就可以在D1中出现sheet2中E列对应的H列数据,比如A1为sheet2!E100中的数据,D1应当显示sheet2!H100的数据。可是如果sheet2!E列中有相同的数据的话,比如sheet2!E120、E150中数据都与sheet2!E100数据相同,在A1中输入sheet2!E120时,D1显示的数据还是sheet2!H100的数据,并没有显示sheet2!H120的数据,请教高手怎么解决?。
比如表sheet2!中A列为提单号,数据为:A1=NZZHA01,A2=NSCN0003,A3=MPCN0002,A4=NZZHA01,A5=SS610.02;
B列为产地,数据为:B1=新西兰,B2=新西兰,B3=新西兰,B4=澳大利亚,B5=马来西亚,一一对应。
现在需要在表sheet1!中A1单元格中输入提单号,例如写入公式“=sheet2!A2”后,要在表sheet1!B1单元格中显示对应的产地,例如在sheet1!B1中输入公式“VLOOKUP(A1,SHEET!A1:B5,2,0),”,B1显示为“新西兰”,即表sheet1!B1中显示的数据为表sheet2!中A2对应的B2;
但是由于sheet2!中A列中的A1与A4提单号相同,在sheet1!中A1写入“=sheet2!A1”和写入“=sheet2!A4”后,在sheet1!B1中都是显示为“新西兰”,请教高手,如何在sheet1!中A1写入“=sheet2!A4”时,在sheet1!B1中显示为对应的“澳大利亚”?

另外说明:只能在sheet1!中的A1和B1单元格出现数据,不能下拉

这是VLOOKUP函数本身确定了的,就是不管有多少符合条件的数据,它只返回第一个找到的数据,出现这种情况要用其它函数解决,根据邮件与楼主的交流,给出如下公式“=INDEX(提单号!D:D,SMALL(IF(提单号!$A$3:$A$1000=码单!$M$2,ROW(提单号!$A$3:$A$1000)),ROW(A1)),)”,注意这个是数组公式,需按CTRL+SHIFT+ENTER三键结束,公式向下拖。

这样把满足同一提单号的“澳大利亚”和“新西兰”都提取出来了。

根据楼主要求,想了个办法,在提单号表中增加一个辅助列,用“=A3&COUNTIF(A$3:A3,A3)”形成新一列数据,在码单表中依然用VLOOKUP函数“=VLOOKUP(M2,提单号!B:E,4,FALSE)”,达到了楼主的要求。