我有一个单元需要将3个不同的值相加,但我不想使用相对/绝对单元格引用,因为源数据每年都会更改,因此单元格引用每年都需要重新指向。
我已经将VLOOKUP用于只需要显示1个值的单元格,并且一切正常,但我找不到将2个或更多VLOOKUP的结果加在一起的方法。此外,3个值中的每一个都有不同的标准,因此我认为我需要3个单独的VLOOKUP函数。
有没有办法做到这一点?
这是我使用的公式,它会返回“ #N / A ”错误:
= VLOOKUP( “10000”,数据表,如图3所示,假)+ VLOOKUP( “10001”,数据表,如图3所示,假)+ VLOOKUP( “10002”),数据表,如图3所示,假)+ ...等等等。
非常感谢提前 罗布
答案 0 :(得分:1)
以下是对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
并返回1
,E
并返回5
,I
并返回9
。然后我总结它们并返回15
。 : - )
答案 1 :(得分:0)
提供唯一的变化部分是 lookup_value (在您的情况下似乎是这样)然后,而不是写出多个不同的VLOOKUP
子句,然后对它们求和(这可能会导致在确实非常长的构造中,您可以使用单个,等效的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))
如果条件不是文本字符串,而是数字,那么我们可以使用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”,那么我们需要一种稍微不同的方法,不过我会把它留给另一篇文章!
参考文献:
https://excelxor.com/2014/09/05/index-returning-an-array-of-values/
此致
答案 2 :(得分:0)
天哪。每个人都停止使用VLOOKUP
。 INDEX
和MATCH
一起更干净,更整洁,更不容易出错。
现在,对于你正在做的事情,你也不需要。为什么不查看SUMIFS
在你的情况下,它看起来像这样
=SUMIFS(Sumcolumn;Criteriacolumn;10000;Criteriacolumn2;10001,...)
而且,即使你的sumcolumns彼此不同 - 总结几个sumifs比总结几个vlookup更容易,因为vlookup将抛出#N/A
如果为空引用,而sumifs将返回{ {1}}。如果您只想使用一个公式来提高效率,请使用0
- 但这是一个需要一些练习才能编写的公式。