如何评估包含命名范围的文本字符串? 我尝试EVAL,EVALUATE和INDIRECT没有成功。
多一点..
对于另一个系统,我有50多个包含200多个变量的公式,下面是一个例子:
<ABC>+<DEF>/<TRE-1>
为了能够在Excel中一次性使用它们而无需手动更改每个公式,变量和运算符,我使用几个(或更多)SUBSTITUTE公式来呈现Excel可能能够消化的字符串:
=ABC+DEF/TRE_1
我将所有变量引用到命名范围。例如:
ABC是细胞B2,值5.4DEF是细胞B3,值3.2
TRE_1是单元格B4,值1
但是我无法通过INDIRECT或EVALUATE获得结果字符串。 它只是给我一个#NAME或#REF错误,因为它似乎无法将变量识别为命名范围(因此也是一个值)。
有什么想法吗?
我不想在VBA中实现它。我知道可以使用.RefersTo方法..
答案 0 :(得分:4)
尝试使用以下语法:
=INDIRECT("ABC")+INDIRECT("DEF")/INDIRECT("TRE_1")
注意引用。似乎INDIRECT
的工作原理是:=INDIRECT("ABC+DEF")
返回#REF!
另见此示例:https://www.dropbox.com/s/jxj7cgjmnx8iv0t/INDIRECTwithNamedRegions.xlsx
答案 1 :(得分:0)
INDIRECT dows不评估公式,只评估引用:您需要使用Evaluate,但这只能通过XLM或COM接口使用。
您可以在定义的名称公式中嵌入Evaluate,但这种方法通常是不切实际的。
答案 2 :(得分:0)