我在Excel工作表中设置了命名范围,我用它来为数据验证下拉列表提供值。我的源代码公式基本上是这样的:
=INDIRECT( "OnePartOfTheRangeName" & "AnotherPart" )
范围根据行中的另一个值而变化,这就是我必须组合字符串等的原因。
我想在数据验证列表中添加一个额外的值,但我没有运气。我认为,如果有某种“联盟”功能,我可以将INDIRECT列表与单个值组合,但我无法找到这样的功能。
有谁知道解决我问题的另一种方法?
答案 0 :(得分:0)
Excel的错误信息非常具体(事实上,这是一个很好的改变!):
所以我怀疑在尝试直接方法时付出太多努力。我记住,三年没有解决一个完全可以理解的问题可能意味着“这是不可能的”。
然而,间接方法可能会起作用,但是因为某些细节可能缺失 - 例如,目前如何构建命名范围。出于说明的目的,假设名为Part1
并且引用R1:R12,末尾有空白(允许扩展空间)和中间空白(显示多功能性)。假设'另一部分'被命名为Part2
并且指的是S1:S10,也是在中间和结尾(以及在开始时)的空白。
数据验证可能是一个List,其源:=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 + Shift + 输入输入(由Get Digital Help提供)并向下复制到T22。
这是动态的,例如在ColumnR中添加一个条目会将其添加到ColumnT中,而ColumnT又会添加到验证下拉列表中。
缺点包括如果S
和T
条目未排序且下拉列表中的“扩展空间”仍然明显,则下拉列表不会按顺序排序。
答案 1 :(得分:-2)
附件是an example,在Excel中显示三个列表,可以合并为一个验证列表。所有列表都是可变的,因此您可以添加/减去项目,它将更新到验证列表中。
任何超过三个列表都需要认真编码,因为只使用Excel就会有点复杂。
红色文本基本上是辅助字段,用于显示最终公式的构造方式,但并非真正需要。 Cell [J2]是pulldown。您可以添加到A,B或C列中的任何列表。
基本上,它使用Name Manager
来定义公式以及OFFSET
和COUNTA
的组合,以确定针对ROW
的总项目