EXCEL中用VLOOKUP时,引用的数据有重复,怎么办?我是在做一个学生宿舍的违纪次数统计。

这个是源数据表,暂且叫SHEET1吧,

这个是想要输入并自动填充班级列的表,暂且叫SHEET2。我是想在表2的女生1#楼这列输入宿舍号,班级列依据表1中的内容自动填充相应的班级。但是,如420这个宿舍, 是两个班混合的,所以出现了引用数据重复的问题,怎么办呢?我想让它不只显示第一个数值“7”,还要显示第二个,或者更多符合条件的数值,怎么实现呢?
我套的时候是这样的,错在哪里了?F2=INDEX(Sheet1!$B:$B,SMALL(IF(Sheet1!$A$2:$A$100=Sheet2!$E2,ROW(Sheet1!$A$2:$A$100),1000),COLUMN(Sheet1!A:A)))&""

做个样表,实现你的意图,不过公式麻烦点,Vlookup()函数实现不了

详情见截图

F2输入

=INDEX($B:$B,SMALL(IF($A$2:$A$100=$E2,ROW($2:$100),1000),COLUMN(A:A)))&""

先按下 CTRL+SHIFT,最后按回车键

公式右拉下拉

追问

看着你做出来的挺对的,可我试了一下,不成功,因为我理解的不够透彻,能麻烦你讲解一下这个公式吗?另外,我需要分在两张表上进行,所以在用你的公式时加了一下表名称,是哪里套错了?

追答

=INDEX(Sheet1!$B:$B,SMALL(IF(Sheet1!$A$2:$A$100=Sheet2!$E2,ROW(Sheet1!$A$2:$A$100),1000),COLUMN(Sheet1!A:A)))&""
公式改成
=INDEX(Sheet1!$B:$B,SMALL(IF(Sheet1!$A$2:$A$100=$E2,ROW($2:$100),1000),COLUMN(A:A)))&""

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-09-11
没先到什么好的公式
=INDEX(Sheet1!$B:$B,SMALL(IF(Sheet1!$A$2:$A$10=$A$2,ROW($2:$10),99),ROW(A1)))&""
数组公式
专门查找420的
查找其他的唯一值直接用vlookup就好

或者直接用透视表做吧,这个比较简单
第2个回答  2013-09-11
你可以sheet1 再加入两列,排序换下在sheet2 中在g列再重新抓取一次数据就可以了