我有一个名为常数的Excel,名为“ SheepGrams”,其值为500。我也需要其他动物的值,例如“ PigGrams”,“ ChickGrams”。我想通过串联单元格值来获取它们的值。
= INDIRECT(A1&B1)仅适用于命名范围,其中A1包含“ Pig”,而B1包含“ Grams”。它不会返回命名常量值
= INDIRECT(A1&B1)返回#REF,但如果结果是命名范围,而不是名称管理器中的命名常量,则可以使用
答案 0 :(得分:0)
我认为这可能是对命名常量的限制,因为它们不返回范围,因此Indirect()
不知道该名称所返回的返回值将如何处理。
作为一种可能的解决方法,您可以像以下这样弯曲UDF:
Public Function INDIRECT2(rangeName As String) As String
INDIRECT2 = Split(ThisWorkbook.Names(rangeName).RefersTo, "=")(1)
End Function
或者您也可以将常量放在另一张工作表中,并使用命名范围,以便您可以尝试执行任何操作。