excel双重匹配功能

来源:百度知道 编辑:UC知道 时间:2024/05/26 12:35:11
表1
列1 列2
1998 2
1999 2
2000 2
2001 2
2002 2
2003 2
2004 2
2005 2
2006 2
1998 4
1999 4
2000 4
2001 4
2002 4
2003 4
2004 4

表2
列1 列2 列3
1 1998 764,339,191
1 2003 -2,818,771
1 2004 12,528,755
1 2005 17,025,380
1 2006 75,950,146
2 1998 202,092,921
2 1999 15,705,266
2 2000 29,493,680
2 2001 183,129,165
2 2002 -6,770,201
2 2003 15,068,418
2 2004 -11,159,211

如何从表2里找出和表1代码相同,年度相同的表2的第三列数值,并导到表1对应位置?
运用excel中的函数公式

这个题确实是比较难,我试了几次才找到一个比较完美的公式写法。
如你的表中所列的的数据,sheet1中A1~A16为年份,B1至B16为代码,
sheet2中,A1至A12为代码,B1至B12为年份,C1至C12为数据。想实现你的要求,需要用数组公式进行编辑,在Sheet1的C1单元格内输入以下公式:
=IF(ISNA(INDEX(Sheet2!$C$1:$C$16,MATCH(B1&A1,Sheet2!$A$1:$A$12&Sheet2!$B$1:$B$12,0))),"",INDEX(Sheet2!$C$1:$C$16,MATCH(B1&A1,Sheet2!$A$1:$A$12&Sheet2!$B$1:$B$12,0)))
然后CTRL+shift+回车结束数组公式的输入。注意:三键结束后,公式在编辑栏中两端有大括号,那是数组公式的标志,而且不是打上的。
然后指向C1单元格向下拖动进行公式填充,到C12单元格,
这样,有数据的显示,无数据的,显示为空白。
公式的核心是:INDEX(Sheet2!$C$1:$C$16,MATCH(B1&A1,Sheet2!$A$1:$A$12&Sheet2!$B$1:$B$12,0))这是数组公式将两个检索条件并成一个条件的关键一步。另外的if函数与isna函数主要是为了解决公式查询不到值时显示的#N/A这个错误提示的作用。不影响公式的计算过程。

表一的C1输入公式:
=sumproduct((sheet2!$A$1:$A$12=B1)*(sheet2!$B$1:$B$12=A1)*sheet2!$C$1:$C$12)
下拉

也许我能帮到你,但要把这些数据复制到excel里面才能说得比较明白,我暂时没空,我等会再来.

我觉得你应该给点分吧