我有以下公式:
英语 =VERSCHUIVING($AJ$9;0;0;$AJ$17;1)
或Offset($AJ$9,0,0,$AJ$17,1)
AJ9是垂直选项列表的开头,AJ17是该列表的长度。
我在命名范围内使用它,并使用Indirect
功能将其用于数据验证。当我想从这个命名范围的列表中选择一个参数时,没有任何内容出现,并且当输入间接公式时,它表示它评估为错误。我尝试使用cmd + shift + enter
将公式作为数组公式输入,它只显示Cell AJ9的值,而不是向下扩展到数组。
任何使这项工作的建议(在excel for mac上)
编辑:
刚试过一个Windows版本,也没有成功。当我打开名称管理器并输入公式时,它确实显示正确选择周围的虚线。但是,当我打开数据验证时,它仍会评估为错误。
EDIT2:
如果我在单元格中输入=CriticalPractice
(我的命名范围的名称),它会突出显示单元格AJ9和AJ17。当我按下回车时,我得到#VALUE!
。如果我将其作为数组公式输入,我将获得单元格AJ9的值。
答案 0 :(得分:1)
数据验证中不允许组合使用动态定义的名称和INDIRECT
。在这种情况下,您需要使用EVALUATE
,尽管您应该注意,尽管没有调用显式VBA,但仍然需要将工作簿保存为启用宏。
例如,假设单元格AL7
包含文本,例如“Name1”,将被解释为定义名称,即 Name1 (其定义为您提供的OFFSET
构造),然后在名称管理器中进行以下附加定义:
姓名: Name2
指: =EVALUATE($AL$7)
之后,可以使用 List 选项获取数据验证列表并输入:
=Name2
。
此致