我正在处理使用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函数明确定义第一个范围是否存在问题?
答案 0 :(得分:1)
要根据数据列中的匹配返回整行,这就是您在该公式的第二部分中所做的事情,通常最好使用INDEX,例如如果你想匹配C3:C100中的B2并返回相应的行,列D到K然后使用此设置:
INDEX(D3:K100,MATCH(B2,C3:C100,0),0)
在INDEX中使用零作为列参数为您提供整行
您应该可以在SUMPRODUCT中使用它,根据您的设置细节调整范围。