excel - 使用动态命名范围进行级联数据验证的问题

标签 excel excel-formula

我使用两个单元格进行数据验证 - 第一个单元格 (E9) 仅根据范围 A2:A6 创建一个下拉菜单,第二个单元格 (E10) 验证使用源间接(E9),其中将始终引用五个不同命名范围之一。

当我固定命名范围(即 A2:A250)时,第二个下拉菜单有效,但我确实需要动态范围,到目前为止,我一直在使用以下“源”公式创建命名范围:

=OFFSET(LookupLists!$B$2,0,0,COUNTA(LookupLists!$B:$B),1)

仅 C-F 列中的其他范围完全相同。

当我写出这个公式时,它会突出显示屏幕上的正确区域,但单元格 E10 中的下拉按钮完全没有响应,而下拉列表应显示突出显示的确切区域。

请注意,列表本身是使用数组公式和一些 VBA 代码创建的,以根据电子表格的另一部分创建排序的唯一列表,因此我无法像其他一些表一样使用表格来创建范围网站已建议。

最佳答案

INDIRECT 不适用于动态范围。感谢这些人提供的解决方案:

http://chandoo.org/forum/threads/passing-a-named-range-to-a-formula-with-indirect.5854/#post-32423

首先,将模块插入到工作表中并粘贴到 UDF 中:

Option Explicit

Function RetrieveRangeForName(psRange As String) As String
    RetrieveRangeForName = Range(psRange).Address
End Function

那么您将需要一个辅助单元,因为我认为 UDF 在“数据验证”对话框中不起作用。在 E11 中,输入 =RetrieveRangeForName(E9)

然后在Data Validation中,设置为List,可以输入:=INDIRECT(E11)

关于excel - 使用动态命名范围进行级联数据验证的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37281021/

相关文章:

excel - 如何创建非特定的 COUNTIF 公式?

python - 使用 Openpyxl 将 IF 公式插入 excel 后出现 "@"符号

excel - 检查一列中的一个值是否在另一列中

excel - 按列名查找列并保留该列的特定值并删除所有其他数据,包括空白

vba - 无法自动格式化存储为字符串的数字

Mysql从excel导入新代码

excel - 如何从这个计算平均价格的简单 Excel 公式中排除特定行(基于单元格值)?

excel - 未排序集的唯一编号

excel - 查找包含特定文本的第一行和最后一行

excel - 为什么在尝试设置范围时会收到 424 Object Required 错误?