在Excel中汇总2个或更多的VLOOKUP

我有一个单元需要总结3个不同的值,但我不想使用相对/绝对单元格引用,因为源数据每年都会更改,因此单元格引用每年都需要重新指向。

我已经使用VLOOKUP来处理只显示1个值的单元格,但是我找不到将两个或多个VLOOKUP的结果相加的方法。 另外,3个值中的每一个都有不同的标准,因此我认为我需要3个独立的VLOOKUP函数。

有没有办法做到这一点?

这是我用过的公式,它返回一个' #N / A '错误:

= vlookup(“10000”,datatable,3,false)+ vlookup(“10001”,datatable,3,false)+ vlookup(“10002”),datatable,3,false)+等等等

非常感谢罗布先生

以下是一个简单的3个VLOOKUP求和的例子:

=SUM(VLOOKUP("A",A1:B3,2,FALSE),VLOOKUP("E",A5:B7,2,FALSE),VLOOKUP("I",A9:B11,2,FALSE)) 

我把3个简单的表,每个3行和2列,并将查找值加在一起。 所以我查找A并返回1E返回5 ,然后返回9 。 然后我总结他们,并返回15 。 🙂

提供唯一可以改变的部分就是lookup_value (就像你的情况那样),那么,不要写多个不同的VLOOKUP子句,然后将它们相加(这可能会导致构build一个非常长的结构),你可以使用一个单一的,等价的VLOOKUP设置。

所以,而不是,例如:

=VLOOKUP("X",DataTable,3,FALSE)+VLOOKUP("Y",DataTable,3,FALSE)+VLOOKUP("Z",DataTable,3,FALSE)

我们可以使用较短的:

=SUM(VLOOKUP(T(IF(1,{"X","Y","Z"})),DataTable,3,FALSE))

或者,为了更大的灵活性,如果我们在工作表内的某个连续范围内有“X”,“Y”和“Z”,例如H1:H3 ,则:

=SUM(VLOOKUP(T(IF({1},H1:H3)),DataTable,3,FALSE))

如果标准不是文本string,而是数字,那么我们可以使用N而不是T :例如,如果我们正在寻找,而不是“X”,“Y”和“Z”,但是1,2和3,则我们将使用:

=SUM(VLOOKUP(N(IF(1,{1,2,3})),DataTable,3,FALSE))

要么:

=SUM(VLOOKUP(N(IF({1},H1:H3)),DataTable,3,FALSE))

如果我们的标准包含文本和数字的混合,例如“X”,“2”和“Z”,那么我们需要一个稍微不同的方法,尽pipe我会把它留给另一个post!

参考文献:

https://excelxor.com/2014/09/05/index-returning-an-array-of-values/

问候

我的妈呀。 停止使用VLOOKUP ,每个人。 INDEXMATCH一起更清洁,整洁,不易出错。

现在,对于你在做什么,你也不需要。 为什么不检查SUMIFS

在你的情况下,它会看起来像这样

 =SUMIFS(Sumcolumn;Criteriacolumn;10000;Criteriacolumn2;10001,...) 

而且,即使你的sumcolumns是不同的 – 总结几个sumifs比总结几个vlookups更容易,因为如果空引用,vlookup会抛出一个#N #N/A ,而sumifs将返回0 。 如果您希望只使用一个公式就可以达到更高的效率,请使用SUMPRODUCT – 但是这是一个需要编写一些练习的公式。