在excel中查找多个值

有没有办法让Excel公式在Excel中查找2dmatrix中的多个值? 例如:

sum(vlookup({2015,2016},Matrix,{2,4,6},False)) = 3 + 4 + 5 + 2 + 3 + 2 2014 1 3 7 11 9 2 2015 3 6 4 12 5 8 2016 2 1 3 99 2 6 

我不一定要使用函数vlookup,但是我更喜欢不必使用相同的函数多次然后求和它们,因为列表{2015,2016}可能会很长。

把你的search标准放在一个单元中:

在这里输入图像描述

然后使用这个公式:

 =SUMPRODUCT(ISNUMBER(SEARCH($A$1:$A$3,J1))*ISNUMBER(SEARCH(COLUMN($B$1:$G$3),K1))*$B$1:$G$3) 

在这里输入图像说明


如果你想硬编码的数字,那么你可以这样做:

 =SUMPRODUCT(ISNUMBER(SEARCH($A$1:$A$3,"2015,2016"))*ISNUMBER(SEARCH(COLUMN($B$1:$G$3),"2,4,6"))*$B$1:$G$3) 

我很喜欢@ ScottCraner的回答,我只是略微改变了一些,但是使用了相同的技巧。

对我来说,我把N年的数值放在N列如下:

 N1 = 2015 N2 = 2016 

我想用列O中的查找列:

 O1 = 2 O2 = 4 O3 = 6 

然后,我使用以下( 作为数组公式按照 CTRL + SHIFT + ENTER键input):

 =SUMPRODUCT(ISNUMBER(MATCH(A1:A3,$N$1:$N$2,0))*ISNUMBER(MATCH(COLUMN(A1:G3)-COLUMN(A1)+1,$O$1:$O$3,0))*A1:G3) 

再次,斯科特的答案是完全正确的,我只是以不同的方式添加到达到相同的结果。

希望它能帮助你或者其他面临同样挑战的人。