2012-08-31 25 views
1

我在Excel工作表中有一个命名范围设置,我使用它来提供数据验证下拉列表的值。我的源公式,基本上,这样的:我可以向名称范围添加值吗?

=INDIRECT("OnePartOfTheRangeName" & "AnotherPart") 

基于行的另一个值范围变化,所以这就是为什么我要的字符串相结合等

我想一个额外的价值增加数据验证列表,但没有任何运气。我认为,如果有某种“联合”功能,我可以将INDIRECT列表与单个值结合使用,但我一直无法找到这样的功能。

有谁知道解决我的问题的另一种方法?

回答

-2

附加的是an example在Excel中显示三个列表,它们可以组合成一个验证列表。所有列表都是可变的,所以你可以添加/减去项目,它会更新到验证列表中。

任何超过三个列表都需要认真编码,因为它只使用Excel就会有点复杂。

红色文本本质上是帮手字段,显示最终公式是如何构建的,但并非真正需要。单元格[J2]是下拉。可以添加到任何列表中列A,B或C.

本质上,它使用Name Manager定义式和的OFFSETCOUNTA的组合来确定针对ROW

+2

-1对于删除的文件而不是在这里指出公式 – Aprillion

0

Excel的总项是在其错误消息相当具体(事实上​​,相当一个不错的变化!):

SO12207603 example

所以我怀疑在试图直接的办法值得太多精力。我记住,三年没有解决完全可以理解的问题可能意味着“这是不可能的”。

但是,间接方法可能会起作用,尽管可能会丢失一些细节 - 例如目前您的命名范围是如何构建的。为了说明的目的,假设名称为Part1并且指的是R1:R12,末端带有空格(为了有扩展空间)和空白在中间(以显示通用性)。假设'另一部分'被命名为Part2,并且涉及S1:S10,同样在中间和末尾(以及在开始处)也有空白。

数据验证可能是一个列表,其来源:=whole是范围T1:T22,名为whole

T1随后将被填充:

=IFERROR(INDEX(Part1,SMALL(IF(ISBLANK(Part1),"",ROW(Part1)-MIN(ROW(Part1))+1),ROW(A1))),IFERROR(INDEX(Part2,SMALL(IF(ISBLANK(Part2),"",ROW(Part2)-MIN(ROW(Part2))+1),ROW(A1)-SUMPRODUCT(--NOT((ISBLANK(Part1)))))),"")) 

(获取数字帮助提供)与按Ctrl ++输入进入和向下复制到T22。

这是动态的,因为在ColumnR中添加一个条目,例如将其添加到ColumnT中,然后添加到验证下拉列表中。

缺点包括下拉未排序如果ST条目不排序,在下拉的“扩展空间”保持明显的。

相关问题