excel按条件在两个不同的表格中取数,其中一个表格为优先

如图要在图一中按姓名优先取图三中的薪级工资,如果图三中无数据则再取图二中的薪级工资数据

1、创建新的Excel工作表1。  

2、完成第一个操作后,构建另一个sheet2表单。  

3、向表1中添加辅助列(列B),并输入序列1、2、3、4、5、6、7、8、9、10。  

4、输入"=VLOOKUP(A1,工作表2!答:G,2,FALSE)”并按回车键,然后使用填充手柄下拉并将B1公式复制到B2~B10。  

5、完成第四步后,按升序对列B进行排序,以获得与表1相同的排序,之后,删除辅助列。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-09-30

截图有的带了行号和列标,有的没有。所以本来就不是很清楚,再还涂鸦。就更找不着北了。但应该明白了题主的意思,就是某人的工资先到Sheet2中去找,找到了就是取过来,找不到,就到Sheet1中去找,把数据取过来。但没有说明,Sheet2是否有这个人,但工资数据为0的情况。下面的公式中考虑了后一种情况。另外,只说薪级工资数据,但并没有说找哪一列,而Sheet1和Sheet2都有多列与工资有关的数据。自己根据公式修改下公式的数字到你实际要取的列吧,如VLOOKUP(C3,Sheet2!B$3:N$12,13,)中,13就是Sheet2中从B列N列,B列是第1列,N列是第13列,所取N列的工资数据。

D3=IFERROR(IF(IFERROR(VLOOKUP(C3,Sheet2!B$3:N$12,13,),VLOOKUP(C3,Sheet1!B$3:N$12,8,))=0,VLOOKUP(C3,Sheet1!B$3:N$12,8,),IFERROR(VLOOKUP(C3,Sheet2!B$3:N$12,13,),VLOOKUP(C3,Sheet1!B$3:N$12,8,))),"没找到数据")

第2个回答  2019-09-30

按照你的格式,这里表三无数据包括按人名查不到或查到薪级工资是0

D4=IFERROR(IF(VLOOKUP(C4,Sheet2!B$3:J$100000,9,FALSE)<>0,VLOOKUP(C4,Sheet2!B$3:J$100000,9,FALSE),VLOOKUP(C4,Sheet1!B$3:J$100000,9,FALSE)),VLOOKUP(C4,Sheet1!B$3:J$100000,9,FALSE))

其他行鼠标下拉拷贝即可

第3个回答  2019-09-30
=iferror(vlookup(c4,sheet2!$B$4:$J$9,7,false),vlookup(c4,sheet1!$B$4:$J$9,6,false))
注意引用区域如果我写错了,改成您实际的引用区域。本回答被提问者采纳