使用SumProduct使用Address获取范围

时间:2014-10-14 20:53:09

标签: excel

我正在处理使用sumproduct方程的工作表。这个公式失败了:

=SUMPRODUCT($D2:$K2, INDIRECT( ADDRESS(MATCH($B2,P_OIL,0) + ROW(P_OIL) -1, 4 ) &":"& ADDRESS(   MATCH( $B2, P_OIL, 0) + ROW(P_OIL) - 1, 11)))

我尝试单独使用地址功能查看结果。

=ADDRESS( MATCH($B2,P_OIL,0) + ROW(P_OIL) - 1, 4 )

返回$ D $ 43

=ADDRESS( MATCH($B2,P_OIL,0) + ROW(P_OIL) - 1, 11) 

返回$ K $ 43

因此,SumProduct应介于$ D2:$ K2和$ D $ 43:$ K $ 43之间;但是,返回“#VALUE”错误。我已经尝试更改范围的绝对引用,但这没有任何效果。通过INDIRECT函数明确定义第一个范围是否存在问题?

1 个答案:

答案 0 :(得分:1)

要根据数据列中的匹配返回整行,这就是您在该公式的第二部分中所做的事情,通常最好使用INDEX,例如如果你想匹配C3:C100中的B2并返回相应的行,列D到K然后使用此设置:

INDEX(D3:K100,MATCH(B2,C3:C100,0),0)

在INDEX中使用零作为列参数为您提供整行

您应该可以在SUMPRODUCT中使用它,根据您的设置细节调整范围。