使用间接引用单元格来创建公式

Use indirect to reference a cell to create formula

我想使用这个数组公式并使用间接引用单元格地址,其中它会显示 MAX、MIN、AVERAGE 或 SUM。

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

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

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

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

感谢您的帮助。

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

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

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

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