如何将两个带公式的命名范围合并为一个数组型命名范围
解决方案
方法1:直接在公式中合并两个命名范围
不需要额外定义CombinedRange,直接在CUBEMEMBER的参数里用数组常量把两个命名范围组合起来:
=CUBEVALUE("ThisWorkbookDataModel",CUBEMEMBER("ThisWorkbookDataModel",{NamedRange1,NamedRange2}),CUBEMEMBER("ThisWorkbookDataModel","[Measures].[Sum of A3]"))
这里{NamedRange1,NamedRange2}会生成一个水平数组,和你之前用O7:P7单元格区域的效果完全一致。
方法2:定义独立的CombinedRange命名范围
如果你一定要单独定义一个合并后的数组型命名范围,按以下步骤操作:
- 打开Excel的名称管理器(公式选项卡 → 名称管理器)
- 新建一个名称,命名为
CombinedRange - 在「引用位置」中输入以下公式(根据你的Excel版本选择):
- 适用于Excel 365/2021及以上版本:
={NamedRange1,NamedRange2} - 兼容旧版Excel(2019及更早):
=CHOOSE({1,2},NamedRange1,NamedRange2)
- 适用于Excel 365/2021及以上版本:
- 保存后,你的
formula.1就可以改成:=CUBEVALUE("ThisWorkbookDataModel",CUBEMEMBER("ThisWorkbookDataModel",CombinedRange),CUBEMEMBER("ThisWorkbookDataModel","[Measures].[Sum of A3]"))
注意事项
- 确保
NamedRange1和NamedRange2返回的是有效的CUBEMEMBER路径文本,和你之前手动写的"[Table1].[A1].&[A]"格式一致 - 若需要垂直数组(对应类似
O7:O8的单元格区域),把数组常量里的逗号改成分号即可:{NamedRange1;NamedRange2}或CHOOSE({1;2},NamedRange1,NamedRange2)
内容的提问来源于stack exchange,提问作者Rafi Ur Rehman
相关产品推荐
相关产品推荐

