我有一些命名范围,有些是单细胞NamedRanges,其他是多细胞。
当我在工作簿的任何单元格中使用"=AnyNameofSingleCellNamedRange"
时,它会返回它的值。
但是当我使用"=AnyNameofMultiCellNamedRange"
时会返回#VALUE错误,说明它的数据类型错误。
答案 0 :(得分:2)
如果将= MultiCellNamedRange输入到与Excel引用的范围相同的行中的单元格中,则会执行隐式交集并为您提供值,即指定范围和行的交集。如果没有交叉点,那么你会得到#Value。
如果使用Control-shift-Enter输入= MultiCellNamedRange作为多单元数组公式,则Excel不会执行隐式交集,并将从多单元名称范围返回值数组。
答案 1 :(得分:2)
从多单元命名范围访问数据的最简单方法是INDEX函数。例如:
=INDEX(AnyNameofMultiCellNamedRange,2)
这给出了多细胞命名范围的第二个值。
=INDEX(AnyNameofMultiCellNamedRange,2, 3)
在2D数组中,它显示第2行和第3列上单元格的值。
在VBA中,它甚至更简单 - 您可以像引用任何其他数组一样引用它。例如:
x = AnyNameofMultiCellNamedRange (2,3)
请注意,如果在命名范围之后的括号中没有(x,y)或(x)引用,则实质上是说“make x = to the whole array”。
答案 2 :(得分:1)
=AnyNameofMultiCellNamedRange
实际上是返回一个值数组。根据公式的物理位置,您可能会看到其中一个值或#VALUE!
错误。
要查看单个值,您可以在相同尺寸范围内将其作为数组公式输入,也可以使用“索引”功能查看单个值。它将在带有数组参数的函数中按要求工作。