excel函数,vlookup怎样操作同时满足2个条件的数据匹配?用的WPS

如下图这样,图一和图二B列里的数据顺序是错开的,这是两个表格文件,有很多数据,复制起来比较麻烦,怎么样才能快速的匹配出来,C列后面还有四列数据,还有左右怎么样才能快速填充?求大神指导!万分感谢

同时满足两列数据的匹配,可以使用数组公式,也可以用辅助列。用VLOOUP也可以,用其他函数也可以,总之需要组合或者嵌套。
第一种方法:用辅助列,这个最简单,辅助列做好直接vlookup就行,也比较快。缺点是操作程序过多,耗费时间。不用我多说吧,把两列甚至多列的数据给合并成一列,作为VLOOKUP的索引。
第二种方法,用数组公式将条件列合并起来,再用VLOOKUP。缺点是数据量大的话, 运算速度慢。
第三种方法:用数组进行多条件判断,符合条件的显示行号,然后再用INDEX函数偏移。
第四种方法:写代码,用VBA。
第一种方法操作较多,反复操作的话,效率会降低。第二种方法,数据量大一些的话,运行速度就很慢,第三种方法, 也是数组,跟第二种一样,只是换个思路。
第四种方法:做好宏代码之后,运行最简单,一键完成,速度快。但是需要懂 VBA,需要会写代码。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-11-27

1、先在图二表(Sheet2)插入辅助列(假设是D列)。

2、在Sheet2的D1输入

=LOOKUP("座",A$1:A1)

回车并向下填充(该列可以隐藏)。

3、在图一表(Sheet1)的C2输入

=SUMPRODUCT((Sheet2!D$2:D$100=LOOKUP("座",A$1:A2))*(Sheet2!B$2:B$100=B2)*Sheet2!C$2:C$100)

回车并向下填充。

你要用VLOOKUP()也行。公式改为:

=VLOOKUP(LOOKUP("座",A$1:A2)&B2,IF({1,0},Sheet2!D$2:D$100&Sheet2!B$2:B$100,Sheet2!C$2:C$100),2,)

数组公式,输入后先不要回车,按Ctrl+Shift+Enter结束计算,再向下填充。

我倒喜欢用索引函数INDEX():

=INDEX(Sheet2!C$2:C$100,MATCH(LOOKUP("座",A$1:A2)&B2,Sheet2!D$2:D$100&Sheet2!B$2:B$100,))

也是数组公式,操作同VLOOPUK()

第2个回答  2019-11-27
选择表1的A列,取消单元格合并。
选择A列,F5或CTRL+G,定位条件,空值,确定。
输入等于号和向上的箭头,CTRL+ENTER。
选择A列,粘贴数值。
右键单击A列列标,插入(一个空白列)。
在A2中输入或复制粘贴下列公式
=B2&C2
下拉填充
表2的操作步骤,同上。
在表1的D2中输入或复制粘贴下列公式
=VLOOKUP(A2,表2!A:D,4,)
下拉填充
当然,两表取消单元格合并,填充相应的数据后,可用LOOKUP(1,0/((学校匹配)*(专业匹配),人数区域)非数组公式或INDEX+MATCH数组公式来求解。追问

麻烦再问下,如果表二里有的数据表一里没有怎么再快速找出来,并且插入在对应学校的下面

第3个回答  2019-11-27
=VLOOKUP($B2,OFFSET(Sheet2!$B$2,MATCH(LOOKUP("𬺓",$A$2:$A2),Sheet4!$A:$A)-1,,99,3),COLUMN(B2),)
第4个回答  2019-11-27
需要建立一个辅助列
学校是合并单元格