首页 > 解决方案 > 如何从两个单元格值中获取名称连接的命名常量值?

问题描述

我有一个名为“SheepGrams”的常量名为“SheepGrams”,值为 500。我也需要其他动物的值,例如“PigGrams”、“ChickGrams”。我想通过连接单元格值来获取它们的值。

=INDIRECT(A1&B1) 仅适用于命名范围,其中 A1 包含“Pig”,B1 包含“Grams”。它不会返回命名常量值

=INDIRECT(A1&B1) 返回 #REF,但如果结果是命名范围而不是名称管理器中的命名常量,则有效

标签: excel-formula

解决方案


我认为这可能是命名常量的限制,因为它们不返回范围,所以Indirect()不知道如何处理名称返回的返回值。

作为一种可能的解决方法,您可以创建一个 UDF,例如:

Public Function INDIRECT2(rangeName As String) As String
    INDIRECT2 = Split(ThisWorkbook.Names(rangeName).RefersTo, "=")(1)
End Function

或者你可以把你的常数放在另一张纸上并使用命名范围,这样你就可以完成你想做的任何事情。


推荐阅读