使用间接引用单元格来创建公式
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))")
我想使用这个数组公式并使用间接引用单元格地址,其中它会显示 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))")