使用indirect来引用单元格以创建公式

时间:2016-05-23 17:06:54

标签: arrays excel formula

我想采用这个数组公式并使用Indirect来引用一个单元格地址,它可以表示MAX,MIN,AVERAGE或SUM。

{=MAX(IF(($A$2:$A$10=$F$1)*($B$2:$B$10=$F$2),$C$2:$C$10,""))}

如果单元格地址E3包含MAX,那么我试图这样做:

{=INDIRECT((E3)(IF(($A$2:$A$10=$F$1)*($B$2:$B$10=$F$2),$C$2:$C$10,"")))}

该公式导致#REF!间接(E3)部分的错误。一旦我们能够使它工作,我们可以复制公式,如果列E表示MAX,MIN,SUM或AVERAGE,则运行正确的间接公式。

enter image description here

感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

如果您对UDF持开放态度,请将其放在工作簿附带的模块中:

Function formulaConcat(ref As Range, form As String) As Variant
    formulaConcat = ActiveSheet.Evaluate(ref.Value & form)
End Function

然后你需要输入如下公式:

=formulaConcat(E3,"(IF(($A$2:$A$10=$F$1)*($B$2:$B$10=$F$2),$C$2:$C$10))")

enter image description here