excel 用vlookup函数,怎么实现两个表通过两列关联合并,在线等!

比如 sheet 1
证券代码 日期 年龄
000001 12/31/2000 53.43478
000001 12/31/2001 52.88462
000001 12/31/2002 52.57692
000001 12/31/2003 53.68
000001 12/31/2004 51.70833
000001 12/31/2005 51.53846
000002 12/31/2000 41.88
000002 12/31/2001 41.09091
000002 12/31/2002 41.68421
000002 12/31/2003 42.88889
000002 12/31/2004 43.6
000002 12/31/2005 44.04762

然后sheet 2
代码 日期 薪酬
000001 12/31/2001 790000
000001 12/31/2002 1300000
000001 12/31/2003 1660000
000001 12/31/2004 2290000
000001 12/31/2005 9686100
000002 12/31/2001 1310000
000002 12/31/2002 1410000
000002 12/31/2003 1770000
000002 12/31/2004 5150000
000002 12/31/2005 8180000

结果是
代码 日期 年龄 薪酬
000001 12/31/2000 53.43478
000001 12/31/2001 52.88462 790000
000001 12/31/2002 52.57692 1300000
000001 12/31/2003 53.68 1660000
000001 12/31/2004 51.70833 2290000
000001 12/31/2005 51.53846 9686100
000002 12/31/2000 41.88
000002 12/31/2001 41.09091 1310000
000002 12/31/2002 41.68421 1410000
000002 12/31/2003 42.88889 1770000
000002 12/31/2004 43.6 5150000
000002 12/31/2005 44.04762 8180000
在线等!

假设需要把Sheet2中对应A、B列的薪资补充到Sheet1的D列;

1、双击Sheet1的D2单元格,输入公式:

=SUM((Sheet2!$A$2:$A$11=A2)*(Sheet2!$B$2:$B$11=B2)*Sheet2!$C$2:$C$11)

数组公式,按Ctrl+Shift+Enter 结束输入;

见图一

2、选中Sheet1的D2单元格,下拉填充至表格内的D列,实际结果

见图二

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-08-30
如何使用Excel中的INDEX和MATCH函数命令实现多个条件匹配情况下数据提取下面的示例使用 INDEX 和 MATCH 工作表功能来根据多个条件查找值。

在你的sheet1 D2单元格输入下边的公式,输完后ctrl+shift+回车,然后下拉填充。

=INDEX(Sheet2!$C$2:$C$11,MATCH(Sheet1!A2&Sheet1!B2,Sheet2!$A$2:$A$11&Sheet2!$B$2:$B$11,0))

解释:
=index(目标值所在区域,match(索引值1&索引值2,索引区域1&索引区域2,0)
索引值、索引区域如超过2个,都可以用&符号对应地列在后边
第2个回答  2012-08-27
sheet1的D1单元格输入公式
=IFERROR(VLOOKUP(A1,SHEET2!A:C,3,0),"")
下拉填充

如果是2003版需要重新写个公式
=IF(COUNTIF(SHEET2!A:A,A1)=0,"",VLOOKUP(A1,SHEET2!A:C,3,0))追问

这个我已经试过了 结果是这样的 所以是错误的 麻烦你看看有什么方法改进的 谢谢啦
000001 12/31/2000 53.43478 790000 000002 12/31/2000 41.88 1310000

000001 12/31/2001 52.88462 790000 000002 12/31/2001 41.09091 1310000

000001 12/31/2002 52.57692 790000 000002 12/31/2002 41.68421 1310000
000001 12/31/2003 53.68 790000 000002 12/31/2003 42.88889 1310000

追答

加510809100帮你在线解决,可能你的系统数据有问题

本回答被提问者采纳
第3个回答  2012-08-27
vlookup有限制,只能引发现条件的第一行数据。看了你的表,两表的代码都有重复,不能简单地用Vlookup,这两个表后面还有别的数据吗?