在excel中查找多个值

时间:2016-08-24 19:40:34

标签: excel excel-formula

excel公式是否有办法在excel的2d矩阵中查找多个值?例如:

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}可能会很长。

2 个答案:

答案 0 :(得分:5)

将搜索条件分别放在一个单元格中:

enter image description here

然后使用这个公式:

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

enter image description here

如果您想对数字进行硬编码,那么您可以这样做:

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

答案 1 :(得分:2)

我非常喜欢@ ScottCraner的答案,我只是稍微不同,但使用了相同的技巧。

对我来说,我将年份值列在N列中:

N1 = 2015
N2 = 2016

我希望用于O列中查找的列:

O1 = 2
O2 = 4
O3 = 6

然后,我使用了以下内容(作为数组公式输入 - 意味着在将其放入后按CTRL + SHIFT + ENTER):

=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)

同样,斯科特的答案是完全正确的,我只是以不同的方式添加以获得相同的结果。

希望它可以帮助您或其他面临同样挑战的人。