首页 文章

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

提问于
浏览
1

我想采用这个数组公式并使用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 回答

  • 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

相关问题